mirror of
https://github.com/outbackdingo/cozystack.git
synced 2026-01-28 02:18:36 +00:00
632 lines
19 KiB
JSON
632 lines
19 KiB
JSON
{
|
||
"title": "Chart Values",
|
||
"type": "object",
|
||
"properties": {
|
||
"addons": {
|
||
"description": "Cluster addons configuration.",
|
||
"type": "object",
|
||
"default": {},
|
||
"required": [
|
||
"certManager",
|
||
"cilium",
|
||
"coredns",
|
||
"fluxcd",
|
||
"gatewayAPI",
|
||
"gpuOperator",
|
||
"ingressNginx",
|
||
"monitoringAgents",
|
||
"velero",
|
||
"verticalPodAutoscaler"
|
||
],
|
||
"properties": {
|
||
"certManager": {
|
||
"description": "Cert-manager addon.",
|
||
"type": "object",
|
||
"default": {},
|
||
"required": [
|
||
"enabled",
|
||
"valuesOverride"
|
||
],
|
||
"properties": {
|
||
"enabled": {
|
||
"description": "Enable cert-manager.",
|
||
"type": "boolean",
|
||
"default": false
|
||
},
|
||
"valuesOverride": {
|
||
"description": "Custom Helm values overrides.",
|
||
"type": "object",
|
||
"default": {},
|
||
"x-kubernetes-preserve-unknown-fields": true
|
||
}
|
||
}
|
||
},
|
||
"cilium": {
|
||
"description": "Cilium CNI plugin.",
|
||
"type": "object",
|
||
"default": {},
|
||
"required": [
|
||
"valuesOverride"
|
||
],
|
||
"properties": {
|
||
"valuesOverride": {
|
||
"description": "Custom Helm values overrides.",
|
||
"type": "object",
|
||
"default": {},
|
||
"x-kubernetes-preserve-unknown-fields": true
|
||
}
|
||
}
|
||
},
|
||
"coredns": {
|
||
"description": "CoreDNS addon.",
|
||
"type": "object",
|
||
"default": {},
|
||
"required": [
|
||
"valuesOverride"
|
||
],
|
||
"properties": {
|
||
"valuesOverride": {
|
||
"description": "Custom Helm values overrides.",
|
||
"type": "object",
|
||
"default": {},
|
||
"x-kubernetes-preserve-unknown-fields": true
|
||
}
|
||
}
|
||
},
|
||
"fluxcd": {
|
||
"description": "FluxCD GitOps operator.",
|
||
"type": "object",
|
||
"default": {},
|
||
"required": [
|
||
"enabled",
|
||
"valuesOverride"
|
||
],
|
||
"properties": {
|
||
"enabled": {
|
||
"description": "Enable FluxCD.",
|
||
"type": "boolean",
|
||
"default": false
|
||
},
|
||
"valuesOverride": {
|
||
"description": "Custom Helm values overrides.",
|
||
"type": "object",
|
||
"default": {},
|
||
"x-kubernetes-preserve-unknown-fields": true
|
||
}
|
||
}
|
||
},
|
||
"gatewayAPI": {
|
||
"description": "Gateway API addon.",
|
||
"type": "object",
|
||
"default": {},
|
||
"required": [
|
||
"enabled"
|
||
],
|
||
"properties": {
|
||
"enabled": {
|
||
"description": "Enable Gateway API.",
|
||
"type": "boolean",
|
||
"default": false
|
||
}
|
||
}
|
||
},
|
||
"gpuOperator": {
|
||
"description": "NVIDIA GPU Operator.",
|
||
"type": "object",
|
||
"default": {},
|
||
"required": [
|
||
"enabled",
|
||
"valuesOverride"
|
||
],
|
||
"properties": {
|
||
"enabled": {
|
||
"description": "Enable GPU Operator.",
|
||
"type": "boolean",
|
||
"default": false
|
||
},
|
||
"valuesOverride": {
|
||
"description": "Custom Helm values overrides.",
|
||
"type": "object",
|
||
"default": {},
|
||
"x-kubernetes-preserve-unknown-fields": true
|
||
}
|
||
}
|
||
},
|
||
"ingressNginx": {
|
||
"description": "Ingress-NGINX controller.",
|
||
"type": "object",
|
||
"default": {},
|
||
"required": [
|
||
"enabled",
|
||
"exposeMethod",
|
||
"valuesOverride"
|
||
],
|
||
"properties": {
|
||
"enabled": {
|
||
"description": "Enable the controller (requires nodes labeled `ingress-nginx`).",
|
||
"type": "boolean",
|
||
"default": false
|
||
},
|
||
"exposeMethod": {
|
||
"description": "Method to expose the controller. Allowed values: `Proxied`, `LoadBalancer`.",
|
||
"type": "string",
|
||
"default": "Proxied"
|
||
},
|
||
"hosts": {
|
||
"description": "Domains routed to this tenant cluster when `exposeMethod` is `Proxied`.",
|
||
"type": "array",
|
||
"default": [],
|
||
"items": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"valuesOverride": {
|
||
"description": "Custom Helm values overrides.",
|
||
"type": "object",
|
||
"default": {},
|
||
"x-kubernetes-preserve-unknown-fields": true
|
||
}
|
||
}
|
||
},
|
||
"monitoringAgents": {
|
||
"description": "Monitoring agents.",
|
||
"type": "object",
|
||
"default": {},
|
||
"required": [
|
||
"enabled",
|
||
"valuesOverride"
|
||
],
|
||
"properties": {
|
||
"enabled": {
|
||
"description": "Enable monitoring agents.",
|
||
"type": "boolean",
|
||
"default": false
|
||
},
|
||
"valuesOverride": {
|
||
"description": "Custom Helm values overrides.",
|
||
"type": "object",
|
||
"default": {},
|
||
"x-kubernetes-preserve-unknown-fields": true
|
||
}
|
||
}
|
||
},
|
||
"velero": {
|
||
"description": "Velero backup/restore addon.",
|
||
"type": "object",
|
||
"default": {},
|
||
"required": [
|
||
"enabled",
|
||
"valuesOverride"
|
||
],
|
||
"properties": {
|
||
"enabled": {
|
||
"description": "Enable Velero.",
|
||
"type": "boolean",
|
||
"default": false
|
||
},
|
||
"valuesOverride": {
|
||
"description": "Custom Helm values overrides.",
|
||
"type": "object",
|
||
"default": {},
|
||
"x-kubernetes-preserve-unknown-fields": true
|
||
}
|
||
}
|
||
},
|
||
"verticalPodAutoscaler": {
|
||
"description": "Vertical Pod Autoscaler.",
|
||
"type": "object",
|
||
"default": {},
|
||
"required": [
|
||
"valuesOverride"
|
||
],
|
||
"properties": {
|
||
"valuesOverride": {
|
||
"description": "Custom Helm values overrides.",
|
||
"type": "object",
|
||
"default": {},
|
||
"x-kubernetes-preserve-unknown-fields": true
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"controlPlane": {
|
||
"description": "Kubernetes control-plane configuration.",
|
||
"type": "object",
|
||
"default": {},
|
||
"required": [
|
||
"apiServer",
|
||
"controllerManager",
|
||
"konnectivity",
|
||
"replicas",
|
||
"scheduler"
|
||
],
|
||
"properties": {
|
||
"apiServer": {
|
||
"description": "API Server configuration.",
|
||
"type": "object",
|
||
"default": {},
|
||
"required": [
|
||
"resources",
|
||
"resourcesPreset"
|
||
],
|
||
"properties": {
|
||
"resources": {
|
||
"description": "CPU and memory resources for API Server.",
|
||
"type": "object",
|
||
"default": {},
|
||
"properties": {
|
||
"cpu": {
|
||
"description": "CPU available.",
|
||
"pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
|
||
"anyOf": [
|
||
{
|
||
"type": "integer"
|
||
},
|
||
{
|
||
"type": "string"
|
||
}
|
||
],
|
||
"x-kubernetes-int-or-string": true
|
||
},
|
||
"memory": {
|
||
"description": "Memory (RAM) available.",
|
||
"pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
|
||
"anyOf": [
|
||
{
|
||
"type": "integer"
|
||
},
|
||
{
|
||
"type": "string"
|
||
}
|
||
],
|
||
"x-kubernetes-int-or-string": true
|
||
}
|
||
}
|
||
},
|
||
"resourcesPreset": {
|
||
"description": "Preset if `resources` omitted.",
|
||
"type": "string",
|
||
"default": "medium",
|
||
"enum": [
|
||
"nano",
|
||
"micro",
|
||
"small",
|
||
"medium",
|
||
"large",
|
||
"xlarge",
|
||
"2xlarge"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"controllerManager": {
|
||
"description": "Controller Manager configuration.",
|
||
"type": "object",
|
||
"default": {},
|
||
"required": [
|
||
"resources",
|
||
"resourcesPreset"
|
||
],
|
||
"properties": {
|
||
"resources": {
|
||
"description": "CPU and memory resources for Controller Manager.",
|
||
"type": "object",
|
||
"default": {},
|
||
"properties": {
|
||
"cpu": {
|
||
"description": "CPU available.",
|
||
"pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
|
||
"anyOf": [
|
||
{
|
||
"type": "integer"
|
||
},
|
||
{
|
||
"type": "string"
|
||
}
|
||
],
|
||
"x-kubernetes-int-or-string": true
|
||
},
|
||
"memory": {
|
||
"description": "Memory (RAM) available.",
|
||
"pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
|
||
"anyOf": [
|
||
{
|
||
"type": "integer"
|
||
},
|
||
{
|
||
"type": "string"
|
||
}
|
||
],
|
||
"x-kubernetes-int-or-string": true
|
||
}
|
||
}
|
||
},
|
||
"resourcesPreset": {
|
||
"description": "Preset if `resources` omitted.",
|
||
"type": "string",
|
||
"default": "micro",
|
||
"enum": [
|
||
"nano",
|
||
"micro",
|
||
"small",
|
||
"medium",
|
||
"large",
|
||
"xlarge",
|
||
"2xlarge"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"konnectivity": {
|
||
"description": "Konnectivity configuration.",
|
||
"type": "object",
|
||
"default": {},
|
||
"required": [
|
||
"server"
|
||
],
|
||
"properties": {
|
||
"server": {
|
||
"description": "Konnectivity Server configuration.",
|
||
"type": "object",
|
||
"default": {},
|
||
"required": [
|
||
"resources",
|
||
"resourcesPreset"
|
||
],
|
||
"properties": {
|
||
"resources": {
|
||
"description": "CPU and memory resources for Konnectivity.",
|
||
"type": "object",
|
||
"default": {},
|
||
"properties": {
|
||
"cpu": {
|
||
"description": "CPU available.",
|
||
"pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
|
||
"anyOf": [
|
||
{
|
||
"type": "integer"
|
||
},
|
||
{
|
||
"type": "string"
|
||
}
|
||
],
|
||
"x-kubernetes-int-or-string": true
|
||
},
|
||
"memory": {
|
||
"description": "Memory (RAM) available.",
|
||
"pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
|
||
"anyOf": [
|
||
{
|
||
"type": "integer"
|
||
},
|
||
{
|
||
"type": "string"
|
||
}
|
||
],
|
||
"x-kubernetes-int-or-string": true
|
||
}
|
||
}
|
||
},
|
||
"resourcesPreset": {
|
||
"description": "Preset if `resources` omitted.",
|
||
"type": "string",
|
||
"default": "micro",
|
||
"enum": [
|
||
"nano",
|
||
"micro",
|
||
"small",
|
||
"medium",
|
||
"large",
|
||
"xlarge",
|
||
"2xlarge"
|
||
]
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"replicas": {
|
||
"description": "Number of control-plane replicas.",
|
||
"type": "integer",
|
||
"default": 2
|
||
},
|
||
"scheduler": {
|
||
"description": "Scheduler configuration.",
|
||
"type": "object",
|
||
"default": {},
|
||
"required": [
|
||
"resources",
|
||
"resourcesPreset"
|
||
],
|
||
"properties": {
|
||
"resources": {
|
||
"description": "CPU and memory resources for Scheduler.",
|
||
"type": "object",
|
||
"default": {},
|
||
"properties": {
|
||
"cpu": {
|
||
"description": "CPU available.",
|
||
"pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
|
||
"anyOf": [
|
||
{
|
||
"type": "integer"
|
||
},
|
||
{
|
||
"type": "string"
|
||
}
|
||
],
|
||
"x-kubernetes-int-or-string": true
|
||
},
|
||
"memory": {
|
||
"description": "Memory (RAM) available.",
|
||
"pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
|
||
"anyOf": [
|
||
{
|
||
"type": "integer"
|
||
},
|
||
{
|
||
"type": "string"
|
||
}
|
||
],
|
||
"x-kubernetes-int-or-string": true
|
||
}
|
||
}
|
||
},
|
||
"resourcesPreset": {
|
||
"description": "Preset if `resources` omitted.",
|
||
"type": "string",
|
||
"default": "micro",
|
||
"enum": [
|
||
"nano",
|
||
"micro",
|
||
"small",
|
||
"medium",
|
||
"large",
|
||
"xlarge",
|
||
"2xlarge"
|
||
]
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"host": {
|
||
"description": "External hostname for Kubernetes cluster. Defaults to `<cluster-name>.<tenant-host>` if empty.",
|
||
"type": "string",
|
||
"default": ""
|
||
},
|
||
"nodeGroups": {
|
||
"description": "Worker nodes configuration map.",
|
||
"type": "object",
|
||
"default": {
|
||
"md0": {
|
||
"ephemeralStorage": "20Gi",
|
||
"gpus": [],
|
||
"instanceType": "u1.medium",
|
||
"maxReplicas": 10,
|
||
"minReplicas": 0,
|
||
"resources": {},
|
||
"roles": [
|
||
"ingress-nginx"
|
||
]
|
||
}
|
||
},
|
||
"additionalProperties": {
|
||
"type": "object",
|
||
"required": [
|
||
"ephemeralStorage",
|
||
"instanceType",
|
||
"maxReplicas",
|
||
"minReplicas",
|
||
"resources"
|
||
],
|
||
"properties": {
|
||
"ephemeralStorage": {
|
||
"description": "Ephemeral storage size.",
|
||
"default": "20Gi",
|
||
"pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
|
||
"anyOf": [
|
||
{
|
||
"type": "integer"
|
||
},
|
||
{
|
||
"type": "string"
|
||
}
|
||
],
|
||
"x-kubernetes-int-or-string": true
|
||
},
|
||
"gpus": {
|
||
"description": "List of GPUs to attach (NVIDIA driver requires at least 4 GiB RAM).",
|
||
"type": "array",
|
||
"items": {
|
||
"type": "object",
|
||
"required": [
|
||
"name"
|
||
],
|
||
"properties": {
|
||
"name": {
|
||
"description": "Name of GPU, such as \"nvidia.com/AD102GL_L40S\".",
|
||
"type": "string"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"instanceType": {
|
||
"description": "Virtual machine instance type.",
|
||
"type": "string",
|
||
"default": "u1.medium"
|
||
},
|
||
"maxReplicas": {
|
||
"description": "Maximum number of replicas.",
|
||
"type": "integer",
|
||
"default": 10
|
||
},
|
||
"minReplicas": {
|
||
"description": "Minimum number of replicas.",
|
||
"type": "integer",
|
||
"default": 0
|
||
},
|
||
"resources": {
|
||
"description": "CPU and memory resources for each worker node.",
|
||
"type": "object",
|
||
"properties": {
|
||
"cpu": {
|
||
"description": "CPU available.",
|
||
"pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
|
||
"anyOf": [
|
||
{
|
||
"type": "integer"
|
||
},
|
||
{
|
||
"type": "string"
|
||
}
|
||
],
|
||
"x-kubernetes-int-or-string": true
|
||
},
|
||
"memory": {
|
||
"description": "Memory (RAM) available.",
|
||
"pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
|
||
"anyOf": [
|
||
{
|
||
"type": "integer"
|
||
},
|
||
{
|
||
"type": "string"
|
||
}
|
||
],
|
||
"x-kubernetes-int-or-string": true
|
||
}
|
||
}
|
||
},
|
||
"roles": {
|
||
"description": "List of node roles.",
|
||
"type": "array",
|
||
"items": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"storageClass": {
|
||
"description": "StorageClass used to store the data.",
|
||
"type": "string",
|
||
"default": "replicated"
|
||
},
|
||
"version": {
|
||
"description": "Kubernetes version (vMAJOR.MINOR). Supported: 1.28–1.33.",
|
||
"type": "string",
|
||
"default": "v1.33",
|
||
"enum": [
|
||
"v1.28",
|
||
"v1.29",
|
||
"v1.30",
|
||
"v1.31",
|
||
"v1.32",
|
||
"v1.33"
|
||
]
|
||
}
|
||
}
|
||
}
|