provisioning/schemas/platform/templates/kubernetes/control-center-service.yaml.ncl

47 lines
1 KiB
Text
Raw Normal View History

# Control Center Kubernetes Service
# Exposes Control Center API and UI
# Imports user configuration from control-center.ncl
#
# Usage (called by generate-manifests.nu):
# ./provisioning/scripts/platform-generate-manifests.nu kubernetes
let control_center_config = (import "control-center.ncl").control_center in
{
apiVersion = "v1",
kind = "Service",
metadata = {
name = "control-center",
labels = {
app = "control-center",
component = "provisioning-platform",
},
annotations = {
"description" = "Control Center service for policy and RBAC management",
},
},
spec = {
type = "ClusterIP",
sessionAffinity = "ClientIP",
sessionAffinityConfig = {
clientIP = {
timeoutSeconds = 10800,
},
},
selector = {
app = "control-center",
},
ports = [
{
name = "http",
protocol = "TCP",
port = control_center_config.server.port,
targetPort = control_center_config.server.port,
},
],
},
}