Ways of Working

For our infrastructure, we want everything we do to be auditable, repeatable and reliable and so we use Terraform and Terragrunt as our Infrastructure-as-Code tooling.

We also use Kustomize to write our Kubernetes manifests and ArgoCD to continuously deploy the manifests from a Git repo as a source of truth.

The key to all of our ways of working is a methodology called GitOps.

Any required change should be made to the codebase and a PR made and reviewed. Then the code should be deployed in an automated way without manual intervention. In this way, we can be sure that all changes made to the infra - as would be expected by changes to the application codebase - are able to be audited and can be ensured to be exactly the change expected nd represented in code.

Last updated