{ "slug": "core-service", "kind": "kubernetes", "metadata": { "name": "Kubernetes Service", "description": "Kubernetes Service for exposing applications running on a set of Pods. Provides stable network endpoints and load balancing.", "tags": [], "icon": { "provider": "simple-icons", "id": "kubernetes" }, "draft": false, "version": { "name": "1.31.0", "source_dep_name": "manual/core-service" } }, "variables": [ { "title": "General", "name": "general", "items": [ { "name": "resource_name", "type": "str", "title": "Resource Name", "required": false, "default": "app-service", "config": { "placeholder": "app-service" } }, { "name": "namespace", "type": "str", "title": "Namespace", "required": false, "default": "default", "config": { "placeholder": "default" } }, { "name": "service_type", "type": "enum", "title": "Service type", "required": false, "default": "ClusterIP", "config": { "options": [ "ClusterIP", "NodePort", "LoadBalancer", "ExternalName" ] } }, { "name": "service_port", "type": "int", "title": "Service port", "required": false, "default": 80, "config": { "placeholder": "80" } }, { "name": "target_port", "type": "int", "title": "Target Port", "required": false, "default": 8080, "config": { "placeholder": "8080" } }, { "name": "protocol", "type": "enum", "title": "Protocol", "required": false, "default": "TCP", "config": { "options": [ "TCP", "UDP", "SCTP" ] } } ] }, { "title": "Resource Limits", "name": "resources", "items": [ { "name": "resources_enabled", "type": "bool", "title": "Resources", "required": false, "default": false }, { "name": "resources_cpu_limit", "type": "str", "title": "CPU limit", "required": false, "default": "100m", "config": { "placeholder": "100m" } }, { "name": "resources_cpu_request", "type": "str", "title": "CPU request", "required": false, "default": "50m", "config": { "placeholder": "50m" } }, { "name": "resources_memory_limit", "type": "str", "title": "Memory limit", "required": false, "default": "128Mi", "config": { "placeholder": "128Mi" } }, { "name": "resources_memory_request", "type": "str", "title": "Memory request", "required": false, "default": "64Mi", "config": { "placeholder": "64Mi" } } ] }, { "title": "Traefik Integration", "name": "traefik", "items": [ { "name": "traefik_enabled", "type": "bool", "title": "Traefik", "required": false, "default": false }, { "name": "traefik_host", "type": "str", "title": "Traefik host", "required": true, "config": { "placeholder": "app" } }, { "name": "traefik_domain", "type": "str", "title": "Traefik domain", "required": true, "config": { "placeholder": "home.arpa" } }, { "name": "traefik_tls_enabled", "type": "bool", "title": "TLS", "required": false, "default": true }, { "name": "traefik_tls_certresolver", "type": "str", "title": "TLS certificate resolver", "required": false, "default": "letsencrypt-prod", "config": { "placeholder": "letsencrypt-prod" } }, { "name": "app_selector", "type": "str", "title": "App Selector", "required": true, "description": "App label selector (e.g., app.kubernetes.io/name value)" } ] } ] }