## ## @section Common Parameters ## ## @param {string} storageClass - StorageClass used to store the data. storageClass: replicated ## ## @section Application-specific Parameters ## ## @enum {string} ResourcesPreset - Default sizing preset. ## @value nano ## @value micro ## @value small ## @value medium ## @value large ## @value xlarge ## @value 2xlarge ## @typedef {struct} Resources - Explicit CPU and memory configuration for a node or component. ## @field {quantity} [cpu] - CPU available. ## @field {quantity} [memory] - Memory (RAM) available. ## @typedef {struct} GPU - GPU configuration. ## @field {string} name - Name of GPU, such as "nvidia.com/AD102GL_L40S". ## @typedef {struct} NodeGroup - Worker node group configuration. ## @field {int} minReplicas=0 - Minimum number of replicas. ## @field {int} maxReplicas=10 - Maximum number of replicas. ## @field {string} instanceType="u1.medium" - Virtual machine instance type. ## @field {quantity} ephemeralStorage="20Gi" - Ephemeral storage size. ## @field {[]string} roles - List of node roles. ## @field {Resources} resources - CPU and memory resources for each worker node. ## @field {[]GPU} gpus - List of GPUs to attach (NVIDIA driver requires at least 4 GiB RAM). ## @param {map[string]NodeGroup} nodeGroups - Worker nodes configuration map. nodeGroups: md0: minReplicas: 0 maxReplicas: 10 instanceType: "u1.medium" ephemeralStorage: 20Gi roles: - ingress-nginx resources: {} gpus: [] ## ## @enum {string} Version ## @value v1.33 ## @value v1.32 ## @value v1.31 ## @value v1.30 ## @value v1.29 ## @value v1.28 ## @param {Version} version - Kubernetes major.minor version to deploy version: "v1.33" ## @param {string} host - External hostname for Kubernetes cluster. Defaults to `.` if empty. host: "" ## ## @section Cluster Addons ## ## @typedef {struct} CertManagerAddon - cert-manager addon. ## @field {bool} enabled - Enable cert-manager. ## @field {object} valuesOverride - Custom Helm values overrides. ## @typedef {struct} CiliumAddon - Cilium CNI plugin. ## @field {object} valuesOverride - Custom Helm values overrides. ## @typedef {struct} GatewayAPIAddon - Gateway API addon. ## @field {bool} enabled - Enable Gateway API. ## @typedef {struct} IngressNginxAddon - Ingress-NGINX controller. ## @field {bool} enabled - Enable the controller (requires nodes labeled `ingress-nginx`). ## @field {string} exposeMethod - Method to expose the controller. Allowed values: `Proxied`, `LoadBalancer`. ## @field {[]string} hosts - Domains routed to this tenant cluster when `exposeMethod` is `Proxied`. ## @field {object} valuesOverride - Custom Helm values overrides. ## @typedef {struct} GPUOperatorAddon - NVIDIA GPU Operator. ## @field {bool} enabled - Enable GPU Operator. ## @field {object} valuesOverride - Custom Helm values overrides. ## @typedef {struct} FluxCDAddon - FluxCD GitOps operator. ## @field {bool} enabled - Enable FluxCD. ## @field {object} valuesOverride - Custom Helm values overrides. ## @typedef {struct} MonitoringAgentsAddon - Monitoring agents (Fluent Bit, VMAgents). ## @field {bool} enabled - Enable monitoring agents. ## @field {object} valuesOverride - Custom Helm values overrides. ## @typedef {struct} VerticalPodAutoscalerAddon - Vertical Pod Autoscaler. ## @field {object} valuesOverride - Custom Helm values overrides. ## @typedef {struct} VeleroAddon - Velero backup and recovery addon. ## @field {bool} enabled - Enable Velero. ## @field {object} valuesOverride - Custom Helm values overrides. ## @typedef {struct} CoreDNSAddon - CoreDNS addon. ## @field {object} valuesOverride - Custom Helm values overrides. ## @typedef {struct} Addons - Cluster addons configuration. ## @field {CertManagerAddon} certManager - Cert-manager addon. ## @field {CiliumAddon} cilium - Cilium CNI plugin. ## @field {GatewayAPIAddon} gatewayAPI - Gateway API addon. ## @field {IngressNginxAddon} ingressNginx - Ingress-NGINX controller. ## @field {GPUOperatorAddon} gpuOperator - NVIDIA GPU Operator. ## @field {FluxCDAddon} fluxcd - FluxCD GitOps operator. ## @field {MonitoringAgentsAddon} monitoringAgents - Monitoring agents. ## @field {VerticalPodAutoscalerAddon} verticalPodAutoscaler - Vertical Pod Autoscaler. ## @field {VeleroAddon} velero - Velero backup/restore addon. ## @field {CoreDNSAddon} coredns - CoreDNS addon. ## @param {Addons} addons - Cluster addons configuration. addons: certManager: enabled: false valuesOverride: {} cilium: valuesOverride: {} gatewayAPI: enabled: false ingressNginx: enabled: false exposeMethod: Proxied hosts: [] valuesOverride: {} gpuOperator: enabled: false valuesOverride: {} fluxcd: enabled: false valuesOverride: {} monitoringAgents: enabled: false valuesOverride: {} verticalPodAutoscaler: valuesOverride: {} velero: enabled: false valuesOverride: {} coredns: valuesOverride: {} ## ## @section Kubernetes Control Plane Configuration ## ## @typedef {struct} APIServer - API Server configuration. ## @field {Resources} resources - CPU and memory resources for API Server. ## @field {ResourcesPreset} resourcesPreset="medium" - Preset if `resources` omitted. ## @typedef {struct} ControllerManager - Controller Manager configuration. ## @field {Resources} resources - CPU and memory resources for Controller Manager. ## @field {ResourcesPreset} resourcesPreset="micro" - Preset if `resources` omitted. ## @typedef {struct} Scheduler - Scheduler configuration. ## @field {Resources} resources - CPU and memory resources for Scheduler. ## @field {ResourcesPreset} resourcesPreset="micro" - Preset if `resources` omitted. ## @typedef {struct} KonnectivityServer - Konnectivity Server configuration. ## @field {Resources} resources - CPU and memory resources for Konnectivity. ## @field {ResourcesPreset} resourcesPreset="micro" - Preset if `resources` omitted. ## @typedef {struct} Konnectivity - Konnectivity configuration. ## @field {KonnectivityServer} server - Konnectivity Server configuration. ## @typedef {struct} ControlPlane - Kubernetes control plane configuration. ## @field {int} replicas=2 - Number of control-plane replicas. ## @field {APIServer} apiServer - API Server configuration. ## @field {ControllerManager} controllerManager - Controller Manager configuration. ## @field {Scheduler} scheduler - Scheduler configuration. ## @field {Konnectivity} konnectivity - Konnectivity configuration. ## @param {ControlPlane} controlPlane - Kubernetes control-plane configuration. controlPlane: replicas: 2 apiServer: resources: {} resourcesPreset: "medium" controllerManager: resources: {} resourcesPreset: "micro" scheduler: resources: {} resourcesPreset: "micro" konnectivity: server: resources: {} resourcesPreset: "micro"