Dynamically creating the pods/services
Allows us configurize everything w/ json later
This commit is contained in:
parent
bf812cce4c
commit
a4a1d55a53
@ -8,11 +8,12 @@ resource vultr_firewall_rule web_inbound {
|
|||||||
port = each.value
|
port = each.value
|
||||||
}
|
}
|
||||||
|
|
||||||
resource vultr_firewall_rule web-health-inbound {
|
resource vultr_firewall_rule game-server-inbound {
|
||||||
|
for_each = var.game_servers.configs
|
||||||
firewall_group_id = vultr_kubernetes.athens.firewall_group_id
|
firewall_group_id = vultr_kubernetes.athens.firewall_group_id
|
||||||
protocol = "tcp"
|
protocol = "tcp"
|
||||||
ip_type = "v4"
|
ip_type = "v4"
|
||||||
subnet = "0.0.0.0"
|
subnet = "0.0.0.0"
|
||||||
subnet_size = 0
|
subnet_size = 0
|
||||||
port = local.sanity.port
|
port = each.value.port
|
||||||
}
|
}
|
||||||
|
52
infra/vultr-kubernetes/game-server.tf
Normal file
52
infra/vultr-kubernetes/game-server.tf
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
resource kubernetes_namespace game-servers {
|
||||||
|
metadata {
|
||||||
|
name = var.game_servers.namespace
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
resource kubernetes_pod game {
|
||||||
|
for_each = var.game_servers.configs
|
||||||
|
|
||||||
|
metadata {
|
||||||
|
name = each.key
|
||||||
|
namespace = var.game_servers.namespace
|
||||||
|
labels = {
|
||||||
|
app = each.key
|
||||||
|
}
|
||||||
|
}
|
||||||
|
spec {
|
||||||
|
container {
|
||||||
|
image = each.value.image
|
||||||
|
name = coalesce(each.value.name, each.key)
|
||||||
|
resources {
|
||||||
|
limits = {
|
||||||
|
cpu = each.value.cpu
|
||||||
|
memory = each.value.mem
|
||||||
|
}
|
||||||
|
}
|
||||||
|
port {
|
||||||
|
container_port = each.value.port
|
||||||
|
protocol = coalesce(each.value.proto, "TCP")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
resource kubernetes_service game {
|
||||||
|
for_each = var.game_servers.configs
|
||||||
|
metadata {
|
||||||
|
name = each.key
|
||||||
|
namespace = var.game_servers.namespace
|
||||||
|
}
|
||||||
|
spec {
|
||||||
|
selector = {
|
||||||
|
app = each.key
|
||||||
|
}
|
||||||
|
port {
|
||||||
|
target_port = each.value.port
|
||||||
|
port = each.value.port
|
||||||
|
node_port = each.value.port
|
||||||
|
}
|
||||||
|
type = "NodePort"
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user