This repository contains configuration and utility tools we use for setting up our infrastructure and manage our release process.
There are a few independent tools we're using that are configured and run from this repo:
- Terraform (modules and configuration files in
terraform/
) is used to create and manage AWS resources (DNS records, CloudWatch logs, S3 buckets etc.) scripts
contains executable scripts we use to manage our PaaS environments and Hosted Graphitedmaws
contains some helper python functions used by some of the scriptspaas
contains PaaS manifest templates that are rendered bymake generate-manifest
. To deploy changes, re-release all the apps in the relevant environmentsvars
contains environment specific variables used in the PaaS manifest generation. To deploy changes, re-release all the apps in the relevant environmentskibana
contains a Makefile and dependencies list for managing Kibana configuration
Install dependencies with venv and pip.
make requirements
For Terraform setup, including non python dependencies and usage please check the separate (README).
- Terraform installation and setup (requires MFA)
- Terraform usage
- Using Terraform in an new AWS environment
kibana/Makefile
contains make steps to manage Kibana configs.
make dump STAGE=...
will download Kibana index (including mapping, saved searches, visualizations
and dashboards) and store them in kibana-export.json
.
make restore STAGE=...
uploads configuration from kibana-export.json
to the target STAGE stack
and replaces any settings that were there before.
Both commands use credentials from terraform files, so they need sops
profile to be active.
Unless stated otherwise, the codebase is released under the MIT License. This covers both the codebase and any sample code in the documentation.
The documentation is © Crown copyright and available under the terms of the Open Government 3.0 licence.