groups: - name: "Container Image" description: "Image to be used for container" - name: "Controller" description: "Configure workload deployment" - name: "Container Configuration" description: "additional container configuration" - name: "App Configuration" description: "App specific config options" - name: "Middlewares" description: "Traefik Middlewares" - name: "Networking and Services" description: "Configure Network and Services for container" - name: "Storage and Persistence" description: "Persist and share data that is separate from the container" - name: "Ingress" description: "Ingress Configuration" - name: "Security and Permissions" description: "Configure security context and permissions" - name: "Resources and Devices" description: "Specify resources/devices to be allocated to workload" - name: "Advanced" description: "Advanced Configuration" portals: web_portal: protocols: - "$kubernetes-resource_configmap_portal_protocol" host: - "$kubernetes-resource_configmap_portal_host" ports: - "$kubernetes-resource_configmap_portal_port" path: "/dashboard/" questions: - variable: portal group: "Container Image" label: "Configure Portal Button" schema: type: dict hidden: true attrs: - variable: enabled label: "Enable" description: "enable the portal button" schema: hidden: true editable: false type: boolean default: true - variable: middlewares label: "" group: "Middlewares" schema: type: dict attrs: - variable: basicAuth label: "basicAuth" schema: type: list default: [] items: - variable: basicAuthEntry label: "" schema: type: dict attrs: - variable: name label: "Name" schema: type: string required: true default: "" - variable: users label: "Users" schema: type: list default: [] items: - variable: usersEntry label: "" schema: type: dict attrs: - variable: username label: "Username" schema: type: string required: true default: "" - variable: password label: "Password" schema: type: string required: true default: "" - variable: forwardAuth label: "forwardAuth" schema: type: list default: [] items: - variable: basicAuthEntry label: "" schema: type: dict attrs: - variable: name label: "Name" schema: type: string required: true default: "" - variable: address label: "Address" schema: type: string required: true default: "" - variable: trustForwardHeader label: "trustForwardHeader" schema: type: boolean default: false - variable: authResponseHeadersRegex label: "authResponseHeadersRegex" schema: type: string default: "" - variable: authResponseHeaders label: "authResponseHeaders" schema: type: list default: [] items: - variable: authResponseHeadersEntry label: "" schema: type: string default: "" - variable: authRequestHeaders label: "authRequestHeaders" schema: type: list default: [] items: - variable: authRequestHeadersEntry label: "" schema: type: string default: "" - variable: chain label: "chain" schema: type: list default: [] items: - variable: chainEntry label: "" schema: type: dict attrs: - variable: middlewares label: "Middlewares to Chain" schema: type: list default: [] items: - variable: name label: "Name" schema: type: string required: true default: "" - variable: redirectScheme label: "redirectScheme" schema: type: list default: [] items: - variable: redirectSchemeEntry label: "" schema: type: dict attrs: - variable: scheme label: "Scheme" schema: type: string required: true default: "https" enum: - value: "https" description: "https" - value: "http" description: "http" - variable: permanent label: "Permanent" schema: type: boolean required: true default: false - variable: rateLimit label: "rateLimit" schema: type: list default: [] items: - variable: rateLimitEntry label: "" schema: type: dict attrs: - variable: average label: "Average" schema: type: int required: true default: 300 - variable: burst label: "Burst" schema: type: int required: true default: 200 - variable: hostNetwork group: "Networking and Services" label: "Enable Host Networking" schema: type: boolean default: false - variable: ports label: "(Advanced) Traefik Entrypoints" group: "Networking and Services" schema: type: dict attrs: - variable: traefik label: "traefik internal" schema: type: dict attrs: - variable: port label: "Internal Port" description: "(advanced) Port inside the container network" schema: type: int required: true hidden: true default: 9000 - variable: expose label: "Expose to Outside" description: "Port to the outside of all(!) nodes" schema: type: boolean default: true - variable: exposedPort label: "Outside Port" description: "Port on the outside" schema: type: int show_if: [["expose", "=", true]] default: 9000 - variable: protocol label: "Protocol" description: "TCP or UDP reverse proxying?" schema: type: string default: "TCP" - variable: web label: "web" schema: type: dict attrs: - variable: port label: "Internal Port" description: "(advanced) Port inside the container network" schema: type: int required: true hidden: true default: 9080 - variable: expose label: "Expose to Outside" description: "Port to the outside of all(!) nodes" schema: type: boolean default: true - variable: exposedPort label: "Outside Port" description: "Port to the outside of all(!) nodes" schema: type: int show_if: [["expose", "=", true]] required: true default: 9080 - variable: protocol label: "Protocol" description: "TCP or UDP reverse proxying?" schema: type: string required: true default: "TCP" hidden: true - variable: redirectEnable label: "Enable Redirect" schema: type: boolean default: true show_subquestions_if: true subquestions: - variable: redirectTo label: "Target Entrypoint" description: "Select the Target Entrypoint to redirect to" schema: type: string required: true default: "websecure" - variable: websecure label: "websecure" schema: type: dict attrs: - variable: port label: "Internal Port" description: "(advanced) Port inside the container network" schema: type: int required: true hidden: true default: 9443 - variable: expose label: "Expose to Outside" description: "Port to the outside of all(!) nodes" schema: type: boolean default: true - variable: exposedPort label: "Outside Port" description: "Port to the outside of all(!) nodes" schema: type: int show_if: [["expose", "=", true]] required: true default: 9443 - variable: protocol label: "Protocol" description: "TCP or UDP reverse proxying?" schema: type: string required: true default: "TCP" hidden: true - variable: tls label: "tls" schema: type: dict hidden: true attrs: - variable: enabled label: "enabled" schema: type: boolean default: true hidden: true - variable: securityContext group: "Security and Permissions" label: "Security Context" schema: type: dict attrs: - variable: privileged label: "Enable privileged mode for Common-Chart based charts" schema: type: boolean default: false - variable: runAsNonRoot label: "runAsNonRoot" schema: type: boolean default: true - variable: runAsUser label: "runAsUser" description: "The UserID of the user running the application" schema: type: int default: 65532 - variable: runAsGroup label: "runAsGroup" description: The groupID this App of the user running the application" schema: type: int default: 65532 - variable: podSecurityContext group: "Security and Permissions" label: "Pod Security Context" schema: type: dict attrs: - variable: fsGroup label: "fsGroup" description: "The group that should own ALL storage." schema: type: int default: 65532 - variable: fsGroupChangePolicy label: "When should we take ownership?" schema: type: string default: "OnRootMismatch" enum: - value: "OnRootMismatch" description: "OnRootMismatch" - value: "Always" description: "Always" - variable: resources group: "Resources and Devices" label: "" schema: type: dict attrs: - variable: limits label: "Advanced Limit Resource Consumption" schema: type: dict attrs: - variable: cpu label: "CPU" schema: type: string default: "2000m" - variable: memory label: "Memory RAM" schema: type: string default: "2Gi" - variable: requests label: "Advanced Request minimum resources required" schema: type: dict attrs: - variable: cpu label: "CPU" schema: type: string default: "10m" - variable: memory label: "Memory RAM" schema: type: string default: "50Mi"