diff options
author | Christopher Baines <mail@cbaines.net> | 2018-03-26 21:14:18 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2018-04-03 21:57:39 +0100 |
commit | 037054d45200fc03576fc86be6dff39235c3d9d0 (patch) | |
tree | 4d0e080fc3ee716dec3966ddc7cf153a859dca34 /app/models/backends/terraform_aws.rb | |
parent | 0867e8beef3f964cfd42d4e86c0ddf468bc980c5 (diff) | |
download | govuk-mini-environment-admin-037054d45200fc03576fc86be6dff39235c3d9d0.tar govuk-mini-environment-admin-037054d45200fc03576fc86be6dff39235c3d9d0.tar.gz |
Refactor the backends
Add a with_terraform helper, which simplifies both backends.
Diffstat (limited to 'app/models/backends/terraform_aws.rb')
-rw-r--r-- | app/models/backends/terraform_aws.rb | 27 |
1 files changed, 4 insertions, 23 deletions
diff --git a/app/models/backends/terraform_aws.rb b/app/models/backends/terraform_aws.rb index 7f908e8..ec4f7ab 100644 --- a/app/models/backends/terraform_aws.rb +++ b/app/models/backends/terraform_aws.rb @@ -35,21 +35,7 @@ class Backends::TerraformAws < ApplicationRecord def start(mini_environment) logger.info "Setting up #{mini_environment.name}" - source = File.expand_path("terraform/libvirt") - FileUtils.mkdir_p working_directory(mini_environment) - - Dir.chdir(working_directory(mini_environment)) do - if Dir.empty?(".") - RubyTerraform.init( - backend: true, - from_module: source, - backend_config: { - address: terraform_backend_address(mini_environment) - }, - plugin_dir: plugin_dir - ) - end - + with_terraform(mini_environment, 'terraform/aws') do RubyTerraform.apply( vars: terraform_variables(mini_environment), auto_approve: true @@ -57,15 +43,10 @@ class Backends::TerraformAws < ApplicationRecord end end - def destroy - Dir.chdir('terraform/aws') do + def destroy(mini_environment) + with_terraform(mini_environment, 'terraform/aws') do RubyTerraform.destroy( - vars: { - aws_region: aws_region, - slug: @mini_environment.name.parameterize, - ssh_public_key: ssh_public_key, - start_command: @mini_environment.start_command - }, + vars: terraform_variables(mini_environment), force: true ) end |