diff options
author | Christopher Baines <mail@cbaines.net> | 2018-03-27 23:04:41 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2018-04-03 21:58:55 +0100 |
commit | 94f9e2a768327479c8b2da99cd57ac717cf1589a (patch) | |
tree | 819c093f8fb7c37c6017ede36db4f01854a8bcc8 /app/models/backends/terraform_aws.rb | |
parent | fa06e98228d8dd80a46622c9f393bb90e680d254 (diff) | |
download | govuk-mini-environment-admin-94f9e2a768327479c8b2da99cd57ac717cf1589a.tar govuk-mini-environment-admin-94f9e2a768327479c8b2da99cd57ac717cf1589a.tar.gz |
Add domains to backends, and rework build jobs
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.
Diffstat (limited to 'app/models/backends/terraform_aws.rb')
-rw-r--r-- | app/models/backends/terraform_aws.rb | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/app/models/backends/terraform_aws.rb b/app/models/backends/terraform_aws.rb index 6741204..bc131ef 100644 --- a/app/models/backends/terraform_aws.rb +++ b/app/models/backends/terraform_aws.rb @@ -9,6 +9,7 @@ # aws_secret_access_key :string # created_at :datetime not null # updated_at :datetime not null +# domain :string # require 'ruby_terraform' @@ -29,8 +30,15 @@ class Backends::TerraformAws < ApplicationRecord end def build(mini_environment) - GovukGuix::GenerateStartCommandJob.enqueue( - mini_environment.id + slug = mini_environment.name.parameterize + + GovukGuix::BuildJob.enqueue( + mini_environment.id, + %w(whitehall government-frontend), + type: 'container-start-script', + app_domain: "#{slug}.#{domain}", + web_domain: "www.#{slug}.#{domain}", + use_https: 'certbot' ) end @@ -54,13 +62,17 @@ class Backends::TerraformAws < ApplicationRecord end end + def signon_url(mini_environment) + "https://signon.#{mini_environment.name.parameterize}.#{domain}" + end + def terraform_variables(mini_environment) - mini_environment.backend_data.merge( + { aws_region: aws_region, slug: mini_environment.name.parameterize, ssh_public_key: ssh_public_key, - start_command: mini_environment.start_command - ) + start_command: mini_environment.backend_data['build_output'] + } end def ssh_public_key |