aboutsummaryrefslogtreecommitdiff
path: root/db
Commit message (Collapse)AuthorAge
* Add a new AWS backend using Amazon Machine ImagesChristopher Baines2019-05-30
| | | | | | | | | | | | | | | | | | | | | | | The existing AWS backend uses system containers backed on to the AWS hosted NFS service (EFS). This has some advantages, but also some disadvantages. Using the EFS service allows building a container on one instance, with the state being held on the EFS, and then launching a new instance to run the container. Using EFS also provides persistence, at least beyond individual EC2 instances. However, build performance when using EFS is poor compared with a local store without the overhead of the network latency. Additionally, the startup speed of the container running off EFS is slow compared to local storage. This backend doesn't use EFS, instead the Guix store sits on instance storage. Rather than using a system container for a Mini Environment, an Amazon Machine Image (AMI) is built instead. The fast local storage makes builds faster, and using EBS storage for the Mini Envirnoments as well as not having the overhead of starting Ubuntu, then starting the container also makes startup faster.
* Add support for archiving mini environmentsChristopher Baines2019-01-06
|
* Handle SSH keys via the databaseChristopher Baines2018-06-23
| | | | | This makes it more explicit, and works around Terraform being unpredictable when dealing with SSH agents.
* Remove FinishedTerraformJobChristopher Baines2018-06-21
| | | | | This is no longer necessary, as Que now supports keeping the job entries around in the que_jobs table.
* Update Que to 1.0.0 (beta 3)Christopher Baines2018-06-21
|
* Change how the EFS File System is handledChristopher Baines2018-06-03
| | | | | | | | | | For the AWS backend. Bring it in to the Terraform configuration for the backend, where previously only the id was known. Also, alter the provisioning so that it can handle an empty EFS file system. This reduces the amount of manual setup required for AWS.
* Add an optional DataSnapshot to the MiniEnvironment modelChristopher Baines2018-06-01
| | | | To store if a DataSnapshot is being used.
* Add an optional association to backends for data snapshotsChristopher Baines2018-06-01
| | | | | | | I'm a bit unsure about this, but it feels like generating snapshots remotely is useful, but if that is supported, then a remote snapshot won't be available locally to use. Adding the option of making them backend specific is one way of working around this.
* Add the GovukGuix::Revision commit_hash to the DataSnapshot modelChristopher Baines2018-06-01
| | | | | This is to record the revision of govuk-guix used to create the snapshot.
* Add a new DataSnapshot model to store data snapshotsChristopher Baines2018-05-30
|
* Add a new model to track servicesChristopher Baines2018-05-30
| | | | | Associated with a mini environment. This can also be used to store customisations over the chosen revision of govuk-guix.
* Show the available services for each revisionChristopher Baines2018-05-24
|
* Add extra fields to the Terraform AWS backendChristopher Baines2018-05-03
|
* Switch to using SQL as the schema formatChristopher Baines2018-04-12
| | | | | This is recommended by the Que library, but may come in useful elsewhere for PostgreSQL specific stuff.
* Change mini_environment_id to state_id on TerraformStateChristopher Baines2018-04-12
| | | | | To allow supporting tracking related TerraformStates for backends as well.
* Change mini_environment_id to model_id on FinishedTerraformJobChristopher Baines2018-04-12
| | | | In preparation of setting up backends through Terraform as well.
* Add an archived column to GovukGuix::RevisionChristopher Baines2018-04-03
|
* Add domains to backends, and rework build jobsChristopher Baines2018-04-03
| | | | | | | Add a domain to the libvirt and AWS Terraform backends. Along the way, improve the backend controllers and views, and rework the build jobs, simplifying them in to a single new class GovukGuix::BuildJob, which uses configuration from the respective backend.
* Add a new signon_users field to MiniEnvironmentChristopher Baines2018-04-03
| | | | | | | To store the data regarding the Signon users seeded in the database. Store this as JSON, rather than data in different tables to simplify the schema, as I don't expect it to change at all once the MiniEnvironment is created.
* Add backend controllers, models and viewsChristopher Baines2018-03-29
| | | | Also annotate existing models.
* Create tables for the backendsChristopher Baines2018-03-29
|
* Add some govuk-guix related jobsChristopher Baines2018-03-29
| | | | And various other views and routes.
* AWS related tweaksChristopher Baines2018-03-29
|
* Add terraform backend and initial guix configurationChristopher Baines2018-03-29
|
* Initial commitChristopher Baines2018-03-29