alphagov / govuk-infrastructure
git clone https://github.com/alphagov/govuk-infrastructure.git
🔥 on GitHub Trending today
This repository contains all the code and infrastructure to run the GOV.UK Platform. See https://github.com/alphagov/govuk-helm-charts for application config. Issues created in this repository are for all of GOV.UK Platform Engineering (not just infrastructure)..
—
stars, 24h
+0
stars, 7 days · #1,657
—
stars, 30 days
195
★ total
38
forks · 222 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageHCL
LicenseMIT
Created2020-07-09 (6y ago)
Last pushtoday
Watchers33
OwnerOrganization
Seen on GitHub Trending
- 2026-10-20 — #3 weekly in hcl
GitHub topics
Links
README excerpt
# GOV.UK Infrastructure ## What's in this repo The govuk-infrastructure repo contains: - `terraform/`: Terraform modules for turning up an Kubernetes cluster on EKS for GOV.UK. - `images/`: Container image definitions for utilities. - `.github/`: GitHub Actions and workflows used by other GOV.UK repos, for example release automation, test runners and security analysis tools. ### What's not in this repo Helm charts for GOV.UK applications are in alphagov/govuk-helm-charts. Base image definitions for GOV.UK Ruby apps are in alphagov/govuk-ruby-images. Configuration of CDN services is stored in alphagov/govuk-fastly and alphagov/govuk-fastly-secrets (private) repos. Configuration of Google Cloud Platform (GCP) projects used for internal analytics is stored in alphagov/govuk-data-infrastructure. Toolbox utility is stored in alphagov/govuk-toolbox-image ## Usage To install the compatible version of Terraform: [code] We set the constraints with minor version precision. However when using this Terraform version manager, you need to specify the patch version, e.g. `tfenv install 1.10.5`. ## Pre-commit hooks We have some recommended pre-commit hooks. You need to install `pre-commit` for these to run. ## Documentation See the `docs/` directory. There are also docs in the `terraform/docs/` directory and inline in READMEs in some directories. ## Documentation linting This repository uses Vale to lint our written English prose. Vale applies a variety of rules and heuristics, such as avoiding overly long sentences and not using the passive voice, as well as doing spelling and grammar checks. To run the documentation linting locally, run [code] ### Installing Vale If you are using a Mac, you can install Vale with Brew: [code] If you are using Linux or Windows, refer to Vale's own guide. ### Resolving common issues with Vale When using Vale, you will come across a number of common issues and scenarios. Documented here are the scenarios and how to handle them #### Vale says a product name or a plural acronym is an incorrect spelling Vale uses an open source dictionary to spell check our work. It does not know about proper nouns, and will frequently ask if you meant to spell it that way. If you are confident that you are right, there are two steps to take 1. Add the word to the vocabulary file in alphabetical order `.vale/styles/config/vocabularies/PlatformEngineering/accept.txt`. You can use limited regular expressions such as `foos?` to match both `foo` and `foos` in a single entry. 2. If the word is the name of a product, add it the `PlatformEngineering.ProductNames` rule in `.vale/styles/PlatformEngineering/ProductNames.yml`. This Vale rule enforces us using the correct spelling of a product name by matching common or potential misspellings using regular expressions, and suggesting the correct spelling. Using the AWS service CloudWatch as an example, common misspellings include `cloudwatch`, `Cloudwatch`, and `Cloud watch`. To match all of these