aboutsummaryrefslogtreecommitdiff
path: root/README.org
diff options
context:
space:
mode:
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).