From 2d7bc302ad6d15461a10a67bd5e7e83e3dda279b Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 5 Feb 2018 23:05:48 +0000 Subject: Add a README, and make some guix tweaks --- README.org | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 README.org (limited to 'README.org') diff --git a/README.org b/README.org new file mode 100644 index 0000000..6b27836 --- /dev/null +++ b/README.org @@ -0,0 +1,49 @@ +The GOV.UK Mini Environment Admin application can manage mini GOV.UK +environments, deployed mostly on a single machine or system style +container. + +A GOV.UK environment is a connected collection of the various +services. A complete environment would include all the publishing and +admin applications, as well as all the other services. When creating a +mini environment, you can choose to omit some services if they are +unnecessary or undesired. + +It is possible to create mini environments on the local machine +(through using libvirt), or create them on rented infrastructure (from +Amazon Web Services (AWS)). + +* User Documentation + + + +* Developer Documentation + +The GOV.UK Mini Environment Admin is a Ruby on Rails web application +for managing mini environments. Terraform is used for the low level +management of the environments, and this is connected to the web +application through the use of the Que qweuing library, and terraform +Ruby library. + +** Components + +*** Web appliciation + +The web application is responsible for: + + - User authenticating via the GDS:SSO Ruby library, which uses the + GOV.UK Signon service. + - Providing a easy to deploy mini environments through the Terraform + configuration. + - Storing the Terraform state, which Terraform fetches and updates + using a Rest API. + +All the persistent state is stored in a PostgreSQL database. + +*** Queue workers + +The queuing system uses the Ruby Que library, which stores the state +in the PostgreSQL databae. The queues are where Terraform is run. + +*** Terraform configuration + +The Terraform configuration is split up by provider (libvirt or AWS). -- cgit v1.2.3