Skip to main content

ADR-019 Management of Operations Engineering Github Repositories through Terraform

Status

✅ Accepted

Context

The Operations Engineering (OE) team at the Ministry of Justice (MoJ) recognised the need for a system to create and maintain standardised Github repositories, so that all OE repositories adhere to the same best practices, and so that if these best practices were to change, the repositoreis across the OE estate could be modified to reflect these changes.

Decision

We have decided to use Terraform to manage our Github repositories through infrastructure as code (IaC). A standalone Github repository Terraform module will be created, which will be used in a stack in the operations-engineering repository.

Consequences

  • The standards for OE repositories will be defined in the Github repository Terraform module.
  • New OE repositories will be created by modifying the Terraform in the operations-engineering repository and raising a pull request (PR).
  • Github Actions repository variables will be defined in Terraform in the operations-engineering repository.
  • Once the team’s Github Actions repository secrets are stored in a secrets manager, these secrets will also be defined in Terraform in the operations-engineering repository.
This page was last reviewed on 31 January 2024. It needs to be reviewed again on 31 July 2024 by the page owner #operations-engineering-alerts .
This page was set to be reviewed before 31 July 2024 by the page owner #operations-engineering-alerts. This might mean the content is out of date.