Skip to content

Derive archs value directly from input#66

Open
jdolitsky wants to merge 1 commit intochainguard-dev:mainfrom
jdolitsky:fix-publisher
Open

Derive archs value directly from input#66
jdolitsky wants to merge 1 commit intochainguard-dev:mainfrom
jdolitsky:fix-publisher

Conversation

@jdolitsky
Copy link
Copy Markdown

The current implementation is attempting to assign local.archs from the apko config output. This is leading to an error 'The "for_each" set includes values derived from resource attributes that cannot be determined until apply.

This instead grabs the archs as provided in the input config

The current implementation is attempting to assign
local.archs from the apko config output. This is leading to
an error 'The "for_each" set includes values derived from
resource attributes that cannot be determined until apply.

This instead grabs the archs as provided in the input config

Signed-off-by: Josh Dolitsky <josh@dolit.ski>
}

locals { archs = toset(concat(["index"], data.apko_config.this.config.archs)) }
locals { archs = toset(concat(["index"], try(jsondecode(var.config).archs, []))) }
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this mean that var.extra_packages or var.default_annotations are derived from resources not known at apply time because this wouldn't work if it were var.config 🤔

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

im not sure i completely follow, but the difference with those fields are they are used only as inputs into the apko provider. the archs however is used down below in a for_each statement causing the error on PR description. It's not clear how this was working previously

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

error is

for_each = var.skip_attest ? [] : local.archs
    ├────────────────
    │ local.archs is a set of dynamic, known only after apply
    │ var.skip_attest is false

The "for_each" set includes values derived from resource attributes that
cannot be determined until apply, and so Terraform cannot determine the full
set of keys that will identify the instances of this resource.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants