cozystack/packages/apps/opensearch/values.schema.json
Myasnikov Daniil 9e55552910
[docs] Updated app go types
Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
2026-03-25 15:57:25 +05:00

239 lines
6.4 KiB
JSON

{
"title": "Chart Values",
"type": "object",
"properties": {
"replicas": {
"description": "Number of OpenSearch nodes in the cluster.",
"type": "integer",
"default": 3
},
"resources": {
"description": "Explicit CPU and memory configuration for each OpenSearch node. When omitted, the preset defined in `resourcesPreset` is applied.",
"type": "object",
"default": {},
"properties": {
"cpu": {
"description": "CPU available to each node.",
"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 node.",
"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. OpenSearch requires minimum 2Gi memory.",
"type": "string",
"default": "large",
"enum": [
"nano",
"micro",
"small",
"medium",
"large",
"xlarge",
"2xlarge"
]
},
"size": {
"description": "Persistent Volume Claim size available for application data.",
"default": "10Gi",
"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
},
"storageClass": {
"description": "StorageClass used to store the data.",
"type": "string",
"default": ""
},
"external": {
"description": "Enable external access from outside the cluster.",
"type": "boolean",
"default": false
},
"topologySpreadPolicy": {
"description": "How strictly to enforce pod distribution across nodes and zones.",
"type": "string",
"default": "soft",
"enum": [
"soft",
"hard"
]
},
"version": {
"description": "OpenSearch major version to deploy.",
"type": "string",
"default": "v2",
"enum": [
"v3",
"v2",
"v1"
]
},
"images": {
"description": "Container images used by the operator.",
"type": "object",
"default": {},
"required": [
"opensearch"
],
"properties": {
"opensearch": {
"description": "OpenSearch image.",
"type": "string",
"default": ""
}
}
},
"nodeRoles": {
"description": "Node roles configuration.",
"type": "object",
"default": {},
"required": [
"data",
"ingest",
"master",
"ml"
],
"properties": {
"data": {
"description": "Enable data role.",
"type": "boolean",
"default": true
},
"ingest": {
"description": "Enable ingest role.",
"type": "boolean",
"default": true
},
"master": {
"description": "Enable cluster_manager role.",
"type": "boolean",
"default": true
},
"ml": {
"description": "Enable machine learning role.",
"type": "boolean",
"default": false
}
}
},
"users": {
"description": "Custom OpenSearch users configuration map.",
"type": "object",
"default": {},
"additionalProperties": {
"type": "object",
"properties": {
"password": {
"description": "Password for the user (auto-generated if omitted).",
"type": "string"
},
"roles": {
"description": "List of OpenSearch roles.",
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"dashboards": {
"description": "OpenSearch Dashboards configuration.",
"type": "object",
"default": {},
"required": [
"enabled",
"replicas",
"resourcesPreset"
],
"properties": {
"enabled": {
"description": "Enable OpenSearch Dashboards deployment.",
"type": "boolean",
"default": false
},
"replicas": {
"description": "Number of Dashboards replicas.",
"type": "integer",
"default": 1
},
"resources": {
"description": "Explicit CPU and memory configuration for Dashboards.",
"type": "object",
"default": {},
"properties": {
"cpu": {
"description": "CPU available to each node.",
"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 node.",
"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 for Dashboards.",
"type": "string",
"default": "medium",
"enum": [
"nano",
"micro",
"small",
"medium",
"large",
"xlarge",
"2xlarge"
]
}
}
}
}
}