From 0b2df284100db9c03dcdc290f99091f199fb5eef Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Thu, 5 Jul 2018 11:42:08 +0100 Subject: Improve the public ip address handling Support multiple addresses to handle the GOV.UK PaaS, which has multiple egress points. --- app/models/backends/terraform_aws/backend_methods.rb | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'app/models/backends/terraform_aws/backend_methods.rb') diff --git a/app/models/backends/terraform_aws/backend_methods.rb b/app/models/backends/terraform_aws/backend_methods.rb index ca2bd83..cc5ca62 100644 --- a/app/models/backends/terraform_aws/backend_methods.rb +++ b/app/models/backends/terraform_aws/backend_methods.rb @@ -27,18 +27,20 @@ module Backends::TerraformAws::BackendMethods end def backend_terraform_variables - public_ip_address = ENV[ - 'GOVUK_MINI_ENVIRONMENT_ADMIN_PUBLIC_IP_ADDRESS' - ] + public_ip_addresses = ENV[ + 'GOVUK_MINI_ENVIRONMENT_ADMIN_PUBLIC_IP_ADDRESSES' + ].split(',') - raise 'missing public ip address' if public_ip_address.nil? + raise 'missing public ip addresses' if public_ip_addresses.nil? + + egress_cidr_blocks = public_ip_addresses.map { |x| "#{x}/32" } common_terraform_variables.merge( aws_vpc_id: vpc_id, ssh_public_key: ssh_public_key, backend_slug: label.parameterize, mini_environment_admin_guix_public_key: guix_public_key, - mini_environment_admin_public_ip_address: public_ip_address + mini_environment_admin_egress_cidr_blocks: egress_cidr_blocks ) end -- cgit v1.2.3