Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | 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 some basic status support for mini environments | Christopher Baines | 2018-06-21 |
| | | | | | This should enable making the show page better, as it can actually start displaying the status, and appropriate actions. | ||
* | Remove FinishedTerraformJob | Christopher Baines | 2018-06-21 |
| | | | | | This is no longer necessary, as Que now supports keeping the job entries around in the que_jobs table. | ||
* | Replace the has_many terraform_states with a method | Christopher Baines | 2018-06-21 |
| | | | | As the has_many didn't work, as the key is not what Rails expects. | ||
* | 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. | ||
* | Remove some redundant logging | Christopher Baines | 2018-06-21 |
| | |||
* | Add some methods to the TerraformState class | Christopher Baines | 2018-06-21 |
| | |||
* | 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. | ||
* | Update Que to 1.0.0 (beta 3) | Christopher Baines | 2018-06-21 |
| | |||
* | 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 |
| | |||
* | Add an optional DataSnapshot to the MiniEnvironment model | Christopher Baines | 2018-06-01 |
| | | | | To store if a DataSnapshot is being used. | ||
* | Add a basic description method to GovukGuix::DataSnapshot | Christopher Baines | 2018-06-01 |
| | | | | This is for use when rendering these in a view. | ||
* | Add an optional association to backends for data snapshots | Christopher Baines | 2018-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. | ||
* | Change the signature of Backends.find_by_type_and_id | Christopher Baines | 2018-06-01 |
| | | | | | | | 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. | ||
* | Add the GovukGuix::Revision commit_hash to the DataSnapshot model | Christopher Baines | 2018-06-01 |
| | | | | | This is to record the revision of govuk-guix used to create the snapshot. | ||
* | Add a new DataSnapshot model to store data snapshots | Christopher Baines | 2018-05-30 |
| | |||
* | 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 |
| | |||
* | Enable editing the services when creating a mini environment | Christopher Baines | 2018-05-30 |
| | |||
* | Add a new model to track services | Christopher Baines | 2018-05-30 |
| | | | | | Associated with a mini environment. This can also be used to store customisations over the chosen revision of govuk-guix. | ||
* | Update the govuk_guix_revision model description | Christopher Baines | 2018-05-28 |
| |