aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Use basic authentication with the Terraform http backendrelease_1Christopher Baines2018-06-24
| | | | This prevents any unauthorised access to the Terraform state.
* Add a couple of buttons to speed up service selectionChristopher Baines2018-06-24
|
* 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.
* Guard against invalid build outputsChristopher Baines2018-06-24
| | | | Which seem to be a possibility if the job is forcefully stopped.
* 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).
* Disable strict host key checkingChristopher Baines2018-06-23
| | | | | So that SSH can run without requiring manual intervention. This shouldn't pose a security risk, as the network should be trusted.
* Support 'Stopping' the AWS backendChristopher Baines2018-06-23
| | | | Which means just destroying the build machine.
* Use a custom branch of ruby_terraformChristopher Baines2018-06-23
| | | | Which supports the -target option to the destroy command.
* Support the refresh action on the terraform aws backendChristopher Baines2018-06-23
|
* Use an animated progress bar in the jobs partialChristopher Baines2018-06-23
|
* Redesign the mini environment show pageChristopher Baines2018-06-23
| | | | With similar changes to the backend pages.
* Improve the jobs partialChristopher Baines2018-06-23
| | | | | Use titles to provide additional information, add support for expired jobs and clean up the text.
* Specify titles for TerraformLibvirtJob jobsChristopher Baines2018-06-23
|
* Redesign the backend show page actions and status reportingChristopher Baines2018-06-23
| | | | | Use panels and list groups to better layout the actions and status.
* Style the "View all terraform states" link as a buttonChristopher Baines2018-06-23
|
* Add a history view for terraform statesChristopher Baines2018-06-23
| | | | And link to this from the mini environment page.
* Change the backend perform action controllerChristopher Baines2018-06-23
| | | | | Redirect to the show page, rather than rendering it, to keep the URL more consistent.
* 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.
* Add a Guix moduleChristopher Baines2018-06-23
| | | | Which contains an available_locally? function.
* Only copy the guix revision to the remote host if possibleChristopher Baines2018-06-23
|
* Add initial support for fetching govuk-guix revisions on remote hostsChristopher Baines2018-06-23
| | | | | This begins to remote the restriction of having to have Guix installed locally.
* Don't show the job duration if it's finishedChristopher Baines2018-06-22
| | | | This doesn't make sense.
* Remove the button from the mini environment index pageChristopher Baines2018-06-22
| | | | Instead make the entire panel a link.
* Change most of the primary buttons to use the default stylingChristopher Baines2018-06-22
| | | | This is something the style guide suggests.
* Use the status information on the mini environment index pageChristopher Baines2018-06-22
|
* Reverse the jobs order on the mini environments show pageChristopher Baines2018-06-22
| | | | It's more useful to have the most recent jobs at the top.
* Give the jobs more descriptive titles on the show pageChristopher Baines2018-06-22
|
* Replace the GovukGuix::BuildJobChristopher Baines2018-06-22
| | | | | With a service that performs the same function, and use the MiniEnvironmentJob instead.
* Reverse the list of historical statesChristopher Baines2018-06-21
| | | | | On the terraform state show page. As it's more useful to see the recent states at the top.
* 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.
* Redesign the mini environment show pageChristopher Baines2018-06-21
| | | | | | | | | | 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.
* 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.
* Fix an issue with symbol keys in GovukGuix::JobChristopher Baines2018-06-21
|
* 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
|
* Add an output to the libvirt mini_environment terraformChristopher Baines2018-06-21
| | | | | This can then be used to easily determine if Terraform thinks there is a VM running.
* 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.
* Fix an issue with the setup pageChristopher Baines2018-06-21
| | | | And add some test data to make the corresponding test more rigorous.
* Add the web-console gemChristopher Baines2018-06-21
| | | | For easier debugging.