aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Use info for command output loggingChristopher Baines2018-07-04
| | | | | As this is useful to see, and not currently appearing in the log file when running in the Rails production environment.
* Disable the Refresh button if there is no state to refreshChristopher Baines2018-07-04
|
* Add a simple title back to the index pageChristopher Baines2018-07-04
| | | | To fix the styling.
* Use database locking to prevent concurrent Terraform jobsChristopher Baines2018-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.
* Remove the titles from the mini environment index pageChristopher Baines2018-07-04
| | | | | Ownership isn't implemented yet, so just remove the titles that suggest it is.
* Pass the terraform credentials to the remote state configurationChristopher Baines2018-07-04
| | | | | This fixes the mini environment Terraform working, now that the backend is protected by basic authentication.
* Use finish in the govuk-guix related Que jobsChristopher Baines2018-07-04
| | | | So that the entries are kept in the jobs table.
* Specify titles for the govuk-guix related jobsChristopher Baines2018-07-04
|
* Support looking for available services on remote hostsChristopher Baines2018-07-04
|
* Don't try to use guix copy if Guix isn't availableChristopher Baines2018-07-04
| | | | If this is the case, it should only be used on the remote host anyway.
* Use bash from Guix when fetching revisions remotelyChristopher Baines2018-07-04
|
* Change the backend instance to a t2.xlargerelease_10Christopher Baines2018-07-03
| | | | The builds can be quite expensive, so the extra resource is useful.
* Increase the resources for AWS mini environmentsChristopher Baines2018-07-03
| | | | | From a t2.large to a t2.xlarge. Running every service requires close to 16GB of memory.
* Set GDS_GUIX_GOVUK_PUPPET_BACKUPS_DIRECTORYChristopher Baines2018-07-03
| | | | On the AWS build machine.
* Copy the root profile when provisioningChristopher Baines2018-07-03
| | | | | | Then switch to just installing guile. Also, always create the ~/.guix-profile symlink, as this isn't stored on EFS and thus needs creating everytime the machine is created.
* Make the ~/.config directory during provisioningChristopher Baines2018-07-03
| | | | This ensures that it's owned by the ubuntu user.
* Change the spot_type of the spot requests to one-timeChristopher Baines2018-07-03
| | | | | | The setup for these machines is dependant on the Terraform provisioners, so make the spot requests one time rather than persistent.
* Handle the Guix signing-key not existingrelease_9Christopher Baines2018-07-03
| | | | | Other parts of the code handle not having Guix locally, so add support here also.
* Fix the Terraform HTTP backend in productionrelease_8Christopher Baines2018-07-03
| | | | | Skip the authenticate_user! before action for the Terraform controller methods, and refactor the code to improve readability.
* Use Plek for finding the GOV.UK Mini Environment Adminrelease_7Christopher Baines2018-07-03
| | | | Rather than hardcoding localhost.
* Add lib to the eager_load_pathsrelease_6Christopher Baines2018-07-03
| | | | | To make accessing classes and modules in lib work in the production environment.
* Use Plek to find Signonrelease_5Christopher Baines2018-07-02
|
* Move the gds-sso requirerelease_4Christopher Baines2018-07-02
| | | | | There is a problem with starting the app in the Rails production environment, moving the require seems to fix the issue.
* Add a really basic que_jobs index pagerelease_3Christopher Baines2018-07-01
|
* Use the remote host struct in read_json_fileChristopher Baines2018-07-01
|
* Actually include the data snapshot when buildingChristopher Baines2018-07-01
|
* Change the default services for data snapshotsChristopher Baines2018-07-01
| | | | | Just exclude release and signon, rather than only including content-tagger and contacts-admin.
* Fix the CreateDataSnapshotJobChristopher Baines2018-07-01
| | | | To better handle remote hosts.
* Fix the FetchRevisionJob to better handle remote hostsChristopher Baines2018-07-01
|
* Specify the mini_environment_up output for the AWS backendrelease_2Christopher Baines2018-06-28
|
* Ensure the log directory exists in the AWS backendChristopher Baines2018-06-28
|
* Specify the disk size for the AWS build machineChristopher Baines2018-06-28
|
* Increase the number of build users in AWSChristopher Baines2018-06-28
|
* Make the git gem optionalChristopher Baines2018-06-28
| | | | | As it's not required or useful currently if Guix isn't available locally.
* 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.