Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Start tracking which store paths are in use | Christopher Baines | 2019-01-01 |
| | | | | | This will enable garbage collection of the Guix store, without removing things that are still in use. | ||
* | Fix libvirts to libvirt | Christopher Baines | 2018-12-31 |
| | |||
* | Only show available backends on the setup page | Christopher Baines | 2018-07-05 |
| | |||
* | Improve the public ip address handling | Christopher Baines | 2018-07-05 |
| | | | | | Support multiple addresses to handle the GOV.UK PaaS, which has multiple egress points. | ||
* | Use database locking to prevent concurrent Terraform jobs | Christopher Baines | 2018-07-04 |
| | | | | | | | | | | | | Currently, the Terraform code uses chdir in the Ruby process to change to the right working directory. This affects all threads in the process, and thus means that all Terraform jobs conflict with each other. It would be good to fix this somehow, e.g. not changing directory, and just specifying the directory in which to run Terraform when starting it, but for now, use the advisory locks to force the jobs to run sequentially. | ||
* | Pass the terraform credentials to the remote state configuration | Christopher Baines | 2018-07-04 |
| | | | | | This fixes the mini environment Terraform working, now that the backend is protected by basic authentication. | ||
* | Handle the Guix signing-key not existingrelease_9 | Christopher Baines | 2018-07-03 |
| | | | | | Other parts of the code handle not having Guix locally, so add support here also. | ||
* | Use Plek for finding the GOV.UK Mini Environment Adminrelease_7 | Christopher Baines | 2018-07-03 |
| | | | | Rather than hardcoding localhost. | ||
* | Fix the CreateDataSnapshotJob | Christopher Baines | 2018-07-01 |
| | | | | To better handle remote hosts. | ||
* | Neaten up SSH handling | Christopher Baines | 2018-06-24 |
| | | | | | Explicitly use the specified private key where possible. Also, use a struct for the user, address and private key. | ||
* | Add locking around all Terraform actions | Christopher Baines | 2018-06-24 |
| | | | | | To prevent them conflicting. Terraform itself has a locking mechanism, which isn't being used, but this should be sufficient. | ||
* | Refactor the backends to use a method for working with Terraform | Christopher Baines | 2018-06-24 |
| | |||
* | Switch to using the public AWS domain of the build machine | Christopher Baines | 2018-06-23 |
| | | | | | | 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). | ||
* | Support 'Stopping' the AWS backend | Christopher Baines | 2018-06-23 |
| | | | | Which means just destroying the build machine. | ||
* | Support the refresh action on the terraform aws backend | 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 |
| | |||
* | Split out a couple of modules from the TerraformAws class | 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 | Christopher Baines | 2018-06-23 |
| | | | | | This makes it more explicit, and works around Terraform being unpredictable when dealing with SSH agents. | ||
* | Replace the GovukGuix::BuildJob | Christopher Baines | 2018-06-22 |
| | | | | | With a service that performs the same function, and use the MiniEnvironmentJob instead. | ||
* | Add a refresh action to the MiniEnvironment class | Christopher Baines | 2018-06-21 |
| | | | | | This can then be used to update the Terraform state for the Mini Environment. | ||
* | Add a terraform_states method to MiniEnvironment | Christopher Baines | 2018-06-21 |
| | |||
* | Extract out the mini_environment_state_id to a method | Christopher Baines | 2018-06-21 |
| | | | | So that it can be used in other methods. | ||
* | Split BackendMethods out of TerraformLibvirt | Christopher Baines | 2018-06-21 |
| | | | | This makes the TerraformLibvirt class shorter, and easier to read. | ||
* | Split MiniEnvironmentMethods out of TerraformLibvirt | Christopher Baines | 2018-06-21 |
| | | | | | Separate the mini environment related methods in to a module, to make both more readable. | ||
* | Also share the /var/log directory with the host | Christopher Baines | 2018-06-04 |
| | |||
* | Share /var/cache and /var/lib with the host | Christopher Baines | 2018-06-03 |
| | | | | | In the AWS backend. This means that they don't end up on a tmpfs and using up RAM. | ||
* | Add support for destroying Terraform AWS backends | Christopher Baines | 2018-06-03 |
| | |||
* | Extract the backend variables out in the AWS backend | Christopher Baines | 2018-06-03 |
| | |||
* | Support data snapshots for the AWS backend | Christopher Baines | 2018-06-03 |
| | |||
* | Change how the EFS File System is handled | Christopher Baines | 2018-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. | ||
* | Pass the data-snapshot to govuk-system in the build job | Christopher Baines | 2018-06-01 |
| | | | | For the Terraform libvirt backend. | ||
* | Support selecting a data snapshot on the services page | Christopher Baines | 2018-06-01 |
| | |||
* | Use basic authentication for mini environments | Christopher Baines | 2018-05-30 |
| | | | | | | To avoid the origin being too easy to access, which could potentially be misleading as a mini environment isn't the real GOV.UK website, although it might look similar. | ||
* | Use proper error pages for mini environments | Christopher Baines | 2018-05-30 |
| | |||
* | Use the services specified when building mini environments | Christopher Baines | 2018-05-30 |
| | |||
* | Remove duplicated build option | Christopher Baines | 2018-05-28 |
| | |||
* | Improve the AWS backend | Christopher Baines | 2018-05-03 |
| | | | | | | 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. | ||
* | Add extra fields to the Terraform AWS backend | Christopher Baines | 2018-05-03 |
| | |||
* | Improve the support for Libvirt | Christopher Baines | 2018-04-12 |
| | | | | | | | | | 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. | ||
* | Move the terraform utilities to lib/ | Christopher Baines | 2018-04-12 |
| | | | | | | | | | Change the module to a class, which is used to represent a terraform working directory. Change the routing for the terraform http backends, to remove any connection with mini environments, and remove this concern from the new TerraformWorkingDirectory class also. | ||
* | License under the AGPLv3+ | Christopher Baines | 2018-04-12 |
| | |||
* | Provide the AWS access key and secret as variables | Christopher Baines | 2018-04-03 |
| | | | | To terraform. | ||
* | Add domains to backends, and rework build jobs | Christopher Baines | 2018-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 missing imports | Christopher Baines | 2018-04-03 |
| | |||
* | Fix plugin_dir in Backends::Terraform | Christopher Baines | 2018-04-03 |
| | |||
* | Refactor the backends | Christopher Baines | 2018-04-03 |
| | | | | Add a with_terraform helper, which simplifies both backends. | ||
* | Remove a redundant method | Christopher Baines | 2018-04-03 |
| | | | | This is only used in the AWS backend. | ||
* | Appease Rubocop | Christopher Baines | 2018-04-03 |
| |