**DEPRECATED** Terraform configuration and utilities to provision parts of the GOV.UK AWS Infrastructure
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
docs Add a separate guide to developing locally and in our test environment Nov 16, 2017
modules Add variable for lifecycle Oct 31, 2017
packer Make AMIs public Apr 14, 2016
projects Allow asset-manager to delete objects Aug 15, 2018
spec Add the ability to run spec files in our given structure Mar 14, 2016
variables Move variable files to a single location. Mar 8, 2016
.rubocop.yml Add rubocop to the project. Feb 29, 2016
.terraform-version Update terraform version Jan 10, 2017
LICENSE.txt Initial commit Feb 5, 2016
README.md Reference the new 'developing locally' doc from the README Nov 16, 2017
Rakefile Make Terraform state S3 bucket configurable Aug 8, 2017


GOV.UK provisioning in Terraform

This repository contains the configuration to provision parts of GOV.UK on AWS such as S3 buckets. We're using Terraform v0.8.

This is distinct from our AWS migration work (see alphagov/govuk-aws). We plan to roll this repo into that one, with some updates, in time.

Deploying your changes

When you make changes and merge them to master, you will need to deploy them.

Terraform has plan and apply steps, which should be self explanatory. There is a Jenkins job in all three environments named "Deploy Terraform Project" that will deploy changes that are on master.

It requires:

  • The project name (for example, user_management or asset-manager).
  • Your AWS access key and secret key for the specific environment.
  • Whether you're running a plan or an apply.

If you don't have AWS access keys yourself and are asked to do this by someone while on 2ndline, there are shared credentials in the 2ndline password store under aws/, separated by environment.

Project Directories

The projects located in old-projects were built with Terraform 0.6 and are being left as-is until we have a need to update them. All new projects should work with at least Terraform 0.7 and be located in projects.

Developing locally

See this guide if you want to develop locally on the command-line or use our test account.