| Commit message (Collapse) | Author | Age |
|
|
|
| |
Thanks to schmie for looking in to this.
|
| |
|
|
|
|
| |
To avoid builds from hanging forever.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 means that govuk data can access the data from S3.
|
|
|
|
| |
On the AWS backend.
|
| |
|
|
|
|
| |
Rather than the govuk-puppet backup source on the machine.
|
| |
|
|
|
|
|
| |
The PostgreSQL data takes over 70GB now, so up the overall root
filesystem size to 150GB.
|
|
|
|
| |
In AWS. This fixes downloading custom revisions of packages.
|
|
|
|
|
| |
Support multiple addresses to handle the GOV.UK PaaS, which has
multiple egress points.
|
|
|
|
|
| |
For some reason, having more build users than allowed max-jobs isn't
sufficient in some cases. So, add some more.
|
|
|
|
|
| |
This makes it easier to see in tools like htop, top and ps, as they
truncate the user name.
|
|
|
|
|
| |
This fixes the mini environment Terraform working, now that the
backend is protected by basic authentication.
|
| |
|
|
|
|
| |
The builds can be quite expensive, so the extra resource is useful.
|
|
|
|
|
| |
From a t2.large to a t2.xlarge. Running every service requires close
to 16GB of memory.
|
|
|
|
| |
On the AWS build machine.
|
|
|
|
|
|
| |
Then switch to just installing guile. Also, always create the
~/.guix-profile symlink, as this isn't stored on EFS and thus needs
creating everytime the machine is created.
|
|
|
|
| |
This ensures that it's owned by the ubuntu user.
|
|
|
|
|
|
| |
The setup for these machines is dependant on the Terraform
provisioners, so make the spot requests one time rather than
persistent.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Rather than the configured domain, as the corresponding SSH key
shouldn't change for the AWS domain (whereas it does for the
configured domain, if the machine changes).
|
| |
|
| |
|
|
|
|
|
| |
This makes it more explicit, and works around Terraform being
unpredictable when dealing with SSH agents.
|
|
|
|
|
| |
This can then be used to easily determine if Terraform thinks there is
a VM running.
|
|
|
|
|
| |
In the AWS backend. This means that they don't end up on a tmpfs and
using up RAM.
|
|
|
|
| |
To make room for data snapshots.
|
|
|
|
|
|
| |
Which is an increase in resources from the t2.medium. The 8GB of
RAM (an increase from 4GB), will come in useful when working with data
snapshots.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
This gets the AWS backend to the point where you can deploy the
backend, and then a mini environment without any actions outside of
the govuk-mini-environment-admin.
|
|
|
|
|
| |
dns and dhcp apparently need to be specified explicitly. Also change
the network name to main.
|
|
|
|
|
|
|
|
|
| |
Separate out the backend things, like the virtual network, from the
mini environment. This makes it easier to have resources shared
between mini environments.
Also handle the deployment of this new backend related Terraform
configuration.
|
|
|
|
| |
To terraform.
|
|
|
|
| |
Also annotate existing models.
|
|
|
|
| |
And various other views and routes.
|
| |
|
| |
|
|
|