Skip to content

feat: ArgoCD chart improvements (hooks, HTTPRoute, image helper, .helmignore)#1

Merged
operinko merged 10 commits into
masterfrom
feature/argocd-chart-improvements
May 18, 2026
Merged

feat: ArgoCD chart improvements (hooks, HTTPRoute, image helper, .helmignore)#1
operinko merged 10 commits into
masterfrom
feature/argocd-chart-improvements

Conversation

@operinko
Copy link
Copy Markdown

Summary

  • Gateway API HTTPRoute support for drupal, frontend, and simple charts
  • ArgoCD resource hooks - converts helm.sh/hook to argocd.argoproj.io/hook (PostSync/PreSync)
  • Image helper for frontend/simple - supports split {repository, tag} for Image Updater
  • Cleanup job gate - cleanup.enabled flag prevents PreSync failure on first deploy
  • .helmignore - excludes *.tgz and tests/ to keep chart under 5MB
  • Drupal chart bumped to 1.35.0

Context

These changes were accidentally pushed to wunderio/charts master and reverted (ed94f6c). This PR applies them to the correct repo (argo-charts) for Harbor OCI publishing.

operinko added 10 commits May 18, 2026 13:41
…CD sync

- Add httproute.enabled gate (default false) with HTTPRoute + ListenerSet
  templates. cert-manager auto-creates Certificates from ListenerSet
  annotations, replacing explicit Certificate CRDs.
- Gate existing Ingress/Certificate/Middleware behind ingress.enabled
  (default true, backward-compatible). Projects migrate by setting
  ingress.enabled=false + httproute.enabled=true.
- Add kindIs map guards to ingress range loops so the enabled boolean
  key doesn't break template iteration.
- Add ArgoCD PreSync hook annotations to cleanup Job to prevent sync
  loop caused by ttlSecondsAfterFinished=0 self-deletion.
- Add drupal.image helper for split repository/tag image values
  (ArgoCD Image Updater compatibility).
- Update values.schema.json with httproute and ingress.enabled fields.
Traefik v3.7 doesn't support Gateway API ListenerSet (v1.5 feature).
Switch HTTPRoute parentRef to reference the shared Gateway directly
with sectionName. Use explicit Certificate CRDs for TLS instead of
ListenerSet annotation-based auto-creation.

Also adds listenerName value for configuring which Gateway listener
the HTTPRoute attaches to.
Add chart.image helper to frontend and simple charts for ArgoCD
Image Updater compatibility. Supports both flat string images and
split {repository, tag} objects.
Port ingress.enabled gating from drupal chart to frontend and simple:
- Wrap ingress, certificate, and middleware templates in ingress.enabled gate
- Add kindIs 'map' guard to ingress range loops in checks.yaml
- Add HTTPRoute template with Certificate CRDs for Gateway API
- Add httproute values and schema (disabled by default)
- ingress.enabled defaults to true (no breaking change)
The cleanup job uses volumes (PVCs) that don't exist during ArgoCD PreSync
phase on first deploy. Add cleanup.enabled (default true for backward compat)
and set false in platform base-values for ArgoCD clusters.

Also use default SA for cleanup job since custom SA isn't available in PreSync.
…gnore

- post-release.yaml: helm.sh/hook → argocd.argoproj.io/hook: PostSync
- pre-release.yaml: helm.sh/hook → argocd.argoproj.io/hook: PreSync
- .helmignore: exclude *.tgz and tests/ to keep chart size under 5MB
- Bump version to 1.35.0
Remove Minikube deployment tests and silta CLI steps — argo-charts
publishes to Harbor OCI for ArgoCD consumption, not deployed via silta CLI.
- Use curl-based Helm install instead of azure/setup-helm@v4 (may install wrong version)
- Add ls of charts/ dir after dep build for debugging
- Use helm template instead of helm install --dry-run (no cluster needed)
…tion

Helm's .helmignore applies to all chart operations (template, lint, install),
not just packaging. The *.tgz pattern was causing Helm to ignore subchart
dependencies in charts/ directory, breaking template rendering.

Keep only tests/ and test.values.yaml exclusions.
@operinko operinko merged commit a209f74 into master May 18, 2026
3 checks passed
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