Files
cozystack/packages/apps/tcp-balancer/values.schema.json
Andrei Kvapil 9632772337 [dx] JSDoc compatible syntax for values.yaml
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2025-10-29 08:57:26 +05:00

125 lines
3.2 KiB
JSON

{
"title": "Chart Values",
"type": "object",
"properties": {
"external": {
"description": "Enable external access from outside the cluster.",
"type": "boolean",
"default": false
},
"httpAndHttps": {
"description": "HTTP and HTTPS configuration.",
"type": "object",
"default": {},
"required": [
"mode",
"targetPorts"
],
"properties": {
"endpoints": {
"description": "Endpoint addresses list.",
"type": "array",
"default": [],
"items": {
"type": "string"
}
},
"mode": {
"description": "Mode for balancer.",
"type": "string",
"default": "tcp",
"enum": [
"tcp",
"tcp-with-proxy"
]
},
"targetPorts": {
"description": "Target ports configuration.",
"type": "object",
"default": {},
"required": [
"http",
"https"
],
"properties": {
"http": {
"description": "HTTP port number.",
"type": "integer",
"default": 80
},
"https": {
"description": "HTTPS port number.",
"type": "integer",
"default": 443
}
}
}
}
},
"replicas": {
"description": "Number of HAProxy replicas.",
"type": "integer",
"default": 2
},
"resources": {
"description": "Explicit CPU and memory configuration for each TCP Balancer replica. When omitted, the preset defined in `resourcesPreset` is applied.",
"type": "object",
"default": {},
"properties": {
"cpu": {
"description": "CPU available to each replica.",
"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 to each replica.",
"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": "Default sizing preset used when `resources` is omitted.",
"type": "string",
"default": "nano",
"enum": [
"nano",
"micro",
"small",
"medium",
"large",
"xlarge",
"2xlarge"
]
},
"whitelist": {
"description": "List of allowed client networks.",
"type": "array",
"default": [],
"items": {
"type": "string"
}
},
"whitelistHTTP": {
"description": "Secure HTTP by whitelisting client networks (default: false).",
"type": "boolean",
"default": false
}
}
}