Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Some Alpine-based packages must be locked when building with terraform

Open
#33 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 2 days

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
48/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
terraform

Research direction

Start by reproducing the Alpine package configuration with terraform apply and inspect .terraform/modules/latest.this/main.tf at line 72, where the Invalid index error is reported. Trace how unpinned packages are represented before that expression runs. Done means the configuration completes without the Invalid index errors while retaining package locking behavior.

Written by the indexing model from the issue text.

Description

With the following config (alpine-base):

contents:
  packages:
    - alpine-baselayout-data
    - alpine-release
    - apk-tools
    - busybox
    - libc-utils

on terraform apply, we get the following obscure error:

╷
│ Warning: unable to lock certain packages
│ 
│   with module.latest.module.this.data.apko_config.this,
│   on .terraform/modules/latest.this/main.tf line 17, in data "apko_config" "this":
│   17: data "apko_config" "this" {
│ 
│ [alpine-release]
╵
╷
│ Warning: unable to lock certain packages for 386
│ 
│   with module.latest.module.this.data.apko_config.this,
│   on .terraform/modules/latest.this/main.tf line 17, in data "apko_config" "this":
│   17: data "apko_config" "this" {
│ 
│ [libcrypto3 libssl3 musl musl-utils]
╵
╷
│ Warning: unable to lock certain packages for amd64
│ 
│   with module.latest.module.this.data.apko_config.this,
│   on .terraform/modules/latest.this/main.tf line 17, in data "apko_config" "this":
│   17: data "apko_config" "this" {
│ 
│ [libcrypto3 libssl3 musl musl-utils]
╵
╷
│ Warning: unable to lock certain packages for arm/v6
│ 
│   with module.latest.module.this.data.apko_config.this,
│   on .terraform/modules/latest.this/main.tf line 17, in data "apko_config" "this":
│   17: data "apko_config" "this" {
│ 
│ [libcrypto3 libssl3 musl musl-utils]
╵
╷
│ Warning: unable to lock certain packages for arm/v7
│ 
│   with module.latest.module.this.data.apko_config.this,
│   on .terraform/modules/latest.this/main.tf line 17, in data "apko_config" "this":
│   17: data "apko_config" "this" {
│ 
│ [libcrypto3 libssl3 musl musl-utils]
╵
╷
│ Warning: unable to lock certain packages for arm64
│ 
│   with module.latest.module.this.data.apko_config.this,
│   on .terraform/modules/latest.this/main.tf line 17, in data "apko_config" "this":
│   17: data "apko_config" "this" {
│ 
│ [libcrypto3 libssl3 musl musl-utils]
╵
╷
│ Warning: unable to lock certain packages for ppc64le
│ 
│   with module.latest.module.this.data.apko_config.this,
│   on .terraform/modules/latest.this/main.tf line 17, in data "apko_config" "this":
│   17: data "apko_config" "this" {
│ 
│ [libcrypto3 libssl3 musl musl-utils]
╵
╷
│ Warning: unable to lock certain packages for riscv64
│ 
│   with module.latest.module.this.data.apko_config.this,
│   on .terraform/modules/latest.this/main.tf line 17, in data "apko_config" "this":
│   17: data "apko_config" "this" {
│ 
│ [libcrypto3 libssl3 musl musl-utils]
╵
╷
│ Warning: unable to lock certain packages for s390x
│ 
│   with module.latest.module.this.data.apko_config.this,
│   on .terraform/modules/latest.this/main.tf line 17, in data "apko_config" "this":
│   17: data "apko_config" "this" {
│ 
│ [libcrypto3 libssl3 musl musl-utils]
╵
╷
│ Error: Invalid index
│ 
│   on .terraform/modules/latest.this/main.tf line 72, in resource "cosign_attest" "slsa-provenance":
│   72:         for k in data.apko_config.this.config.contents.packages : split("=", k)[0] => split("=", k)[1]
│ 
│ The given key does not identify an element in this collection value: the given index is greater than or equal to the length of the
│ collection.
╵
╷
│ Error: Invalid index
│ 
│   on .terraform/modules/latest.this/main.tf line 72, in resource "cosign_attest" "slsa-provenance":
│   72:         for k in data.apko_config.this.config.contents.packages : split("=", k)[0] => split("=", k)[1]
│ 
│ The given key does not identify an element in this collection value: the given index is greater than or equal to the length of the
│ collection.
╵
╷
│ Error: Invalid index
│ 
│   on .terraform/modules/latest.this/main.tf line 72, in resource "cosign_attest" "slsa-provenance":
│   72:         for k in data.apko_config.this.config.contents.packages : split("=", k)[0] => split("=", k)[1]
│ 
│ The given key does not identify an element in this collection value: the given index is greater than or equal to the length of the
│ collection.
╵
╷
│ Error: Invalid index
│ 
│   on .terraform/modules/latest.this/main.tf line 72, in resource "cosign_attest" "slsa-provenance":
│   72:         for k in data.apko_config.this.config.contents.packages : split("=", k)[0] => split("=", k)[1]
│ 
│ The given key does not identify an element in this collection value: the given index is greater than or equal to the length of the
│ collection.
╵
╷
│ Error: Invalid index
│ 
│   on .terraform/modules/latest.this/main.tf line 72, in resource "cosign_attest" "slsa-provenance":
│   72:         for k in data.apko_config.this.config.contents.packages : split("=", k)[0] => split("=", k)[1]
│ 
│ The given key does not identify an element in this collection value: the given index is greater than or equal to the length of the
│ collection.
╵
╷
│ Error: Invalid index
│ 
│   on .terraform/modules/latest.this/main.tf line 72, in resource "cosign_attest" "slsa-provenance":
│   72:         for k in data.apko_config.this.config.contents.packages : split("=", k)[0] => split("=", k)[1]
│ 
│ The given key does not identify an element in this collection value: the given index is greater than or equal to the length of the
│ collection.
╵
╷
│ Error: Invalid index
│ 
│   on .terraform/modules/latest.this/main.tf line 72, in resource "cosign_attest" "slsa-provenance":
│   72:         for k in data.apko_config.this.config.contents.packages : split("=", k)[0] => split("=", k)[1]
│ 
│ The given key does not identify an element in this collection value: the given index is greater than or equal to the length of the
│ collection.
╵
╷
│ Error: Invalid index
│ 
│   on .terraform/modules/latest.this/main.tf line 72, in resource "cosign_attest" "slsa-provenance":
│   72:         for k in data.apko_config.this.config.contents.packages : split("=", k)[0] => split("=", k)[1]
│ 
│ The given key does not identify an element in this collection value: the given index is greater than or equal to the length of the
│ collection.
╵
╷
│ Error: Invalid index
│ 
│   on .terraform/modules/latest.this/main.tf line 72, in resource "cosign_attest" "slsa-provenance":
│   72:         for k in data.apko_config.this.config.contents.packages : split("=", k)[0] => split("=", k)[1]
│ 
│ The given key does not identify an element in this collection value: the given index is greater than or equal to the length of the
│ collection.
╵

this is resolved by locking the package referred to in the error:

contents:
  packages:
    - alpine-baselayout-data
    - alpine-release==3 # <--------
    - apk-tools
    - busybox
    - libc-utils

Dominant language
HCL
Stars
28
Forks
25
Avg merge
4d 31m
Merged PRs (30d)
6

Getting set up

We have not checked this project's setup files yet. Start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from wolfi-dev/tools

All issues in wolfi-dev/tools

Similar issues

More DevOps issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.