Iterate over firewall ports
I'll convert this to a module some day, honest!
This commit is contained in:
parent
70829dc617
commit
95e97ef757
2 changed files with 58 additions and 51 deletions
|
@ -1,3 +1,15 @@
|
||||||
|
locals {
|
||||||
|
casey_open_ports = toset([
|
||||||
|
"80/tcp",
|
||||||
|
"443/tcp",
|
||||||
|
"51820/udp",
|
||||||
|
"4242/tcp",
|
||||||
|
"8448/tcp",
|
||||||
|
"6328/udp"
|
||||||
|
])
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
resource "vultr_instance" "casey" {
|
resource "vultr_instance" "casey" {
|
||||||
plan = "" # On a plan unsupported by API
|
plan = "" # On a plan unsupported by API
|
||||||
region = "lhr"
|
region = "lhr"
|
||||||
|
@ -17,56 +29,32 @@ resource "vultr_firewall_rule" "casey_ping" {
|
||||||
subnet_size = 0
|
subnet_size = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "vultr_firewall_rule" "casey_web" {
|
resource "vultr_firewall_rule" "casey_pingv6" {
|
||||||
firewall_group_id = vultr_firewall_group.casey.id
|
firewall_group_id = vultr_firewall_group.casey.id
|
||||||
protocol = "tcp"
|
protocol = "icmp"
|
||||||
port = 80
|
ip_type = "v6"
|
||||||
|
subnet = "::"
|
||||||
|
subnet_size = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "vultr_firewall_rule" "casey_v4" {
|
||||||
|
for_each = local.casey_open_ports
|
||||||
|
|
||||||
|
firewall_group_id = vultr_firewall_group.casey.id
|
||||||
|
protocol = split("/", each.value)[1]
|
||||||
|
port = split("/", each.value)[0]
|
||||||
ip_type = "v4"
|
ip_type = "v4"
|
||||||
subnet = "0.0.0.0"
|
subnet = "0.0.0.0"
|
||||||
subnet_size = 0
|
subnet_size = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "vultr_firewall_rule" "casey_web_secure" {
|
resource "vultr_firewall_rule" "casey_v6" {
|
||||||
firewall_group_id = vultr_firewall_group.casey.id
|
for_each = local.casey_open_ports
|
||||||
protocol = "tcp"
|
|
||||||
port = 443
|
|
||||||
ip_type = "v4"
|
|
||||||
subnet = "0.0.0.0"
|
|
||||||
subnet_size = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
resource "vultr_firewall_rule" "casey_wireguard" {
|
|
||||||
firewall_group_id = vultr_firewall_group.casey.id
|
firewall_group_id = vultr_firewall_group.casey.id
|
||||||
protocol = "udp"
|
protocol = split("/", each.value)[1]
|
||||||
port = 51820
|
port = split("/", each.value)[0]
|
||||||
ip_type = "v4"
|
ip_type = "v6"
|
||||||
subnet = "0.0.0.0"
|
subnet = "::"
|
||||||
subnet_size = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
resource "vultr_firewall_rule" "casey_quassel" {
|
|
||||||
firewall_group_id = vultr_firewall_group.casey.id
|
|
||||||
protocol = "tcp"
|
|
||||||
port = 4242
|
|
||||||
ip_type = "v4"
|
|
||||||
subnet = "0.0.0.0"
|
|
||||||
subnet_size = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
resource "vultr_firewall_rule" "casey_matrix" {
|
|
||||||
firewall_group_id = vultr_firewall_group.casey.id
|
|
||||||
protocol = "tcp"
|
|
||||||
port = 8448
|
|
||||||
ip_type = "v4"
|
|
||||||
subnet = "0.0.0.0"
|
|
||||||
subnet_size = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
resource "vultr_firewall_rule" "casey_nebula" {
|
|
||||||
firewall_group_id = vultr_firewall_group.casey.id
|
|
||||||
protocol = "udp"
|
|
||||||
port = 6328
|
|
||||||
ip_type = "v4"
|
|
||||||
subnet = "0.0.0.0"
|
|
||||||
subnet_size = 0
|
subnet_size = 0
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,10 @@
|
||||||
|
locals {
|
||||||
|
walker_open_ports = toset([
|
||||||
|
"80/tcp",
|
||||||
|
"443/tcp",
|
||||||
|
])
|
||||||
|
}
|
||||||
|
|
||||||
resource "vultr_instance" "walker" {
|
resource "vultr_instance" "walker" {
|
||||||
plan = "vhf-1c-1gb"
|
plan = "vhf-1c-1gb"
|
||||||
region = "lhr"
|
region = "lhr"
|
||||||
|
@ -17,20 +24,32 @@ resource "vultr_firewall_rule" "walker_ping" {
|
||||||
subnet_size = 0
|
subnet_size = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "vultr_firewall_rule" "walker_web" {
|
resource "vultr_firewall_rule" "walker_pingv6" {
|
||||||
firewall_group_id = vultr_firewall_group.walker.id
|
firewall_group_id = vultr_firewall_group.walker.id
|
||||||
protocol = "tcp"
|
protocol = "icmp"
|
||||||
port = 80
|
ip_type = "v6"
|
||||||
|
subnet = "::"
|
||||||
|
subnet_size = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "vultr_firewall_rule" "walker_v4" {
|
||||||
|
for_each = local.walker_open_ports
|
||||||
|
|
||||||
|
firewall_group_id = vultr_firewall_group.walker.id
|
||||||
|
protocol = split("/", each.value)[1]
|
||||||
|
port = split("/", each.value)[0]
|
||||||
ip_type = "v4"
|
ip_type = "v4"
|
||||||
subnet = "0.0.0.0"
|
subnet = "0.0.0.0"
|
||||||
subnet_size = 0
|
subnet_size = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "vultr_firewall_rule" "walker_web_secure" {
|
resource "vultr_firewall_rule" "walker_v6" {
|
||||||
|
for_each = local.walker_open_ports
|
||||||
|
|
||||||
firewall_group_id = vultr_firewall_group.walker.id
|
firewall_group_id = vultr_firewall_group.walker.id
|
||||||
protocol = "tcp"
|
protocol = split("/", each.value)[1]
|
||||||
port = 443
|
port = split("/", each.value)[0]
|
||||||
ip_type = "v4"
|
ip_type = "v6"
|
||||||
subnet = "0.0.0.0"
|
subnet = "::"
|
||||||
subnet_size = 0
|
subnet_size = 0
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue