aboutsummaryrefslogtreecommitdiff
path: root/README.org
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2018-02-05 23:05:48 +0000
committerChristopher Baines <mail@cbaines.net>2018-03-29 07:28:09 +0100
commit2d7bc302ad6d15461a10a67bd5e7e83e3dda279b (patch)
tree2a613e747fcc08645e11284a8c899e031434739c /README.org
parent064d6ee52c4f056c4f1d07c4aa0031baa87da552 (diff)
downloadgovuk-mini-environment-admin-2d7bc302ad6d15461a10a67bd5e7e83e3dda279b.tar
govuk-mini-environment-admin-2d7bc302ad6d15461a10a67bd5e7e83e3dda279b.tar.gz
Add a README, and make some guix tweaks
Diffstat (limited to 'README.org')
-rw-r--r--README.org49
1 files changed, 49 insertions, 0 deletions
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).