| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
This makes it more explicit, and works around Terraform being
unpredictable when dealing with SSH agents.
|
|
|
|
|
| |
This is no longer necessary, as Que now supports keeping the job
entries around in the que_jobs table.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
To store if a DataSnapshot is being used.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This is to record the revision of govuk-guix used to create the
snapshot.
|
| |
|
|
|
|
|
| |
Associated with a mini environment. This can also be used to store
customisations over the chosen revision of govuk-guix.
|
| |
|
| |
|
|
|
|
|
| |
This is recommended by the Que library, but may come in useful
elsewhere for PostgreSQL specific stuff.
|
|
|
|
|
| |
To allow supporting tracking related TerraformStates for backends as
well.
|
|
|
|
| |
In preparation of setting up backends through Terraform as well.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Also annotate existing models.
|
| |
|
|
|
|
| |
And various other views and routes.
|
| |
|
| |
|
|
|