cal-itp/data-infra

Implement Single-PR Kubernetes Testing/Deployment Process

Closed this issue · 0 comments

User story / feature request

As a contributor to Cal-ITP's Kubernetes infrastructure, I want to be able to test and release changes to that infrastructure (workloads, dependencies, and so on) using simple processes that execute automatically in CI/CD. The current multi-step deployment process can sometimes make that a challenge.

Acceptance Criteria

  • Clean up current mismatches between deployed Kubernetes resources and the data-infra repository state
  • Implement a CI/CD workflow for Kubernetes resources that takes place via a single PR - testing upon PR open or PR update (including a test deploy if a test environment exists for the resource), and deploying to prod upon merge to main.
  • Update documentation in individual service READMEs, /ci, /docs, /.holo, and /.github to reflect changes made to the testing and deployment workflow

Notes

The current canonical multi-step deployment process for changes to Kubernetes resources has often been bypassed for quick fixes and small changes. When the process is bypassed, it causes misalignment between some of the branches in our data-infra repository that are used by the official process and what's actually deployed in Google Cloud. As a result, the initial cleanup step is required to ensure that our repository aligns with what's deployed.