Skip to content

fix: extract create-gateway mini-chart for delayed CRs#481

Open
emmanuel wants to merge 3 commits into
mainfrom
fix/separate-create-gateway-chart
Open

fix: extract create-gateway mini-chart for delayed CRs#481
emmanuel wants to merge 3 commits into
mainfrom
fix/separate-create-gateway-chart

Conversation

@emmanuel

@emmanuel emmanuel commented May 28, 2026

Copy link
Copy Markdown
Contributor

What

Extracts the Envoy Gateway custom resources (GatewayClass, EnvoyProxy) out of the main envoy-gateway install into a standalone create-gateway Helm chart, delivered as its own ArgoCD Application. Those CRs then get created independently once ArgoCD is up and the Gateway API / Envoy Gateway CRDs have been installed by the gateway-helm Application — instead of failing/blocking the main install at bootstrap when the CRDs don't exist yet.

Commits

  • 8d9a7e6 — extract the create-gateway mini-chart
  • ac092a7fix render bug: the chart's manifests were under template/ (singular), but Helm only renders templates/. As-is the chart rendered zero resources, so the Application would have synced Healthy while creating none of the CRs. Renamed template/templates/.
  • 320a98e — enable SkipDryRunOnMissingResource=true at the Application syncPolicy level so the CRs skip ArgoCD's server-side dry-run when their CRDs aren't registered yet, and apply cleanly once they are (removes the now-redundant commented per-CR annotations).

Testing

Statichelm template now renders both CRs (EnvoyProxy eg-proxy + GatewayClass eg) with correct nlbName substitution and parametersRef linkage.

End-to-end — disposable kind + ArgoCD, CRDs initially absent, same chart run through two Applications differing only in the sync option:

sync option while CRDs absent after CRDs installed
without SkipDryRunOnMissingResource blocked at validation: synchronization tasks are not valid retries
with it proceeds to apply: no matches for kind EnvoyProxy (transient) Synced / Healthy — created GatewayClass eg + EnvoyProxy eg-proxy

With the option set, once the CRDs land the Application converges on its own with no manual intervention.

@emmanuel
emmanuel requested a review from josmo May 28, 2026 18:02
@emmanuel
emmanuel marked this pull request as ready for review June 30, 2026 07:16
emmanuel added 2 commits July 20, 2026 21:15
Helm only renders manifests under templates/ (plural). As template/, the chart
rendered zero resources, so the create-gateway Argo Application synced Healthy
while creating none of its GatewayClass/EnvoyProxy CRs. Verified with helm template
that the CRs now render.
Set SkipDryRunOnMissingResource=true at the Application syncPolicy level so the
Gateway CRs don't fail ArgoCD's server-side dry-run when their CRDs aren't
registered yet (bootstrap). Drop the now-redundant commented per-CR annotations.
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