chore(e2e): Change RDP scenario to use ipv4 only (#6218)

* chore(e2e): go mod download

* chore(e2e): Change RDP scenario to use ipv4 only

(cherry picked from commit e65cc563e94523ba454acb1afa2b4b2306f985df)
This commit is contained in:
Michael Li authored and GitHub committed 2025-11-04 14:16:59 -05:00
1 parent 18f469105c
commit 31277e0b23
12 files changed
+66 -28

No files matched your search

+5
View File
@@ -6,6 +6,11 @@ output "controller_ips" {
value = var.ip_version == "6" ? flatten(aws_instance.controller.*.ipv6_addresses) : aws_instance.controller.*.public_ip
}
output "controller_ips_private" {
description = "Private IPs of boundary controllers"
value = var.ip_version == "6" || var.ip_version == "dual" ? flatten(aws_instance.controller.*.ipv6_addresses) : aws_instance.controller.*.private_ip
}
output "worker_ips" {
description = "Public IPs of boundary workers"
value = var.ip_version == "6" ? flatten(aws_instance.worker.*.ipv6_addresses) : aws_instance.worker.*.public_ip
+15 -15
View File
@@ -78,7 +78,7 @@ resource "aws_security_group" "rdp_ingress" {
formatlist("%s/32", data.enos_environment.current.public_ipv4_addresses),
join(",", data.aws_vpc.infra.cidr_block_associations.*.cidr_block),
])
ipv6_cidr_blocks = flatten([
ipv6_cidr_blocks = var.ip_version == "4" ? [] : flatten([
[for ip in coalesce(data.enos_environment.current.public_ipv6_addresses, []) : cidrsubnet("${ip}/64", 0, 0)],
data.aws_vpc.infra.ipv6_cidr_block
])
@@ -92,7 +92,7 @@ resource "aws_security_group" "rdp_ingress" {
formatlist("%s/32", data.enos_environment.current.public_ipv4_addresses),
join(",", data.aws_vpc.infra.cidr_block_associations.*.cidr_block),
])
ipv6_cidr_blocks = flatten([
ipv6_cidr_blocks = var.ip_version == "4" ? [] : flatten([
[for ip in coalesce(data.enos_environment.current.public_ipv6_addresses, []) : cidrsubnet("${ip}/64", 0, 0)],
data.aws_vpc.infra.ipv6_cidr_block
])
@@ -107,7 +107,7 @@ resource "aws_security_group" "rdp_ingress" {
formatlist("%s/32", data.enos_environment.current.public_ipv4_addresses),
join(",", data.aws_vpc.infra.cidr_block_associations.*.cidr_block),
])
ipv6_cidr_blocks = flatten([
ipv6_cidr_blocks = var.ip_version == "4" ? [] : flatten([
[for ip in coalesce(data.enos_environment.current.public_ipv6_addresses, []) : cidrsubnet("${ip}/64", 0, 0)],
data.aws_vpc.infra.ipv6_cidr_block
])
@@ -121,7 +121,7 @@ resource "aws_security_group" "rdp_ingress" {
formatlist("%s/32", data.enos_environment.current.public_ipv4_addresses),
join(",", data.aws_vpc.infra.cidr_block_associations.*.cidr_block),
])
ipv6_cidr_blocks = flatten([
ipv6_cidr_blocks = var.ip_version == "4" ? [] : flatten([
[for ip in coalesce(data.enos_environment.current.public_ipv6_addresses, []) : cidrsubnet("${ip}/64", 0, 0)],
data.aws_vpc.infra.ipv6_cidr_block
])
@@ -136,7 +136,7 @@ resource "aws_security_group" "rdp_ingress" {
formatlist("%s/32", data.enos_environment.current.public_ipv4_addresses),
join(",", data.aws_vpc.infra.cidr_block_associations.*.cidr_block),
])
ipv6_cidr_blocks = flatten([
ipv6_cidr_blocks = var.ip_version == "4" ? [] : flatten([
[for ip in coalesce(data.enos_environment.current.public_ipv6_addresses, []) : cidrsubnet("${ip}/64", 0, 0)],
data.aws_vpc.infra.ipv6_cidr_block
])
@@ -150,7 +150,7 @@ resource "aws_security_group" "rdp_ingress" {
formatlist("%s/32", data.enos_environment.current.public_ipv4_addresses),
join(",", data.aws_vpc.infra.cidr_block_associations.*.cidr_block),
])
ipv6_cidr_blocks = flatten([
ipv6_cidr_blocks = var.ip_version == "4" ? [] : flatten([
[for ip in coalesce(data.enos_environment.current.public_ipv6_addresses, []) : cidrsubnet("${ip}/64", 0, 0)],
data.aws_vpc.infra.ipv6_cidr_block
])
@@ -165,7 +165,7 @@ resource "aws_security_group" "rdp_ingress" {
formatlist("%s/32", data.enos_environment.current.public_ipv4_addresses),
join(",", data.aws_vpc.infra.cidr_block_associations.*.cidr_block),
])
ipv6_cidr_blocks = flatten([
ipv6_cidr_blocks = var.ip_version == "4" ? [] : flatten([
[for ip in coalesce(data.enos_environment.current.public_ipv6_addresses, []) : cidrsubnet("${ip}/64", 0, 0)],
data.aws_vpc.infra.ipv6_cidr_block
])
@@ -179,7 +179,7 @@ resource "aws_security_group" "rdp_ingress" {
formatlist("%s/32", data.enos_environment.current.public_ipv4_addresses),
join(",", data.aws_vpc.infra.cidr_block_associations.*.cidr_block),
])
ipv6_cidr_blocks = flatten([
ipv6_cidr_blocks = var.ip_version == "4" ? [] : flatten([
[for ip in coalesce(data.enos_environment.current.public_ipv6_addresses, []) : cidrsubnet("${ip}/64", 0, 0)],
data.aws_vpc.infra.ipv6_cidr_block
])
@@ -194,7 +194,7 @@ resource "aws_security_group" "rdp_ingress" {
formatlist("%s/32", data.enos_environment.current.public_ipv4_addresses),
join(",", data.aws_vpc.infra.cidr_block_associations.*.cidr_block),
])
ipv6_cidr_blocks = flatten([
ipv6_cidr_blocks = var.ip_version == "4" ? [] : flatten([
[for ip in coalesce(data.enos_environment.current.public_ipv6_addresses, []) : cidrsubnet("${ip}/64", 0, 0)],
data.aws_vpc.infra.ipv6_cidr_block
])
@@ -209,7 +209,7 @@ resource "aws_security_group" "rdp_ingress" {
formatlist("%s/32", data.enos_environment.current.public_ipv4_addresses),
join(",", data.aws_vpc.infra.cidr_block_associations.*.cidr_block),
])
ipv6_cidr_blocks = flatten([
ipv6_cidr_blocks = var.ip_version == "4" ? [] : flatten([
[for ip in coalesce(data.enos_environment.current.public_ipv6_addresses, []) : cidrsubnet("${ip}/64", 0, 0)],
data.aws_vpc.infra.ipv6_cidr_block
])
@@ -223,7 +223,7 @@ resource "aws_security_group" "rdp_ingress" {
formatlist("%s/32", data.enos_environment.current.public_ipv4_addresses),
join(",", data.aws_vpc.infra.cidr_block_associations.*.cidr_block),
])
ipv6_cidr_blocks = flatten([
ipv6_cidr_blocks = var.ip_version == "4" ? [] : flatten([
[for ip in coalesce(data.enos_environment.current.public_ipv6_addresses, []) : cidrsubnet("${ip}/64", 0, 0)],
data.aws_vpc.infra.ipv6_cidr_block
])
@@ -238,7 +238,7 @@ resource "aws_security_group" "rdp_ingress" {
formatlist("%s/32", data.enos_environment.current.public_ipv4_addresses),
join(",", data.aws_vpc.infra.cidr_block_associations.*.cidr_block),
])
ipv6_cidr_blocks = flatten([
ipv6_cidr_blocks = var.ip_version == "4" ? [] : flatten([
[for ip in coalesce(data.enos_environment.current.public_ipv6_addresses, []) : cidrsubnet("${ip}/64", 0, 0)],
])
}
@@ -251,7 +251,7 @@ resource "aws_security_group" "rdp_ingress" {
formatlist("%s/32", data.enos_environment.current.public_ipv4_addresses),
join(",", data.aws_vpc.infra.cidr_block_associations.*.cidr_block),
])
ipv6_cidr_blocks = flatten([
ipv6_cidr_blocks = var.ip_version == "4" ? [] : flatten([
[for ip in coalesce(data.enos_environment.current.public_ipv6_addresses, []) : cidrsubnet("${ip}/64", 0, 0)],
])
}
@@ -268,7 +268,7 @@ resource "aws_security_group" "allow_all_internal" {
protocol = "-1"
self = true
cidr_blocks = [data.aws_vpc.infra.cidr_block]
ipv6_cidr_blocks = [data.aws_vpc.infra.ipv6_cidr_block]
ipv6_cidr_blocks = var.ip_version == "4" ? [] : [data.aws_vpc.infra.ipv6_cidr_block]
}
egress {
@@ -297,7 +297,7 @@ resource "aws_instance" "domain_controller" {
vpc_security_group_ids = [aws_security_group.rdp_ingress.id, aws_security_group.allow_all_internal.id]
key_name = aws_key_pair.rdp-key.key_name
subnet_id = data.aws_subnets.infra.ids[0]
ipv6_address_count = 1
ipv6_address_count = var.ip_version == "6" || var.ip_version == "dual" ? 1 : 0
root_block_device {
volume_type = "gp2"
@@ -39,6 +39,12 @@ variable "aws_key_pair_name" {
default = "RDPKey"
}
variable "ip_version" {
type = string
description = "IP version to use for security group rules. Valid values are '4', '6', or 'dual'."
default = "4"
}
# =================================================================
# domain information
# =================================================================
@@ -46,4 +52,4 @@ variable "active_directory_domain" {
type = string
description = "The name of the Active Directory domain to be created on the Windows Domain Controller."
default = "mydomain.com"
}
}
+1 -1
View File
@@ -48,7 +48,7 @@ resource "aws_instance" "member_server" {
vpc_security_group_ids = var.domain_controller_sec_group_id_list
key_name = var.domain_controller_aws_keypair_name
subnet_id = data.aws_subnets.infra.ids[0]
ipv6_address_count = 1
ipv6_address_count = var.ip_version == "6" || var.ip_version == "dual" ? 1 : 0
root_block_device {
volume_type = "gp2"
@@ -44,6 +44,12 @@ variable "active_directory_domain" {
description = "The name of the Active Directory domain to be created on the Windows Domain Controller."
}
variable "ip_version" {
type = string
description = "IP version to use for security group rules. Valid values are '4', '6', or 'dual'."
default = "4"
}
# =================================================================
# domain controller information
# =================================================================
@@ -76,4 +82,4 @@ variable "kerberos_only" {
type = bool
description = "Only allow kerberos auth"
default = false
}
}
@@ -75,7 +75,7 @@ resource "aws_instance" "worker" {
key_name = var.domain_controller_aws_keypair_name
subnet_id = data.aws_subnets.infra.ids[0]
iam_instance_profile = var.iam_name
ipv6_address_count = 1
ipv6_address_count = var.ip_version == "6" || var.ip_version == "dual" ? 1 : 0
root_block_device {
volume_type = "gp2"
@@ -312,7 +312,7 @@ resource "local_file" "worker_config" {
enos_local_exec.add_boundary_cli,
]
content = templatefile("${path.module}/${var.worker_config_file_path}", {
controller_ip = var.controller_ip
controller_ip = var.ip_version == "4" ? jsonencode(var.controller_ip) : jsonencode(formatlist("[%s]:9201", flatten(var.controller_ip)))
aws_kms_key = data.aws_kms_key.kms_key.id
aws_region = var.aws_region
worker_public_ip = aws_instance.worker.public_ip
@@ -18,7 +18,7 @@ listener "tcp" {
worker {
public_addr = "${worker_public_ip}"
name = "win-worker-0"
initial_upstreams = ["[${controller_ip}]:9201"]
initial_upstreams = ${controller_ip}
tags {
type = ["worker", "rdp", "windows"]
}
@@ -33,6 +33,12 @@ variable "prefix" {
default = "enos"
}
variable "ip_version" {
type = string
description = "IP version to use for security group rules. Valid values are '4', '6', or 'dual'."
default = "4"
}
# =================================================================
# aws configuration variables
# =================================================================
@@ -50,8 +56,8 @@ variable "aws_region" {
variable "controller_ip" {
description = "IP address of the controller instance"
type = string
default = ""
type = list(string)
default = []
}
variable "iam_name" {
+1 -1
View File
@@ -142,7 +142,7 @@ resource "aws_instance" "client" {
vpc_security_group_ids = [aws_security_group.windows_client.id]
key_name = aws_key_pair.rdp-key.key_name
subnet_id = data.aws_subnets.infra.ids[0]
ipv6_address_count = 1
ipv6_address_count = var.ip_version == "6" || var.ip_version == "dual" ? 1 : 0
root_block_device {
volume_type = "gp2"
@@ -87,4 +87,8 @@ if ("${github_token}" -ne "") {
$newPath,
[EnvironmentVariableTarget]::Machine
)
# go mod download
cd $src_destination
go mod download
}
@@ -33,6 +33,12 @@ variable "prefix" {
default = "enos"
}
variable "ip_version" {
type = string
description = "IP version to use for security group rules. Valid values are '4', '6', or 'dual'."
default = "4"
}
# =================================================================
# additional resources
# =================================================================