Feature Summary
Migrate --deployer argocdhelm (Argo CD app-of-apps with dynamic-values injection via root valuesObject) to the uniform numbered local-chart layout. Transformation logic simplifies because input is single-source path-based when Chart.yaml is present.
Parent: #516. Depends on --deployer argocd adopting the base format (sub-issue 3).
Problem / Use Case
--deployer argocdhelm delegates to the argocd deployer and transforms its output — wrapping per-component Applications in a parent Helm chart so ArgoCD can inject cluster-specific values via valuesObject on the root Application (OCI-publishable bundles per ADR-025). Once the argocd deployer adopts the base format (sub-issue 3), argocdhelm should follow so the whole app-of-apps chain consumes one layout.
Proposed Solution
argocdhelm's transformApplication handles both input shapes from the argocd deployer:
- Input is path-based single-source (wrapped Kustomize / raw-manifest-only, or vendored Helm): transformation shortens — no multi-source → single-source flip needed. Injecting
helm.values: {{ .Values.<key> }} into the single source is straightforward.
- Input is multi-source (non-vendored pure Helm): transformation semantics match today. The existing multi-source → single-source conversion stays in place for this branch.
The static/ directory convention reconciles with per-component ownership: treat NNN-<name>/values.yaml as the static layer; put only dynamic-path stubs in the root chart's values.yaml.
Success Criteria
- argocdhelm's transformation handles both input shapes without branching on component kind.
- Dynamic-values injection via root
valuesObject keeps working end-to-end.
- Wrapped Kustomize / raw-manifest-only components pass through argocdhelm correctly.
- KWOK e2e against
--deployer argocdhelm passes for both non-vendored and vendored bundles.
make qualify clean; test coverage gate satisfied.
docs/user/cli-reference.md updated.
Alternatives Considered
- Keep argocdhelm on the old multi-source transformation path only. Rejected: leaves the deployer diverged from the base format once sub-issue 3 lands.
- Rewrite argocdhelm to generate Applications from scratch instead of delegating to argocd. Rejected: keeps today's delegation pattern (changes to the argocd deployer flow through automatically) and avoids duplicating Application generation.
Component
Bundlers (gpu-operator, network-operator, etc.)
Priority
Important (would improve my workflow)
Compatibility / Breaking Changes
File-path renames in the generated bundle (auto-regenerated; no migration). Root chart values.yaml now pulls static layer per-component from NNN-<name>/values.yaml, with only dynamic stubs at root.
Operational Considerations
- End-to-end air-gap validation (block upstream chart registries at the Argo repo-server layer) confirms the
--vendor-charts + --deployer argocdhelm claim.
Are you willing to contribute?
Maybe, with guidance
Feature Summary
Migrate
--deployer argocdhelm(Argo CD app-of-apps with dynamic-values injection via rootvaluesObject) to the uniform numbered local-chart layout. Transformation logic simplifies because input is single-source path-based when Chart.yaml is present.Parent: #516. Depends on
--deployer argocdadopting the base format (sub-issue 3).Problem / Use Case
--deployer argocdhelmdelegates to theargocddeployer and transforms its output — wrapping per-component Applications in a parent Helm chart so ArgoCD can inject cluster-specific values viavaluesObjecton the root Application (OCI-publishable bundles per ADR-025). Once the argocd deployer adopts the base format (sub-issue 3), argocdhelm should follow so the whole app-of-apps chain consumes one layout.Proposed Solution
argocdhelm's
transformApplicationhandles both input shapes from the argocd deployer:helm.values: {{ .Values.<key> }}into the single source is straightforward.The
static/directory convention reconciles with per-component ownership: treatNNN-<name>/values.yamlas the static layer; put only dynamic-path stubs in the root chart'svalues.yaml.Success Criteria
valuesObjectkeeps working end-to-end.--deployer argocdhelmpasses for both non-vendored and vendored bundles.make qualifyclean; test coverage gate satisfied.docs/user/cli-reference.mdupdated.Alternatives Considered
Component
Bundlers (gpu-operator, network-operator, etc.)
Priority
Important (would improve my workflow)
Compatibility / Breaking Changes
File-path renames in the generated bundle (auto-regenerated; no migration). Root chart
values.yamlnow pulls static layer per-component fromNNN-<name>/values.yaml, with only dynamic stubs at root.Operational Considerations
--vendor-charts + --deployer argocdhelmclaim.Are you willing to contribute?
Maybe, with guidance