Skip to content

Commit 53a674b

Browse files
authored
fix: adds parent on secret project filter for VPN module (#214)
1 parent 4b7b452 commit 53a674b

File tree

6 files changed

+32
-1
lines changed

6 files changed

+32
-1
lines changed

3-networks/envs/development/vpn.tf.example

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ module "shared_base_vpn" {
2626
region2_router1_name = module.base_shared_vpc.region2_router1.router.name
2727
region2_router2_name = module.base_shared_vpc.region2_router2.router.name
2828
environment = "development"
29+
parent_folder = var.parent_folder
30+
org_id = var.org_id
2931
vpn_psk_secret_name = "<VPN_PRIVATE_PSK_SECRET_NAME>"
3032

3133

@@ -70,6 +72,8 @@ module "shared_restricted_vpn" {
7072
region2_router1_name = module.restricted_shared_vpc.region2_router1.router.name
7173
region2_router2_name = module.restricted_shared_vpc.region2_router2.router.name
7274
environment = "development"
75+
parent_folder = var.parent_folder
76+
org_id = var.org_id
7377
vpn_psk_secret_name = "<VPN_RESTRICTED_PSK_SECRET_NAME>"
7478

7579
on_prem_router_ip_address1 = "<8.8.8.8>" # on-prem router ip address 1

3-networks/envs/non-production/vpn.tf.example

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ module "shared_base_vpn" {
2626
region2_router1_name = module.base_shared_vpc.region2_router1.router.name
2727
region2_router2_name = module.base_shared_vpc.region2_router2.router.name
2828
environment = "non-production"
29+
parent_folder = var.parent_folder
30+
org_id = var.org_id
2931
vpn_psk_secret_name = "<VPN_PRIVATE_PSK_SECRET_NAME>"
3032

3133
on_prem_router_ip_address1 = "<8.8.8.8>" # on-prem router ip address 1
@@ -69,6 +71,8 @@ module "shared_restricted_vpn" {
6971
region2_router1_name = module.restricted_shared_vpc.region2_router1.router.name
7072
region2_router2_name = module.restricted_shared_vpc.region2_router2.router.name
7173
environment = "non-production"
74+
parent_folder = var.parent_folder
75+
org_id = var.org_id
7276
vpn_psk_secret_name = "<VPN_RESTRICTED_PSK_SECRET_NAME>"
7377

7478
on_prem_router_ip_address1 = "<8.8.8.8>" # on-prem router ip address 1

3-networks/envs/production/vpn.tf.example

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ module "shared_base_vpn" {
2626
region2_router1_name = module.base_shared_vpc.region2_router1.router.name
2727
region2_router2_name = module.base_shared_vpc.region2_router2.router.name
2828
environment = "production"
29+
parent_folder = var.parent_folder
30+
org_id = var.org_id
2931
vpn_psk_secret_name = "<VPN_PRIVATE_PSK_SECRET_NAME>"
3032

3133
on_prem_router_ip_address1 = "<8.8.8.8>" # on-prem router ip address 1
@@ -69,6 +71,8 @@ module "shared_restricted_vpn" {
6971
region2_router1_name = module.restricted_shared_vpc.region2_router1.router.name
7072
region2_router2_name = module.restricted_shared_vpc.region2_router2.router.name
7173
environment = "production"
74+
parent_folder = var.parent_folder
75+
org_id = var.org_id
7276
vpn_psk_secret_name = "<VPN_RESTRICTED_PSK_SECRET_NAME>"
7377

7478
on_prem_router_ip_address1 = "<8.8.8.8>" # on-prem router ip address 1

3-networks/modules/vpn-ha/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ If you don't have Dedicated Interconnect you can use High Availability VPN to co
2727
| environment | Environment for the VPN configuration. Valid options are development, non-production, production | string | n/a | yes |
2828
| on\_prem\_router\_ip\_address1 | On-Prem Router IP address | string | n/a | yes |
2929
| on\_prem\_router\_ip\_address2 | On-Prem Router IP address | string | n/a | yes |
30+
| org\_id | Organization ID | string | n/a | yes |
31+
| parent\_folder | Optional - if using a folder for testing. | string | `""` | no |
3032
| project\_id | VPC Project ID | string | n/a | yes |
3133
| region1\_router1\_name | Name of the Router 1 for Region 1 where the attachment resides. | string | n/a | yes |
3234
| region1\_router1\_tunnel0\_bgp\_peer\_address | BGP session address for router 1 in region 1 tunnel 0 | string | n/a | yes |

3-networks/modules/vpn-ha/main.tf

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,19 @@
1919
*****************************************/
2020

2121
locals {
22+
parent_id = var.parent_folder != "" ? "folders/${var.parent_folder}" : "organizations/${var.org_id}"
2223
network_name = "vpc-${var.vpc_name}"
2324
env_secret_project_id = data.google_projects.env_secrets.projects[0].project_id
2425
psk_secret_data = chomp(data.google_secret_manager_secret_version.psk.secret_data)
2526
}
2627

28+
data "google_active_folder" "env" {
29+
display_name = "fldr-${var.environment}"
30+
parent = local.parent_id
31+
}
32+
2733
data "google_projects" "env_secrets" {
28-
filter = "labels.application_name=env-secrets labels.environment=${var.environment} lifecycleState=ACTIVE"
34+
filter = "parent.id:${split("/", data.google_active_folder.env.name)[1]} labels.application_name=env-secrets labels.environment=${var.environment} lifecycleState=ACTIVE"
2935
}
3036

3137
data "google_secret_manager_secret_version" "psk" {

3-networks/modules/vpn-ha/variables.tf

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,11 @@ variable "environment" {
3434
description = "Environment for the VPN configuration. Valid options are development, non-production, production"
3535
}
3636

37+
variable "org_id" {
38+
type = string
39+
description = "Organization ID"
40+
}
41+
3742
variable "vpn_psk_secret_name" {
3843
type = string
3944
description = "The name of the secret to retrieve from secret manager. This will be retrieved from the environment secrets project."
@@ -158,3 +163,9 @@ variable "region2_router2_tunnel1_bgp_peer_range" {
158163
type = string
159164
description = "BGP session range for router 2 in region 1 tunnel 1"
160165
}
166+
167+
variable "parent_folder" {
168+
description = "Optional - if using a folder for testing."
169+
type = string
170+
default = ""
171+
}

0 commit comments

Comments
 (0)