Skip to content

Add legacy cluster deploy jobs to release pipeline#1579

Open
andersondario-er wants to merge 6 commits into
developfrom
add-legacy-deploy-pipeline
Open

Add legacy cluster deploy jobs to release pipeline#1579
andersondario-er wants to merge 6 commits into
developfrom
add-legacy-deploy-pipeline

Conversation

@andersondario-er
Copy link
Copy Markdown
Contributor

Summary

Adds legacy cluster deployment jobs to the das-web-react release pipeline, mirroring the pattern already used in the report-form-builder (EFB) repo. On each release branch run, after stage sync succeeds, the pipeline deploys to the legacy dev cluster and then to the legacy prod cluster (split across 3 parallel jobs).

Changes

Added

  • .github/workflows/_deploy_legacy.yml — reusable Helm workflow that authenticates via WIF, sets up an SSH tunnel through the bastion host, and runs helm upgrade --install das-web-react per tenant with stuck-release recovery and a deployment summary
  • .github/workflows/helm/legacy-dev-values.yml — placeholder Helm values for the legacy dev environment (image repository pre-configured)
  • .github/workflows/helm/legacy-prod-values.yml — placeholder Helm values for the legacy prod environment (image repository pre-configured)
  • deploy-dev-legacy, deploy-prod-legacy-1/2/3 jobs in release.yml, chained after sync-stage

Technical Details

  • Uses the das-web-react Helm chart (oci://europe-west3-docker.pkg.dev/padas-app/er-mt-helm/das-web-react, version 1.0.2)
  • Cluster: das-dev (us-west1-a) for dev-legacy, das-prod1 (europe-west3-a) for prod-legacy
  • Bastion: kubernetes-bastion-2 in earthranger-78ca55ca, tunneling to localhost:8888
  • Tenant lists driven by repo variables: LEGACY_TENANTS_DEV, LEGACY_TENANTS_1/2/3 (must be set before first run)
  • Helm values files need app-specific env vars filled in before use

Files Changed

4 files changed, 297 insertions(+)

Adds dev-legacy and prod-legacy Helm deployment jobs (identical pattern
to report-form-builder) that deploy via SSH bastion tunnel to the legacy
GKE clusters after stage succeeds.
@andersondario-er andersondario-er self-assigned this May 26, 2026
…acy deploy

Pass explicit image_repository, deployment_name, and container_name to
the in-repo _deploy_legacy_kubectl.yml workflow (kept in-repo because
das-web-react is a public repo and cannot call the private serca-pipelines).
Sync in-repo copy with serca-pipelines fix: enumerate specific GCP
domains in NO_PROXY instead of *.googleapis.com (wildcard not honoured
by Go's HTTP client), and add per-attempt failure message to tunnel loop.
Adds service_account input to the in-repo legacy deploy workflow (falls back to
vars.SERVICE_ACCOUNT) and wires LEGACY_DEPLOY_SERVICE_ACCOUNT into all four
legacy jobs so they impersonate the dedicated deploy SA. Also fixes the
((SUCCESS_COUNT++)) bash gotcha that aborts under set -e after the first
successful tenant.
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