aboutsummaryrefslogtreecommitdiff
path: root/app/models/backends/terraform_aws/mini_environment_methods.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/backends/terraform_aws/mini_environment_methods.rb')
-rw-r--r--app/models/backends/terraform_aws/mini_environment_methods.rb22
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