23 lines
529 B
HCL
23 lines
529 B
HCL
locals {
|
|
ports = [ for idx, target in var.targets : {
|
|
"name" = target
|
|
"port"= var.ports[idx]
|
|
"protocol"= var.protocols[idx]
|
|
"targetPort" = target
|
|
}]
|
|
}
|
|
resource "kubectl_manifest" "service" {
|
|
yaml_body = <<-EOF
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: "${var.instance}-${var.component}"
|
|
namespace: "${var.namespace}"
|
|
labels: ${jsonencode(var.labels)}
|
|
spec:
|
|
type: ClusterIP
|
|
ports: ${jsonencode(local.ports)}
|
|
selector: ${jsonencode(var.labels)}
|
|
EOF
|
|
}
|