diff options
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/backends/terraform_aws.rb | 22 | ||||
-rw-r--r-- | app/models/backends/terraform_libvirt.rb | 25 |
2 files changed, 37 insertions, 10 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 diff --git a/app/models/backends/terraform_libvirt.rb b/app/models/backends/terraform_libvirt.rb index 2cb46c6..9b92176 100644 --- a/app/models/backends/terraform_libvirt.rb +++ b/app/models/backends/terraform_libvirt.rb @@ -7,6 +7,7 @@ # uri :string # created_at :datetime not null # updated_at :datetime not null +# domain :string # require 'ruby_terraform' @@ -27,8 +28,17 @@ class Backends::TerraformLibvirt < ApplicationRecord end def build(mini_environment) - GovukGuix::GenerateVmImageAndSystemJob.enqueue( - mini_environment.id + slug = mini_environment.name.parameterize + + GovukGuix::BuildJob.enqueue( + mini_environment.id, + %w(whitehall government-frontend), + type: 'vm-image-and-system', + app_domain: "#{slug}.#{domain}", + web_domain: "www.#{slug}.#{domain}", + # Assume that this is a local environment, and not externally + # accessible + use_https: 'development' ) end @@ -52,10 +62,15 @@ class Backends::TerraformLibvirt < 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( + { uri: uri, - machine_name: mini_environment.name.parameterize - ) + machine_name: mini_environment.name.parameterize, + vm_image_and_system: mini_environment.backend_data['build_output'] + } end end |