Skip to content

feat(gitops): render pipeline — values repo structure + CI workflow (infrastructure-as-code) #80

@dcolina

Description

@dcolina

Context

Part of #75. Establish the GitOps render pipeline that replaces manual YAML authoring. New customer onboarding requires only a ~100-line values file.

Acceptance Criteria

  • Move 84 validated values files from helm-charts/evaluation/outputs/implementation/helm/infrastructure-as-code/helm-values/customers/
  • Create infrastructure-as-code/helm-values/chart-version.txt pinned to 1.1.0
  • Create infrastructure-as-code/scripts/render-customer-manifests.sh render script
  • Create .github/workflows/render-manifests.yml CI workflow
  • Smoke test: render 1 customer successfully end-to-end
  • ArgoCD Applications remain unchanged (still sync from kubernetes/customers/{customer}/)

Technical Notes

Render script pattern

helm template "$customer" dotcms/dotcms \
  --version "$CHART_VERSION" \
  -f "helm-values/customers/${customer}-values.yaml" \
  --output-dir "kubernetes/customers/${customer}"

CI trigger

  • Push to main touching helm-values/**
  • Detects changed customers via git diff
  • Commits rendered output automatically

New customer onboarding (post-migration)

  1. Provision AWS infra via Terraform (unchanged)
  2. Create helm-values/customers/{customer}-values.yaml (~100 lines)
  3. PR triggers CI → renders → commits to kubernetes/customers/{customer}/
  4. Add ArgoCD Application manifest
  5. Done — no manual YAML authoring

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions