mirror of
https://github.com/outbackdingo/cozystack.git
synced 2026-01-28 02:18:36 +00:00
186 lines
6.6 KiB
YAML
186 lines
6.6 KiB
YAML
##
|
||
## @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: []
|
||
|
||
## @param {string} version - Kubernetes version (vMAJOR.MINOR). Supported: 1.28–1.33.
|
||
version: "v1.33"
|
||
|
||
## @param {string} host - External hostname for Kubernetes cluster. Defaults to `<cluster-name>.<tenant-host>` 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"
|