diff --git a/service/svc.tf b/service/svc.tf index 5b23ae0..6230377 100644 --- a/service/svc.tf +++ b/service/svc.tf @@ -1,4 +1,5 @@ locals { + selector = var.selector==null?var.labels:var.selector app_slug = "${var.instance}${var.component==""?"":"-"}${var.component}" cluster_ports = var.svc_type == "ClusterIP" ? [for idx, target in var.targets : { "name" = target @@ -35,7 +36,7 @@ locals { "ClusterIP" = { type = "ClusterIP" ports = local.cluster_ports - selector = var.labels + selector = local.selector }, "ExternalName" = { type = "ExternalName" @@ -44,12 +45,12 @@ locals { }, "NodePort" = { type = "NodePort" - selector = var.labels + selector = local.selector ports = local.node_ports }, "LoadBalancer" = { type = "LoadBalancer" - selector = var.labels + selector = local.selector ports = local.lb_ports externalTrafficPolicy = var.lb_policy } diff --git a/service/variables.tf b/service/variables.tf index 18b46bb..253d5bc 100644 --- a/service/variables.tf +++ b/service/variables.tf @@ -10,6 +10,10 @@ variable "namespace" { variable "labels" { type = map(string) } +variable "selector" { + type = map(string) + default = null +} variable "annotations" { type = map(string) default = {}