diff options
Diffstat (limited to 'app/models/backends/terraform_aws/mini_environment_methods.rb')
-rw-r--r-- | app/models/backends/terraform_aws/mini_environment_methods.rb | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/app/models/backends/terraform_aws/mini_environment_methods.rb b/app/models/backends/terraform_aws/mini_environment_methods.rb index e0fe03b..6049829 100644 --- a/app/models/backends/terraform_aws/mini_environment_methods.rb +++ b/app/models/backends/terraform_aws/mini_environment_methods.rb @@ -22,6 +22,14 @@ module Backends::TerraformAws::MiniEnvironmentMethods def build(mini_environment) slug = mini_environment.name.parameterize + remote_build_host = + mini_environment + .backend + .backend_latest_terraform_state + .output_value( + 'guix_daemon_public_dns' + ) + GovukGuix::BuildMiniEnvironment.build( mini_environment.id, services: mini_environment.services.map(&:build_argument_string), @@ -42,7 +50,7 @@ module Backends::TerraformAws::MiniEnvironmentMethods '/var/log/govuk-mini-environment-admin=/var/log' ] }, - run_remotely_on_host: "ubuntu@guix-daemon.#{domain}" + run_remotely_on_host: "ubuntu@#{remote_build_host}" ) end @@ -74,13 +82,23 @@ module Backends::TerraformAws::MiniEnvironmentMethods end end + def terraform_states(mini_environment) + TerraformState.where( + state_id: mini_environment_state_id(mini_environment) + ) + end + def within_terraform_working_directory(mini_environment, &block) TerraformWorkingDirectory.new( - "mini_environment/#{mini_environment.id}", + mini_environment_state_id(mini_environment), 'terraform/aws/mini_environment' ).within_working_directory(&block) end + def mini_environment_state_id(mini_environment) + "mini_environment/#{mini_environment.id}" + end + def signon_url(mini_environment) "https://signon.#{mini_environment.name.parameterize}.#{domain}" end |