Skip to content

fix(charts): quote the eval-reports-bucket WorkflowTemplate param (null -> empty string)#36

Merged
stxkxs merged 1 commit into
mainfrom
fix/eval-bucket-param-null
Jun 8, 2026
Merged

fix(charts): quote the eval-reports-bucket WorkflowTemplate param (null -> empty string)#36
stxkxs merged 1 commit into
mainfrom
fix/eval-bucket-param-null

Conversation

@stxkxs

@stxkxs stxkxs commented Jun 8, 2026

Copy link
Copy Markdown
Member

What

The eval-runner WorkflowTemplate's eval-reports-bucket param used value: REPLACE_BY_APPLICATIONSET (unquoted). When the bucket is empty (chart default — eks-gitops injects it per-cluster from an annotation that's blank until cluster-bootstrap publishes it), the substitution yields value:YAML null. Argo Workflows v4.0+ (chart 1.0.x, just bumped) rejects a null param value (must be of type string); v3.6 accepted it — so this only surfaced after the argo-workflows major bump. Quoted the placeholder so an empty substitution stays an empty string.

How it was caught

A kx (kind) live apply against the real v4.0 Argo CRD — helm template + kubeconform missed it (kubeconform skips the WorkflowTemplate CRD schema; value: is valid YAML, just null). This is the value of the live pass.

Verification

Re-ran the operator install on the live kx cluster (v4.0 CRD present): WorkflowTemplate applies, param[7]=eval-reports-bucket="" (string), operator 2/2 Ready. Chart 0.2.0 → 0.2.1.

…ll -> empty string)

The eval-runner WorkflowTemplate's eval-reports-bucket parameter used an unquoted
`value: REPLACE_BY_APPLICATIONSET`. When the bucket is empty (the chart default — eks-gitops injects
it per-cluster from an annotation that's blank until cluster-bootstrap publishes it), the substitution
produced `value:` which YAML parses as null. Argo Workflows v4.0+ (chart 1.0.x) rejects a null
parameter value ("must be of type string"); v3.6 accepted it, so this only surfaced once argo-workflows
was bumped across the major. Quoting the placeholder keeps an empty substitution a valid empty string.

Caught by a kx (kind) live apply against the v4.0 CRD — helm template + kubeconform missed it
(kubeconform skips the WorkflowTemplate CRD schema; `value:` is valid YAML). Chart 0.2.0 -> 0.2.1.
@stxkxs stxkxs merged commit ad37d21 into main Jun 8, 2026
@stxkxs stxkxs deleted the fix/eval-bucket-param-null branch June 8, 2026 03:55
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.

1 participant