deploy/stacks/self-managed/helmfile.d/02-core.yaml.gotmpl documents a needs: edge that had to be removed. Read the comment on the admin-issuer-proxy release for the full root cause: helmfile 1.1.9 processes releases layer-by-layer rather than strictly DAG-aware, so adding a needs: put the release in DAG layer 2 where it waited on all layer-1 peers rather than its actual prerequisite. When an unrelated layer-1 release hung, layer-2 releases were silently skipped — helmfile list reported them installed while helm list -A showed no release.
Meanwhile Makefile.dist pins helmfile to 1.1.x because 1.2.0+ processes helmfile.d/ in parallel and breaks the implicit alphabetical stage ordering the stack currently depends on.
So the stack is wedged: the version that preserves today's implicit ordering is the version that makes explicit ordering hazardous. Resolving this is a prerequisite for declaring the real dependency graph.
deploy/stacks/self-managed/helmfile.d/02-core.yaml.gotmpldocuments aneeds:edge that had to be removed. Read the comment on theadmin-issuer-proxyrelease for the full root cause: helmfile 1.1.9 processes releases layer-by-layer rather than strictly DAG-aware, so adding aneeds:put the release in DAG layer 2 where it waited on all layer-1 peers rather than its actual prerequisite. When an unrelated layer-1 release hung, layer-2 releases were silently skipped —helmfile listreported them installed whilehelm list -Ashowed no release.Meanwhile
Makefile.distpins helmfile to 1.1.x because 1.2.0+ processeshelmfile.d/in parallel and breaks the implicit alphabetical stage ordering the stack currently depends on.So the stack is wedged: the version that preserves today's implicit ordering is the version that makes explicit ordering hazardous. Resolving this is a prerequisite for declaring the real dependency graph.