Files
terraform-binarylane/modules/binarylane/outputs.tf
T
unkin-agent 29f3a53143
ci/woodpecker/pr/plan Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
Give each vpn host its own p2p wg link to prodnxsr0020
2026-10-12 22:32:03 +11:00

32 lines
1.2 KiB
Terraform

output "hosts" {
description = "Hostname, public IPv4, VPC IPv4 and (vpn hosts) WireGuard public key per host."
value = merge(
{ for k, v in binarylane_server.edge : k => {
hostname = v.name
public_ipv4 = v.public_ipv4_addresses[0]
vpc_ipv4 = local.edges[k].vpc_ip
} },
{ for k, v in binarylane_server.vpn : k => {
hostname = v.name
public_ipv4 = v.public_ipv4_addresses[0]
vpc_ipv4 = local.vpns[k].vpc_ip
wg_address = local.vpns[k].wg_address
wg_pubkey = wireguard_asymmetric_key.vpn[k].public_key
} },
)
}
output "router_links" {
description = "Per-region p2p wg link as prodnxsr0020 sees it; consumed by its Puppet config."
value = { for k, v in local.vpns : v.region => {
interface = "wg-${v.region}"
listen_port = v.router_port
router_address = "${v.router_address}/31"
peer_address = v.wg_address
peer_public_key = wireguard_asymmetric_key.vpn[k].public_key
peer_endpoint = "${binarylane_server.vpn[k].public_ipv4_addresses[0]}:${local.wg_port}"
vpc_cidr = local.vpcs[v.region]
private_key_vault_path = "kv/${vault_kv_secret_v2.router[k].name}"
} }
}