aboutsummaryrefslogtreecommitdiff
path: root/app/models
Commit message (Collapse)AuthorAge
* Fix the CreateDataSnapshotJobChristopher Baines2018-07-01
| | | | To better handle remote hosts.
* Neaten up SSH handlingChristopher Baines2018-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 actionsChristopher Baines2018-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 TerraformChristopher Baines2018-06-24
|
* Switch to using the public AWS domain of the build machineChristopher Baines2018-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 backendChristopher Baines2018-06-23
| | | | Which means just destroying the build machine.
* Support the refresh action on the terraform aws backendChristopher Baines2018-06-23
|
* Support refreshing the state of backendsChristopher Baines2018-06-23
|
* Add support for managing Terraform AWS backends from the show pageChristopher Baines2018-06-23
|
* Split out a couple of modules from the TerraformAws classChristopher Baines2018-06-23
|
* Support managing the libvirt backend from the show pageChristopher Baines2018-06-23
|
* Handle SSH keys via the databaseChristopher Baines2018-06-23
| | | | | This makes it more explicit, and works around Terraform being unpredictable when dealing with SSH agents.
* Replace the GovukGuix::BuildJobChristopher Baines2018-06-22
| | | | | With a service that performs the same function, and use the MiniEnvironmentJob instead.
* Add a refresh action to the MiniEnvironment classChristopher Baines2018-06-21
| | | | | This can then be used to update the Terraform state for the Mini Environment.
* Add some basic status support for mini environmentsChristopher Baines2018-06-21
| | | | | This should enable making the show page better, as it can actually start displaying the status, and appropriate actions.
* Remove FinishedTerraformJobChristopher Baines2018-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 methodChristopher Baines2018-06-21
| | | | As the has_many didn't work, as the key is not what Rails expects.
* Add a terraform_states method to MiniEnvironmentChristopher Baines2018-06-21
|
* Extract out the mini_environment_state_id to a methodChristopher Baines2018-06-21
| | | | So that it can be used in other methods.
* Remove some redundant loggingChristopher Baines2018-06-21
|
* Add some methods to the TerraformState classChristopher Baines2018-06-21
|
* Split BackendMethods out of TerraformLibvirtChristopher Baines2018-06-21
| | | | This makes the TerraformLibvirt class shorter, and easier to read.
* Split MiniEnvironmentMethods out of TerraformLibvirtChristopher Baines2018-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 Baines2018-06-21
|
* Also share the /var/log directory with the hostChristopher Baines2018-06-04
|
* Share /var/cache and /var/lib with the hostChristopher Baines2018-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 backendsChristopher Baines2018-06-03
|
* Extract the backend variables out in the AWS backendChristopher Baines2018-06-03
|
* Support data snapshots for the AWS backendChristopher Baines2018-06-03
|
* Change how the EFS File System is handledChristopher Baines2018-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 jobChristopher Baines2018-06-01
| | | | For the Terraform libvirt backend.
* Support selecting a data snapshot on the services pageChristopher Baines2018-06-01
|
* Add an optional DataSnapshot to the MiniEnvironment modelChristopher Baines2018-06-01
| | | | To store if a DataSnapshot is being used.
* Add a basic description method to GovukGuix::DataSnapshotChristopher Baines2018-06-01
| | | | This is for use when rendering these in a view.
* Add an optional association to backends for data snapshotsChristopher Baines2018-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_idChristopher Baines2018-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 modelChristopher Baines2018-06-01
| | | | | This is to record the revision of govuk-guix used to create the snapshot.
* Add a new DataSnapshot model to store data snapshotsChristopher Baines2018-05-30
|
* Use basic authentication for mini environmentsChristopher Baines2018-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 environmentsChristopher Baines2018-05-30
|
* Use the services specified when building mini environmentsChristopher Baines2018-05-30
|
* Enable editing the services when creating a mini environmentChristopher Baines2018-05-30
|
* Add a new model to track servicesChristopher Baines2018-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 descriptionChristopher Baines2018-05-28
|
* Remove duplicated build optionChristopher Baines2018-05-28
|
* Improve the AWS backendChristopher Baines2018-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 backendChristopher Baines2018-05-03
|
* Improve the support for LibvirtChristopher Baines2018-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.
* Add a QueJob modelChristopher Baines2018-04-12
|
* Change mini_environment_id to state_id on TerraformStateChristopher Baines2018-04-12
| | | | | To allow supporting tracking related TerraformStates for backends as well.