| Commit message (Expand) | Author | Age |
* | Add a new AWS backend using Amazon Machine Images•••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.
| Christopher Baines | 2019-05-30 |
* | Guard against deleting backends in the controller | Christopher Baines | 2019-05-30 |
* | Add support for archiving mini environments | Christopher Baines | 2019-01-06 |
* | Support archiving govuk-guix revisions | Christopher Baines | 2019-01-06 |
* | Start tracking which store paths are in use•••This will enable garbage collection of the Guix store, without
removing things that are still in use.
| Christopher Baines | 2019-01-01 |
* | Fix the Terraform HTTP backend in production•••Skip the authenticate_user! before action for the Terraform controller
methods, and refactor the code to improve readability.
release_8 | Christopher Baines | 2018-07-03 |
* | Add a really basic que_jobs index pagerelease_3 | Christopher Baines | 2018-07-01 |
* | Fix the FetchRevisionJob to better handle remote hosts | Christopher Baines | 2018-07-01 |
* | Use basic authentication with the Terraform http backend•••This prevents any unauthorised access to the Terraform state.
release_1 | Christopher Baines | 2018-06-24 |
* | Neaten up SSH handling•••Explicitly use the specified private key where possible. Also, use a
struct for the user, address and private key.
| Christopher Baines | 2018-06-24 |
* | Switch to using the public AWS domain of the build machine•••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).
| Christopher Baines | 2018-06-23 |
* | Support 'Stopping' the AWS backend•••Which means just destroying the build machine.
| Christopher Baines | 2018-06-23 |
* | Redesign the mini environment show page•••With similar changes to the backend pages.
| Christopher Baines | 2018-06-23 |
* | Add a history view for terraform states•••And link to this from the mini environment page.
| Christopher Baines | 2018-06-23 |
* | Change the backend perform action controller•••Redirect to the show page, rather than rendering it, to keep the URL
more consistent.
| Christopher Baines | 2018-06-23 |
* | Support refreshing the state of backends | Christopher Baines | 2018-06-23 |
* | Add support for managing Terraform AWS backends from the show page | Christopher Baines | 2018-06-23 |
* | Support managing the libvirt backend from the show page | Christopher Baines | 2018-06-23 |
* | Handle SSH keys via the database•••This makes it more explicit, and works around Terraform being
unpredictable when dealing with SSH agents.
| Christopher Baines | 2018-06-23 |
* | Add a Guix module•••Which contains an available_locally? function.
| Christopher Baines | 2018-06-23 |
* | Add initial support for fetching govuk-guix revisions on remote hosts•••This begins to remote the restriction of having to have Guix installed
locally.
| Christopher Baines | 2018-06-23 |
* | Reverse the jobs order on the mini environments show page•••It's more useful to have the most recent jobs at the top.
| Christopher Baines | 2018-06-22 |
* | Replace the GovukGuix::BuildJob•••With a service that performs the same function, and use the
MiniEnvironmentJob instead.
| Christopher Baines | 2018-06-22 |
* | Redesign the mini environment show page•••Start introducing some workflow, and simplifying the layout.
Also improve the jobs partial, making it actually show when jobs are
running.
The next step is to run the build as a mini environment job, which
should remove some unnecessary complexity.
| Christopher Baines | 2018-06-21 |
* | Update Que to 1.0.0 (beta 3) | Christopher Baines | 2018-06-21 |
* | Display Terraform states•••Add an index route, and a route to access a historical Terraform state
by index.
This also makes the ordering explicit, and fixes an issue with wrapped
parameters.
| Christopher Baines | 2018-06-19 |
* | Change how the EFS File System is handled•••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.
| Christopher Baines | 2018-06-03 |
* | Rework the services method in the MiniEnvironmentController•••Bring the transaction inside of the request.put? conditional, as it
shouldn't have been outside to begin with.
Also, store the data snapshot if one is selected.
| Christopher Baines | 2018-06-01 |
* | Change the signature of Backends.find_by_type_and_id•••It now takes two arguments, and when used by the
MiniEnvironmentsController, the split is performed there.
This makes it easier to reuse elsewhere in the codebase.
| Christopher Baines | 2018-06-01 |
* | Enable editing the services when creating a mini environment | Christopher Baines | 2018-05-30 |
* | Add extra fields to the Terraform AWS backend | Christopher Baines | 2018-05-03 |
* | Improve the support for Libvirt•••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.
| Christopher Baines | 2018-04-12 |
* | Generate random passphrases for Signon users•••Store the passphrase in the clear, as the intent here is to show it to
the user.
| Christopher Baines | 2018-04-12 |
* | Improve the handling of jobs•••Move the display in to a partial and improve. Handle the finished and
enqueued jobs in a more consistent way.
| Christopher Baines | 2018-04-12 |
* | Change mini_environment_id to state_id on TerraformState•••To allow supporting tracking related TerraformStates for backends as
well.
| Christopher Baines | 2018-04-12 |
* | Fix a couple of linting issues | Christopher Baines | 2018-04-12 |
* | License under the AGPLv3+ | Christopher Baines | 2018-04-12 |
* | Remove some redundant views•••And replace with a redirect and flash message.
| Christopher Baines | 2018-04-03 |
* | Remove unused method•••This has been moved to the SetupController.
| Christopher Baines | 2018-04-03 |
* | Remove lots of unnecessary files•••Using the Rails generator seems to generate quite a lot of unnecessary
files...
| Christopher Baines | 2018-04-03 |
* | Add domains to backends, and rework build jobs•••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.
| Christopher Baines | 2018-04-03 |
* | Add support for specifying Signon users•••When creating mini environments.
| Christopher Baines | 2018-04-03 |
* | Remove redundant logging | Christopher Baines | 2018-04-03 |
* | Fix Rubocop issues | Christopher Baines | 2018-04-03 |
* | Improve AWS backend support | Christopher Baines | 2018-03-29 |
* | Add backend controllers, models and views•••Also annotate existing models.
| Christopher Baines | 2018-03-29 |
* | Add some govuk-guix related jobs•••And various other views and routes.
| Christopher Baines | 2018-03-29 |
* | AWS related tweaks | Christopher Baines | 2018-03-29 |
* | Add form for creating a mini environment | Christopher Baines | 2018-03-29 |
* | Add terraform backend and initial guix configuration | Christopher Baines | 2018-03-29 |