Get rid of bitnami's readme-generator

Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
This commit is contained in:
Andrei Kvapil
2025-07-17 23:27:51 +02:00
parent def5a612c6
commit 72e7b5e0b5
61 changed files with 1308 additions and 1211 deletions

View File

@@ -28,16 +28,7 @@ jobs:
- name: Install generate
run: |
sudo apt update
sudo apt install curl -y
sudo apt install nodejs -y
sudo apt install npm -y
git clone --branch 2.7.0 --depth 1 https://github.com/bitnami/readme-generator-for-helm.git
cd ./readme-generator-for-helm
npm install
npm install -g @yao-pkg/pkg
pkg . -o /usr/local/bin/readme-generator
curl -sSL https://github.com/cozystack/readme-generator-for-helm/releases/download/v1.0.0/readme-generator-for-helm-linux-amd64.tar.gz | tar -xzvf- -C /usr/local/bin/ readme-generator-for-helm
- name: Run pre-commit hooks
run: |

View File

@@ -11,14 +11,14 @@ repos:
- id: run-make-generate
name: Run 'make generate' in all app directories
entry: |
/bin/bash -c '
flock -x .git/pre-commit.lock sh -c '
for dir in ./packages/apps/*/ ./packages/extra/*/ ./packages/system/cozystack-api/; do
if [ -d "$dir" ]; then
echo "Running make generate in $dir"
make generate -C "$dir"
make generate -C "$dir" || exit $?
fi
done
git diff --color=always | cat
'
language: script
language: system
files: ^.*$

View File

@@ -1,4 +1,4 @@
include ../../../scripts/package.mk
generate:
readme-generator -v values.yaml -s values.schema.json -r README.md
readme-generator-for-helm -v values.yaml -s values.schema.json -r README.md

View File

@@ -1,5 +1,5 @@
{
"properties": {},
"title": "Chart Values",
"type": "object",
"properties": {}
"type": "object"
}

View File

@@ -5,7 +5,7 @@ include ../../../scripts/common-envs.mk
include ../../../scripts/package.mk
generate:
readme-generator -v values.yaml -s values.schema.json -r README.md
readme-generator-for-helm -v values.yaml -s values.schema.json -r README.md
yq -i -o json --indent 4 '.properties.resourcesPreset.enum = $(PRESET_ENUM)' values.schema.json
image:

View File

@@ -1,26 +1,74 @@
{
"title": "Chart Values",
"type": "object",
"properties": {
"replicas": {
"type": "number",
"description": "Number of Clickhouse replicas",
"default": 2
"backup": {
"properties": {
"cleanupStrategy": {
"default": "--keep-last=3 --keep-daily=3 --keep-within-weekly=1m",
"description": "Retention strategy for cleaning up old backups",
"type": "string"
},
"enabled": {
"default": false,
"description": "Enable periodic backups",
"type": "boolean"
},
"resticPassword": {
"default": "ChaXoveekoh6eigh4siesheeda2quai0",
"description": "Password for Restic backup encryption",
"type": "string"
},
"s3AccessKey": {
"default": "oobaiRus9pah8PhohL1ThaeTa4UVa7gu",
"description": "Access key for S3, used for authentication",
"type": "string"
},
"s3Bucket": {
"default": "s3.example.org/clickhouse-backups",
"description": "S3 bucket used for storing backups",
"type": "string"
},
"s3Region": {
"default": "us-east-1",
"description": "AWS S3 region where backups are stored",
"type": "string"
},
"s3SecretKey": {
"default": "ju3eum4dekeich9ahM1te8waeGai0oog",
"description": "Secret key for S3, used for authentication",
"type": "string"
},
"schedule": {
"default": "0 2 * * *",
"description": "Cron schedule for automated backups",
"type": "string"
}
},
"type": "object"
},
"shards": {
"type": "number",
"description": "Number of Clickhouse shards",
"default": 1
"logStorageSize": {
"default": "2Gi",
"description": "Size of Persistent Volume for logs",
"type": "string"
},
"logTTL": {
"default": 15,
"description": "TTL (expiration time) for query_log and query_thread_log",
"type": "number"
},
"replicas": {
"default": 2,
"description": "Number of Clickhouse replicas",
"type": "number"
},
"resources": {
"type": "object",
"default": {},
"description": "Explicit CPU and memory configuration for each ClickHouse replica. When left empty, the preset defined in `resourcesPreset` is applied.",
"default": {}
"type": "object"
},
"resourcesPreset": {
"type": "string",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"default": "small",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"type": "string",
"enum": [
"nano",
"micro",
@@ -31,70 +79,22 @@
"2xlarge"
]
},
"shards": {
"default": 1,
"description": "Number of Clickhouse shards",
"type": "number"
},
"size": {
"type": "string",
"default": "10Gi",
"description": "Persistent Volume Claim size, available for application data",
"default": "10Gi"
"type": "string"
},
"storageClass": {
"type": "string",
"default": "",
"description": "StorageClass used to store the application data",
"default": ""
},
"logStorageSize": {
"type": "string",
"description": "Size of Persistent Volume for logs",
"default": "2Gi"
},
"logTTL": {
"type": "number",
"description": "TTL (expiration time) for query_log and query_thread_log",
"default": 15
},
"backup": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable periodic backups",
"default": false
},
"s3Region": {
"type": "string",
"description": "AWS S3 region where backups are stored",
"default": "us-east-1"
},
"s3Bucket": {
"type": "string",
"description": "S3 bucket used for storing backups",
"default": "s3.example.org/clickhouse-backups"
},
"schedule": {
"type": "string",
"description": "Cron schedule for automated backups",
"default": "0 2 * * *"
},
"cleanupStrategy": {
"type": "string",
"description": "Retention strategy for cleaning up old backups",
"default": "--keep-last=3 --keep-daily=3 --keep-within-weekly=1m"
},
"s3AccessKey": {
"type": "string",
"description": "Access key for S3, used for authentication",
"default": "oobaiRus9pah8PhohL1ThaeTa4UVa7gu"
},
"s3SecretKey": {
"type": "string",
"description": "Secret key for S3, used for authentication",
"default": "ju3eum4dekeich9ahM1te8waeGai0oog"
},
"resticPassword": {
"type": "string",
"description": "Password for Restic backup encryption",
"default": "ChaXoveekoh6eigh4siesheeda2quai0"
}
}
"type": "string"
}
}
},
"title": "Chart Values",
"type": "object"
}

View File

@@ -2,7 +2,7 @@ include ../../../scripts/package.mk
PRESET_ENUM := ["nano","micro","small","medium","large","xlarge","2xlarge"]
generate:
readme-generator -v values.yaml -s values.schema.json -r README.md
readme-generator-for-helm -v values.yaml -s values.schema.json -r README.md
yq -i -o json --indent 4 '.properties.resourcesPreset.enum = $(PRESET_ENUM)' values.schema.json
update:

View File

@@ -45,8 +45,6 @@ Internally, FerretDB service is backed by Postgres.
| `bootstrap.recoveryTime` | Timestamp (PITR) up to which recovery will proceed, expressed in RFC 3339 format. If left empty, will restore latest | `""` |
| `bootstrap.oldName` | Name of database cluster before deleting | `""` |
## Parameter examples and reference
### resources and resourcesPreset

View File

@@ -1,21 +1,99 @@
{
"title": "Chart Values",
"type": "object",
"properties": {
"backup": {
"properties": {
"destinationPath": {
"default": "s3://bucket/path/to/folder/",
"description": "Path to store the backup (i.e. s3://bucket/path/to/folder)",
"type": "string"
},
"enabled": {
"default": false,
"description": "Enable regular backups",
"type": "boolean"
},
"endpointURL": {
"default": "http://minio-gateway-service:9000",
"description": "S3 Endpoint used to upload data to the cloud",
"type": "string"
},
"retentionPolicy": {
"default": "30d",
"description": "Retention policy",
"type": "string"
},
"s3AccessKey": {
"default": "oobaiRus9pah8PhohL1ThaeTa4UVa7gu",
"description": "Access key for S3, used for authentication",
"type": "string"
},
"s3SecretKey": {
"default": "ju3eum4dekeich9ahM1te8waeGai0oog",
"description": "Secret key for S3, used for authentication",
"type": "string"
},
"schedule": {
"default": "0 2 * * * *",
"description": "Cron schedule for automated backups",
"type": "string"
}
},
"type": "object"
},
"bootstrap": {
"properties": {
"enabled": {
"default": false,
"description": "Restore database cluster from a backup",
"type": "boolean"
},
"oldName": {
"default": "",
"description": "Name of database cluster before deleting",
"type": "string"
},
"recoveryTime": {
"default": "",
"description": "Timestamp (PITR) up to which recovery will proceed, expressed in RFC 3339 format. If left empty, will restore latest",
"type": "string"
}
},
"type": "object"
},
"external": {
"default": false,
"description": "Enable external access from outside the cluster",
"type": "boolean"
},
"quorum": {
"properties": {
"maxSyncReplicas": {
"default": 0,
"description": "Maximum number of synchronous replicas that can acknowledge a transaction (must be lower than the total number of replicas)",
"type": "number"
},
"minSyncReplicas": {
"default": 0,
"description": "Minimum number of synchronous replicas that must acknowledge a transaction before it is considered committed",
"type": "number"
}
},
"type": "object"
},
"replicas": {
"type": "number",
"default": 2,
"description": "Number of replicas",
"default": 2
"type": "number"
},
"resources": {
"type": "object",
"default": {},
"description": "Explicit CPU and memory configuration for each FerretDB replica. When left empty, the preset defined in `resourcesPreset` is applied.",
"default": {}
"type": "object"
},
"resourcesPreset": {
"type": "string",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge.",
"default": "micro",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge.",
"type": "string",
"enum": [
"nano",
"micro",
@@ -27,94 +105,16 @@
]
},
"size": {
"type": "string",
"default": "10Gi",
"description": "Persistent Volume size",
"default": "10Gi"
"type": "string"
},
"storageClass": {
"type": "string",
"default": "",
"description": "StorageClass used to store the data",
"default": ""
},
"external": {
"type": "boolean",
"description": "Enable external access from outside the cluster",
"default": false
},
"quorum": {
"type": "object",
"properties": {
"minSyncReplicas": {
"type": "number",
"description": "Minimum number of synchronous replicas that must acknowledge a transaction before it is considered committed",
"default": 0
},
"maxSyncReplicas": {
"type": "number",
"description": "Maximum number of synchronous replicas that can acknowledge a transaction (must be lower than the total number of replicas)",
"default": 0
}
}
},
"backup": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable regular backups",
"default": false
},
"schedule": {
"type": "string",
"description": "Cron schedule for automated backups",
"default": "0 2 * * * *"
},
"retentionPolicy": {
"type": "string",
"description": "Retention policy",
"default": "30d"
},
"destinationPath": {
"type": "string",
"description": "Path to store the backup (i.e. s3://bucket/path/to/folder)",
"default": "s3://bucket/path/to/folder/"
},
"endpointURL": {
"type": "string",
"description": "S3 Endpoint used to upload data to the cloud",
"default": "http://minio-gateway-service:9000"
},
"s3AccessKey": {
"type": "string",
"description": "Access key for S3, used for authentication",
"default": "oobaiRus9pah8PhohL1ThaeTa4UVa7gu"
},
"s3SecretKey": {
"type": "string",
"description": "Secret key for S3, used for authentication",
"default": "ju3eum4dekeich9ahM1te8waeGai0oog"
}
}
},
"bootstrap": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Restore database cluster from a backup",
"default": false
},
"recoveryTime": {
"type": "string",
"description": "Timestamp (PITR) up to which recovery will proceed, expressed in RFC 3339 format. If left empty, will restore latest",
"default": ""
},
"oldName": {
"type": "string",
"description": "Name of database cluster before deleting",
"default": ""
}
}
"type": "string"
}
}
},
"title": "Chart Values",
"type": "object"
}

View File

@@ -23,7 +23,7 @@ image-nginx:
rm -f images/nginx-cache.json
generate:
readme-generator -v values.yaml -s values.schema.json -r README.md
readme-generator-for-helm -v values.yaml -s values.schema.json -r README.md
yq -i -o json --indent 4 '.properties.haproxy.properties.resourcesPreset.enum = $(PRESET_ENUM)' values.schema.json
yq -i -o json --indent 4 '.properties.nginx.properties.resourcesPreset.enum = $(PRESET_ENUM)' values.schema.json

View File

@@ -1,45 +1,34 @@
{
"title": "Chart Values",
"type": "object",
"properties": {
"size": {
"type": "string",
"description": "Persistent Volume size",
"default": "10Gi"
},
"storageClass": {
"type": "string",
"description": "StorageClass used to store the data",
"default": ""
"endpoints": {
"default": [],
"description": "Endpoints configuration",
"items": {
"type": "string"
},
"type": "array"
},
"external": {
"type": "boolean",
"default": false,
"description": "Enable external access from outside the cluster",
"default": false
},
"endpoints": {
"type": "array",
"description": "Endpoints configuration",
"default": [],
"items": {}
"type": "boolean"
},
"haproxy": {
"type": "object",
"properties": {
"replicas": {
"type": "number",
"default": 2,
"description": "Number of HAProxy replicas",
"default": 2
"type": "number"
},
"resources": {
"type": "object",
"default": {},
"description": "Explicit CPU and memory configuration for each HAProxy replica. When left empty, the preset defined in `resourcesPreset` is applied.",
"default": {}
"type": "object"
},
"resourcesPreset": {
"type": "string",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"default": "nano",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"type": "string",
"enum": [
"nano",
"micro",
@@ -50,25 +39,25 @@
"2xlarge"
]
}
}
},
"type": "object"
},
"nginx": {
"type": "object",
"properties": {
"replicas": {
"type": "number",
"default": 2,
"description": "Number of Nginx replicas",
"default": 2
"type": "number"
},
"resources": {
"type": "object",
"default": {},
"description": "Explicit CPU and memory configuration for each nginx replica. When left empty, the preset defined in `resourcesPreset` is applied.",
"default": {}
"type": "object"
},
"resourcesPreset": {
"type": "string",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"default": "nano",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"type": "string",
"enum": [
"nano",
"micro",
@@ -79,7 +68,20 @@
"2xlarge"
]
}
}
},
"type": "object"
},
"size": {
"default": "10Gi",
"description": "Persistent Volume size",
"type": "string"
},
"storageClass": {
"default": "",
"description": "StorageClass used to store the data",
"type": "string"
}
}
},
"title": "Chart Values",
"type": "object"
}

View File

@@ -2,6 +2,6 @@ include ../../../scripts/package.mk
PRESET_ENUM := ["nano","micro","small","medium","large","xlarge","2xlarge"]
generate:
readme-generator -v values.yaml -s values.schema.json -r README.md
readme-generator-for-helm -v values.yaml -s values.schema.json -r README.md
yq -i -o json --indent 4 '.properties.kafka.properties.resourcesPreset.enum = $(PRESET_ENUM)' values.schema.json
yq -i -o json --indent 4 '.properties.zookeeper.properties.resourcesPreset.enum = $(PRESET_ENUM)' values.schema.json

View File

@@ -1,35 +1,26 @@
{
"title": "Chart Values",
"type": "object",
"properties": {
"external": {
"type": "boolean",
"default": false,
"description": "Enable external access from outside the cluster",
"default": false
},
"topics": {
"type": "array",
"description": "Topics configuration (see example)",
"default": [],
"items": {}
"type": "boolean"
},
"kafka": {
"type": "object",
"properties": {
"replicas": {
"type": "number",
"default": 3,
"description": "Number of Kafka replicas",
"default": 3
"type": "number"
},
"resources": {
"type": "object",
"default": {},
"description": "Explicit CPU and memory configuration for each Kafka replica. When left empty, the preset defined in `resourcesPreset` is applied.",
"default": {}
"type": "object"
},
"resourcesPreset": {
"type": "string",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"default": "small",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"type": "string",
"enum": [
"nano",
"micro",
@@ -41,34 +32,42 @@
]
},
"size": {
"type": "string",
"default": "10Gi",
"description": "Persistent Volume size for Kafka",
"default": "10Gi"
"type": "string"
},
"storageClass": {
"type": "string",
"default": "",
"description": "StorageClass used to store the Kafka data",
"default": ""
"type": "string"
}
}
},
"type": "object"
},
"topics": {
"default": [],
"description": "Topics configuration (see example)",
"items": {
"type": "string"
},
"type": "array"
},
"zookeeper": {
"type": "object",
"properties": {
"replicas": {
"type": "number",
"default": 3,
"description": "Number of ZooKeeper replicas",
"default": 3
"type": "number"
},
"resources": {
"type": "object",
"default": {},
"description": "Explicit CPU and memory configuration for each Zookeeper replica. When left empty, the preset defined in `resourcesPreset` is applied.",
"default": {}
"type": "object"
},
"resourcesPreset": {
"type": "string",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"default": "small",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"type": "string",
"enum": [
"nano",
"micro",
@@ -80,16 +79,19 @@
]
},
"size": {
"type": "string",
"default": "5Gi",
"description": "Persistent Volume size for ZooKeeper",
"default": "5Gi"
"type": "string"
},
"storageClass": {
"type": "string",
"default": "",
"description": "StorageClass used to store the ZooKeeper data",
"default": ""
"type": "string"
}
}
},
"type": "object"
}
}
},
"title": "Chart Values",
"type": "object"
}

View File

@@ -6,7 +6,7 @@ include ../../../scripts/common-envs.mk
include ../../../scripts/package.mk
generate:
readme-generator -v values.yaml -s values.schema.json -r README.md
readme-generator-for-helm -v values.yaml -s values.schema.json -r README.md
yq -o=json -i '.properties.version.enum = (load("files/versions.yaml") | keys)' values.schema.json
yq -o json -i '.properties.addons.properties.ingressNginx.properties.exposeMethod.enum = ["Proxied","LoadBalancer"]' values.schema.json
yq -o json -i '.properties.controlPlane.properties.apiServer.properties.resourcesPreset.enum = $(PRESET_ENUM)' values.schema.json

View File

@@ -132,7 +132,6 @@ See the reference for components utilized in this service:
| `controlPlane.konnectivity.server.resources` | Explicit CPU and memory configuration for Konnectivity. When left empty, the preset defined in `resourcesPreset` is applied. | `{}` |
| `controlPlane.konnectivity.server.resourcesPreset` | Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge. | `micro` |
## Parameter examples and reference
### resources and resourcesPreset

View File

@@ -1,190 +1,160 @@
{
"title": "Chart Values",
"type": "object",
"properties": {
"storageClass": {
"type": "string",
"description": "StorageClass used to store user data.",
"default": "replicated"
},
"version": {
"type": "string",
"description": "Kubernetes version given as vMAJOR.MINOR. Available are versions from 1.28 to 1.33.",
"default": "v1.32",
"enum": [
"v1.28",
"v1.29",
"v1.30",
"v1.31",
"v1.32",
"v1.33"
]
},
"host": {
"type": "string",
"description": "Hostname used to access the Kubernetes cluster externally. Defaults to `<cluster-name>.<tenant-host>` when empty.",
"default": ""
},
"addons": {
"type": "object",
"properties": {
"certManager": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"default": false,
"description": "Enable cert-manager, which automatically creates and manages SSL/TLS certificates.",
"default": false
"type": "boolean"
},
"valuesOverride": {
"type": "object",
"default": {},
"description": "Custom values to override",
"default": {}
"type": "object"
}
}
},
"type": "object"
},
"cilium": {
"type": "object",
"properties": {
"valuesOverride": {
"type": "object",
"default": {},
"description": "Custom values to override",
"default": {}
"type": "object"
}
}
},
"type": "object"
},
"fluxcd": {
"properties": {
"enabled": {
"default": false,
"description": "Enable FluxCD",
"type": "boolean"
},
"valuesOverride": {
"default": {},
"description": "Custom values to override",
"type": "object"
}
},
"type": "object"
},
"gatewayAPI": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"default": false,
"description": "Enable the Gateway API",
"default": false
"type": "boolean"
}
}
},
"type": "object"
},
"gpuOperator": {
"properties": {
"enabled": {
"default": false,
"description": "Enable the GPU-operator",
"type": "boolean"
},
"valuesOverride": {
"default": {},
"description": "Custom values to override",
"type": "object"
}
},
"type": "object"
},
"ingressNginx": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"default": false,
"description": "Enable the Ingress-NGINX controller (requires nodes labeled with the 'ingress-nginx' role).",
"default": false
"type": "boolean"
},
"exposeMethod": {
"type": "string",
"description": "Method to expose the Ingress-NGINX controller. (allowed values: Proxied, LoadBalancer)",
"default": "Proxied",
"description": "Method to expose the Ingress-NGINX controller. (allowed values: Proxied, LoadBalancer)",
"type": "string",
"enum": [
"Proxied",
"LoadBalancer"
]
},
"hosts": {
"type": "array",
"description": "List of domain names that the parent cluster should route to this tenant cluster. Taken into account only when `exposeMethod` is set to `Proxied`.",
"default": [],
"items": {}
"description": "List of domain names that the parent cluster should route to this tenant cluster. Taken into account only when `exposeMethod` is set to `Proxied`.",
"items": {
"type": "string"
},
"type": "array"
},
"valuesOverride": {
"type": "object",
"default": {},
"description": "Custom values to override",
"default": {}
"type": "object"
}
}
},
"gpuOperator": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable the GPU-operator",
"default": false
},
"valuesOverride": {
"type": "object",
"description": "Custom values to override",
"default": {}
}
}
},
"fluxcd": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable FluxCD",
"default": false
},
"valuesOverride": {
"type": "object",
"description": "Custom values to override",
"default": {}
}
}
},
"type": "object"
},
"monitoringAgents": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"default": false,
"description": "Enable monitoring agents (Fluent Bit and VMAgents) to send logs and metrics. If tenant monitoring is enabled, data is sent to tenant storage; otherwise, it goes to root storage.",
"default": false
"type": "boolean"
},
"valuesOverride": {
"type": "object",
"default": {},
"description": "Custom values to override",
"default": {}
"type": "object"
}
}
},
"verticalPodAutoscaler": {
"type": "object",
"properties": {
"valuesOverride": {
"type": "object",
"description": "Custom values to override",
"default": {}
}
}
},
"type": "object"
},
"velero": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"default": false,
"description": "Enable velero for backup and restore k8s cluster.",
"default": false
"type": "boolean"
},
"valuesOverride": {
"type": "object",
"default": {},
"description": "Custom values to override",
"default": {}
"type": "object"
}
}
},
"type": "object"
},
"verticalPodAutoscaler": {
"properties": {
"valuesOverride": {
"default": {},
"description": "Custom values to override",
"type": "object"
}
},
"type": "object"
}
}
},
"type": "object"
},
"controlPlane": {
"type": "object",
"properties": {
"replicas": {
"type": "number",
"description": "Number of replicas for Kubernetes control-plane components.",
"default": 2
},
"apiServer": {
"type": "object",
"properties": {
"resources": {
"type": "object",
"default": {},
"description": "Explicit CPU and memory configuration for the API Server. When left empty, the preset defined in `resourcesPreset` is applied.",
"default": {}
"type": "object"
},
"resourcesPreset": {
"type": "string",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"default": "medium",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"type": "string",
"enum": [
"nano",
"micro",
@@ -195,20 +165,20 @@
"2xlarge"
]
}
}
},
"type": "object"
},
"controllerManager": {
"type": "object",
"properties": {
"resources": {
"type": "object",
"default": {},
"description": "Explicit CPU and memory configuration for the Controller Manager. When left empty, the preset defined in `resourcesPreset` is applied.",
"default": {}
"type": "object"
},
"resourcesPreset": {
"type": "string",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"default": "micro",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"type": "string",
"enum": [
"nano",
"micro",
@@ -219,47 +189,22 @@
"2xlarge"
]
}
}
},
"scheduler": {
"type": "object",
"properties": {
"resources": {
"type": "object",
"description": "Explicit CPU and memory configuration for the Scheduler. When left empty, the preset defined in `resourcesPreset` is applied.",
"default": {}
},
"resourcesPreset": {
"type": "string",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"default": "micro",
"enum": [
"nano",
"micro",
"small",
"medium",
"large",
"xlarge",
"2xlarge"
]
}
}
},
"type": "object"
},
"konnectivity": {
"type": "object",
"properties": {
"server": {
"type": "object",
"properties": {
"resources": {
"type": "object",
"default": {},
"description": "Explicit CPU and memory configuration for Konnectivity. When left empty, the preset defined in `resourcesPreset` is applied.",
"default": {}
"type": "object"
},
"resourcesPreset": {
"type": "string",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"default": "micro",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"type": "string",
"enum": [
"nano",
"micro",
@@ -270,11 +215,68 @@
"2xlarge"
]
}
}
},
"type": "object"
}
}
},
"type": "object"
},
"replicas": {
"default": 2,
"description": "Number of replicas for Kubernetes control-plane components.",
"type": "number"
},
"scheduler": {
"properties": {
"resources": {
"default": {},
"description": "Explicit CPU and memory configuration for the Scheduler. When left empty, the preset defined in `resourcesPreset` is applied.",
"type": "object"
},
"resourcesPreset": {
"default": "micro",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"type": "string",
"enum": [
"nano",
"micro",
"small",
"medium",
"large",
"xlarge",
"2xlarge"
]
}
},
"type": "object"
}
}
},
"type": "object"
},
"host": {
"default": "",
"description": "Hostname used to access the Kubernetes cluster externally. Defaults to `<cluster-name>.<tenant-host>` when empty.",
"type": "string"
},
"storageClass": {
"default": "replicated",
"description": "StorageClass used to store user data.",
"type": "string"
},
"version": {
"default": "v1.32",
"description": "Kubernetes version given as vMAJOR.MINOR. Available are versions from 1.28 to 1.33.",
"type": "string",
"enum": [
"v1.28",
"v1.29",
"v1.30",
"v1.31",
"v1.32",
"v1.33"
]
}
}
},
"title": "Chart Values",
"type": "object"
}

View File

@@ -5,7 +5,7 @@ include ../../../scripts/common-envs.mk
include ../../../scripts/package.mk
generate:
readme-generator -v values.yaml -s values.schema.json -r README.md
readme-generator-for-helm -v values.yaml -s values.schema.json -r README.md
yq -i -o json --indent 4 '.properties.resourcesPreset.enum = $(PRESET_ENUM)' values.schema.json
image:

View File

@@ -1,21 +1,69 @@
{
"title": "Chart Values",
"type": "object",
"properties": {
"backup": {
"properties": {
"cleanupStrategy": {
"default": "--keep-last=3 --keep-daily=3 --keep-within-weekly=1m",
"description": "The strategy for cleaning up old backups",
"type": "string"
},
"enabled": {
"default": false,
"description": "Enable periodic backups",
"type": "boolean"
},
"resticPassword": {
"default": "ChaXoveekoh6eigh4siesheeda2quai0",
"description": "The password for Restic backup encryption",
"type": "string"
},
"s3AccessKey": {
"default": "oobaiRus9pah8PhohL1ThaeTa4UVa7gu",
"description": "The access key for S3, used for authentication",
"type": "string"
},
"s3Bucket": {
"default": "s3.example.org/postgres-backups",
"description": "The S3 bucket used for storing backups",
"type": "string"
},
"s3Region": {
"default": "us-east-1",
"description": "The AWS S3 region where backups are stored",
"type": "string"
},
"s3SecretKey": {
"default": "ju3eum4dekeich9ahM1te8waeGai0oog",
"description": "The secret key for S3, used for authentication",
"type": "string"
},
"schedule": {
"default": "0 2 * * *",
"description": "Cron schedule for automated backups",
"type": "string"
}
},
"type": "object"
},
"external": {
"default": false,
"description": "Enable external access from outside the cluster",
"type": "boolean"
},
"replicas": {
"type": "number",
"default": 2,
"description": "Number of MariaDB replicas",
"default": 2
"type": "number"
},
"resources": {
"type": "object",
"default": {},
"description": "Explicit CPU and memory configuration for each MariaDB replica. When left empty, the preset defined in `resourcesPreset` is applied.",
"default": {}
"type": "object"
},
"resourcesPreset": {
"type": "string",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"default": "nano",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"type": "string",
"enum": [
"nano",
"micro",
@@ -27,64 +75,16 @@
]
},
"size": {
"type": "string",
"default": "10Gi",
"description": "Persistent Volume size",
"default": "10Gi"
"type": "string"
},
"storageClass": {
"type": "string",
"default": "",
"description": "StorageClass used to store the data",
"default": ""
},
"external": {
"type": "boolean",
"description": "Enable external access from outside the cluster",
"default": false
},
"backup": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable periodic backups",
"default": false
},
"s3Region": {
"type": "string",
"description": "The AWS S3 region where backups are stored",
"default": "us-east-1"
},
"s3Bucket": {
"type": "string",
"description": "The S3 bucket used for storing backups",
"default": "s3.example.org/postgres-backups"
},
"schedule": {
"type": "string",
"description": "Cron schedule for automated backups",
"default": "0 2 * * *"
},
"cleanupStrategy": {
"type": "string",
"description": "The strategy for cleaning up old backups",
"default": "--keep-last=3 --keep-daily=3 --keep-within-weekly=1m"
},
"s3AccessKey": {
"type": "string",
"description": "The access key for S3, used for authentication",
"default": "oobaiRus9pah8PhohL1ThaeTa4UVa7gu"
},
"s3SecretKey": {
"type": "string",
"description": "The secret key for S3, used for authentication",
"default": "ju3eum4dekeich9ahM1te8waeGai0oog"
},
"resticPassword": {
"type": "string",
"description": "The password for Restic backup encryption",
"default": "ChaXoveekoh6eigh4siesheeda2quai0"
}
}
"type": "string"
}
}
},
"title": "Chart Values",
"type": "object"
}

View File

@@ -2,5 +2,5 @@ include ../../../scripts/package.mk
PRESET_ENUM := ["nano","micro","small","medium","large","xlarge","2xlarge"]
generate:
readme-generator -v values.yaml -s values.schema.json -r README.md
readme-generator-for-helm -v values.yaml -s values.schema.json -r README.md
yq -i -o json --indent 4 '.properties.resourcesPreset.enum = $(PRESET_ENUM)' values.schema.json

View File

@@ -1,21 +1,54 @@
{
"title": "Chart Values",
"type": "object",
"properties": {
"config": {
"properties": {
"merge": {
"default": {},
"description": "Additional configuration to merge into NATS config (see example)",
"type": "object"
},
"resolver": {
"default": {},
"description": "Additional resolver configuration to merge into NATS config (see example)",
"type": "object"
}
},
"type": "object"
},
"external": {
"default": false,
"description": "Enable external access from outside the cluster",
"type": "boolean"
},
"jetstream": {
"properties": {
"enabled": {
"default": true,
"description": "Enable or disable Jetstream",
"type": "boolean"
},
"size": {
"default": "10Gi",
"description": "Jetstream persistent storage size",
"type": "string"
}
},
"type": "object"
},
"replicas": {
"type": "number",
"default": 2,
"description": "Number of replicas",
"default": 2
"type": "number"
},
"resources": {
"type": "object",
"default": {},
"description": "Explicit CPU and memory configuration for each NATS replica. When left empty, the preset defined in `resourcesPreset` is applied.",
"default": {}
"type": "object"
},
"resourcesPreset": {
"type": "string",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"default": "nano",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"type": "string",
"enum": [
"nano",
"micro",
@@ -27,44 +60,11 @@
]
},
"storageClass": {
"type": "string",
"default": "",
"description": "StorageClass used to store the data",
"default": ""
},
"external": {
"type": "boolean",
"description": "Enable external access from outside the cluster",
"default": false
},
"jetstream": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable or disable Jetstream",
"default": true
},
"size": {
"type": "string",
"description": "Jetstream persistent storage size",
"default": "10Gi"
}
}
},
"config": {
"type": "object",
"properties": {
"merge": {
"type": "object",
"description": "Additional configuration to merge into NATS config (see example)",
"default": {}
},
"resolver": {
"type": "object",
"description": "Additional resolver configuration to merge into NATS config (see example)",
"default": {}
}
}
"type": "string"
}
}
},
"title": "Chart Values",
"type": "object"
}

View File

@@ -2,5 +2,5 @@ include ../../../scripts/package.mk
PRESET_ENUM := ["nano","micro","small","medium","large","xlarge","2xlarge"]
generate:
readme-generator -v values.yaml -s values.schema.json -r README.md
readme-generator-for-helm -v values.yaml -s values.schema.json -r README.md
yq -i -o json --indent 4 '.properties.resourcesPreset.enum = $(PRESET_ENUM)' values.schema.json

View File

@@ -105,7 +105,6 @@ See:
| `bootstrap.recoveryTime` | Timestamp (PITR) up to which recovery will proceed, expressed in RFC 3339 format. If left empty, will restore latest | `""` |
| `bootstrap.oldName` | Name of database cluster before deleting | `""` |
## Parameter examples and reference
### resources and resourcesPreset

View File

@@ -1,21 +1,119 @@
{
"title": "Chart Values",
"type": "object",
"properties": {
"backup": {
"properties": {
"destinationPath": {
"default": "s3://bucket/path/to/folder/",
"description": "Path to store the backup (i.e. s3://bucket/path/to/folder)",
"type": "string"
},
"enabled": {
"default": false,
"description": "Enable regular backups",
"type": "boolean"
},
"endpointURL": {
"default": "http://minio-gateway-service:9000",
"description": "S3 Endpoint used to upload data to the cloud",
"type": "string"
},
"retentionPolicy": {
"default": "30d",
"description": "Retention policy",
"type": "string"
},
"s3AccessKey": {
"default": "oobaiRus9pah8PhohL1ThaeTa4UVa7gu",
"description": "Access key for S3, used for authentication",
"type": "string"
},
"s3SecretKey": {
"default": "ju3eum4dekeich9ahM1te8waeGai0oog",
"description": "Secret key for S3, used for authentication",
"type": "string"
},
"schedule": {
"default": "0 2 * * * *",
"description": "Cron schedule for automated backups",
"type": "string"
}
},
"type": "object"
},
"bootstrap": {
"properties": {
"enabled": {
"default": false,
"description": "Restore database cluster from a backup",
"type": "boolean"
},
"oldName": {
"default": "",
"description": "Name of database cluster before deleting",
"type": "string"
},
"recoveryTime": {
"default": "",
"description": "Timestamp (PITR) up to which recovery will proceed, expressed in RFC 3339 format. If left empty, will restore latest",
"type": "string"
}
},
"type": "object"
},
"databases": {
"default": {},
"description": "Databases configuration",
"type": "object"
},
"external": {
"default": false,
"description": "Enable external access from outside the cluster",
"type": "boolean"
},
"postgresql": {
"properties": {
"parameters": {
"properties": {
"max_connections": {
"default": 100,
"description": "Determines the maximum number of concurrent connections to the database server. The default is typically 100 connections",
"type": "number"
}
},
"type": "object"
}
},
"type": "object"
},
"quorum": {
"properties": {
"maxSyncReplicas": {
"default": 0,
"description": "Maximum number of synchronous replicas that can acknowledge a transaction (must be lower than the number of instances).",
"type": "number"
},
"minSyncReplicas": {
"default": 0,
"description": "Minimum number of synchronous replicas that must acknowledge a transaction before it is considered committed.",
"type": "number"
}
},
"type": "object"
},
"replicas": {
"type": "number",
"default": 2,
"description": "Number of Postgres replicas",
"default": 2
"type": "number"
},
"resources": {
"type": "object",
"default": {},
"description": "Explicit CPU and memory configuration for each PostgreSQL replica. When left empty, the preset defined in `resourcesPreset` is applied.",
"default": {}
"type": "object"
},
"resourcesPreset": {
"type": "string",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"default": "micro",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"type": "string",
"enum": [
"nano",
"micro",
@@ -27,114 +125,16 @@
]
},
"size": {
"type": "string",
"default": "10Gi",
"description": "Persistent Volume size",
"default": "10Gi"
"type": "string"
},
"storageClass": {
"type": "string",
"default": "",
"description": "StorageClass used to store the data",
"default": ""
},
"external": {
"type": "boolean",
"description": "Enable external access from outside the cluster",
"default": false
},
"postgresql": {
"type": "object",
"properties": {
"parameters": {
"type": "object",
"properties": {
"max_connections": {
"type": "number",
"description": "Determines the maximum number of concurrent connections to the database server. The default is typically 100 connections",
"default": 100
}
}
}
}
},
"quorum": {
"type": "object",
"properties": {
"minSyncReplicas": {
"type": "number",
"description": "Minimum number of synchronous replicas that must acknowledge a transaction before it is considered committed.",
"default": 0
},
"maxSyncReplicas": {
"type": "number",
"description": "Maximum number of synchronous replicas that can acknowledge a transaction (must be lower than the number of instances).",
"default": 0
}
}
},
"databases": {
"type": "object",
"description": "Databases configuration",
"default": {}
},
"backup": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable regular backups",
"default": false
},
"schedule": {
"type": "string",
"description": "Cron schedule for automated backups",
"default": "0 2 * * * *"
},
"retentionPolicy": {
"type": "string",
"description": "Retention policy",
"default": "30d"
},
"destinationPath": {
"type": "string",
"description": "Path to store the backup (i.e. s3://bucket/path/to/folder)",
"default": "s3://bucket/path/to/folder/"
},
"endpointURL": {
"type": "string",
"description": "S3 Endpoint used to upload data to the cloud",
"default": "http://minio-gateway-service:9000"
},
"s3AccessKey": {
"type": "string",
"description": "Access key for S3, used for authentication",
"default": "oobaiRus9pah8PhohL1ThaeTa4UVa7gu"
},
"s3SecretKey": {
"type": "string",
"description": "Secret key for S3, used for authentication",
"default": "ju3eum4dekeich9ahM1te8waeGai0oog"
}
}
},
"bootstrap": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Restore database cluster from a backup",
"default": false
},
"recoveryTime": {
"type": "string",
"description": "Timestamp (PITR) up to which recovery will proceed, expressed in RFC 3339 format. If left empty, will restore latest",
"default": ""
},
"oldName": {
"type": "string",
"description": "Name of database cluster before deleting",
"default": ""
}
}
"type": "string"
}
}
},
"title": "Chart Values",
"type": "object"
}

View File

@@ -2,5 +2,5 @@ include ../../../scripts/package.mk
PRESET_ENUM := ["nano","micro","small","medium","large","xlarge","2xlarge"]
generate:
readme-generator -v values.yaml -s values.schema.json -r README.md
readme-generator-for-helm -v values.yaml -s values.schema.json -r README.md
yq -i -o json --indent 4 '.properties.resourcesPreset.enum = $(PRESET_ENUM)' values.schema.json

View File

@@ -1,21 +1,24 @@
{
"title": "Chart Values",
"type": "object",
"properties": {
"external": {
"default": false,
"description": "Enable external access from outside the cluster",
"type": "boolean"
},
"replicas": {
"type": "number",
"default": 3,
"description": "Number of RabbitMQ replicas",
"default": 3
"type": "number"
},
"resources": {
"type": "object",
"default": {},
"description": "Explicit CPU and memory configuration for each RabbitMQ replica. When left empty, the preset defined in `resourcesPreset` is applied.",
"default": {}
"type": "object"
},
"resourcesPreset": {
"type": "string",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"default": "nano",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"type": "string",
"enum": [
"nano",
"micro",
@@ -27,24 +30,21 @@
]
},
"size": {
"type": "string",
"default": "10Gi",
"description": "Persistent Volume size",
"default": "10Gi"
"type": "string"
},
"storageClass": {
"type": "string",
"default": "",
"description": "StorageClass used to store the data",
"default": ""
},
"external": {
"type": "boolean",
"description": "Enable external access from outside the cluster",
"default": false
"type": "string"
},
"vhosts": {
"type": "object",
"default": {},
"description": "Virtual Hosts configuration",
"default": {}
"type": "object"
}
}
},
"title": "Chart Values",
"type": "object"
}

View File

@@ -2,5 +2,5 @@ include ../../../scripts/package.mk
PRESET_ENUM := ["nano","micro","small","medium","large","xlarge","2xlarge"]
generate:
readme-generator -v values.yaml -s values.schema.json -r README.md
readme-generator-for-helm -v values.yaml -s values.schema.json -r README.md
yq -i -o json --indent 4 '.properties.resourcesPreset.enum = $(PRESET_ENUM)' values.schema.json

View File

@@ -1,21 +1,29 @@
{
"title": "Chart Values",
"type": "object",
"properties": {
"authEnabled": {
"default": true,
"description": "Enable password generation",
"type": "boolean"
},
"external": {
"default": false,
"description": "Enable external access from outside the cluster",
"type": "boolean"
},
"replicas": {
"type": "number",
"default": 2,
"description": "Number of Redis replicas",
"default": 2
"type": "number"
},
"resources": {
"type": "object",
"default": {},
"description": "Explicit CPU and memory configuration for each Redis replica. When left empty, the preset defined in `resourcesPreset` is applied.",
"default": {}
"type": "object"
},
"resourcesPreset": {
"type": "string",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"default": "nano",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"type": "string",
"enum": [
"nano",
"micro",
@@ -27,24 +35,16 @@
]
},
"size": {
"type": "string",
"default": "1Gi",
"description": "Persistent Volume size",
"default": "1Gi"
"type": "string"
},
"storageClass": {
"type": "string",
"default": "",
"description": "StorageClass used to store the data",
"default": ""
},
"external": {
"type": "boolean",
"description": "Enable external access from outside the cluster",
"default": false
},
"authEnabled": {
"type": "boolean",
"description": "Enable password generation",
"default": true
"type": "string"
}
}
},
"title": "Chart Values",
"type": "object"
}

View File

@@ -2,7 +2,7 @@ include ../../../scripts/package.mk
PRESET_ENUM := ["nano","micro","small","medium","large","xlarge","2xlarge"]
generate:
readme-generator -v values.yaml -s values.schema.json -r README.md
readme-generator-for-helm -v values.yaml -s values.schema.json -r README.md
yq -i -o json --indent 2 '.properties.httpAndHttps.properties.mode.enum = ["tcp","tcp-with-proxy"]' values.schema.json
yq -i -o json --indent 2 '.properties.resourcesPreset.enum = $(PRESET_ENUM)' values.schema.json
rm -f values.schema.json.tmp

View File

@@ -1,21 +1,61 @@
{
"title": "Chart Values",
"type": "object",
"properties": {
"external": {
"default": false,
"description": "Enable external access from outside the cluster",
"type": "boolean"
},
"httpAndHttps": {
"properties": {
"endpoints": {
"default": [],
"description": "Endpoint addresses list",
"items": {
"type": "string"
},
"type": "array"
},
"mode": {
"default": "tcp",
"description": "Mode for balancer. Allowed values: `tcp` and `tcp-with-proxy`",
"type": "string",
"enum": [
"tcp",
"tcp-with-proxy"
]
},
"targetPorts": {
"properties": {
"http": {
"default": 80,
"description": "HTTP port number.",
"type": "number"
},
"https": {
"default": 443,
"description": "HTTPS port number.",
"type": "number"
}
},
"type": "object"
}
},
"type": "object"
},
"replicas": {
"type": "number",
"default": 2,
"description": "Number of HAProxy replicas",
"default": 2
"type": "number"
},
"resources": {
"type": "object",
"default": {},
"description": "Explicit CPU and memory configuration for each TCP Balancer replica. When left empty, the preset defined in `resourcesPreset` is applied.",
"default": {}
"type": "object"
},
"resourcesPreset": {
"type": "string",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"default": "nano",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"type": "string",
"enum": [
"nano",
"micro",
@@ -26,56 +66,20 @@
"2xlarge"
]
},
"external": {
"type": "boolean",
"description": "Enable external access from outside the cluster",
"default": false
},
"httpAndHttps": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"description": "Mode for balancer. Allowed values: `tcp` and `tcp-with-proxy`",
"default": "tcp",
"enum": [
"tcp",
"tcp-with-proxy"
]
},
"targetPorts": {
"type": "object",
"properties": {
"http": {
"type": "number",
"description": "HTTP port number.",
"default": 80
},
"https": {
"type": "number",
"description": "HTTPS port number.",
"default": 443
}
}
},
"endpoints": {
"type": "array",
"description": "Endpoint addresses list",
"default": [],
"items": {}
}
}
"whitelist": {
"default": [],
"description": "List of client networks",
"items": {
"type": "string"
},
"type": "array"
},
"whitelistHTTP": {
"type": "boolean",
"default": false,
"description": "Secure HTTP by whitelisting client networks",
"default": false
},
"whitelist": {
"type": "array",
"description": "List of client networks",
"default": [],
"items": {}
"type": "boolean"
}
}
},
"title": "Chart Values",
"type": "object"
}

View File

@@ -1,4 +1,4 @@
include ../../../scripts/package.mk
generate:
readme-generator -v values.yaml -s values.schema.json -r README.md
readme-generator-for-helm -v values.yaml -s values.schema.json -r README.md

View File

@@ -1,41 +1,41 @@
{
"title": "Chart Values",
"type": "object",
"properties": {
"host": {
"type": "string",
"description": "The hostname used to access tenant services (defaults to using the tenant name as a subdomain for it's parent tenant host).",
"default": ""
},
"etcd": {
"type": "boolean",
"default": false,
"description": "Deploy own Etcd cluster",
"default": false
"type": "boolean"
},
"monitoring": {
"type": "boolean",
"description": "Deploy own Monitoring Stack",
"default": false
"host": {
"default": "",
"description": "The hostname used to access tenant services (defaults to using the tenant name as a subdomain for it's parent tenant host).",
"type": "string"
},
"ingress": {
"type": "boolean",
"default": false,
"description": "Deploy own Ingress Controller",
"default": false
},
"seaweedfs": {
"type": "boolean",
"description": "Deploy own SeaweedFS",
"default": false
"type": "boolean"
},
"isolated": {
"type": "boolean",
"default": true,
"description": "Enforce tenant namespace with network policies",
"default": true
"type": "boolean"
},
"monitoring": {
"default": false,
"description": "Deploy own Monitoring Stack",
"type": "boolean"
},
"resourceQuotas": {
"type": "object",
"default": {},
"description": "Define resource quotas for the tenant",
"default": {}
"type": "object"
},
"seaweedfs": {
"default": false,
"description": "Deploy own SeaweedFS",
"type": "boolean"
}
}
},
"title": "Chart Values",
"type": "object"
}

View File

@@ -1,7 +1,7 @@
include ../../../scripts/package.mk
generate:
readme-generator -v values.yaml -s values.schema.json -r README.md
readme-generator-for-helm -v values.yaml -s values.schema.json -r README.md
yq -o json -i '.properties.gpus.items.type = "object" | .properties.gpus.default = []' values.schema.json
INSTANCE_TYPES=$$(yq e '.metadata.name' -o=json -r ../../system/kubevirt-instancetypes/templates/instancetypes.yaml | yq 'split(" ") | . + [""]' -o json) \
&& yq -i -o json ".properties.instanceType.optional=true | .properties.instanceType.enum = $${INSTANCE_TYPES}" values.schema.json

View File

@@ -1,38 +1,100 @@
{
"title": "Chart Values",
"type": "object",
"properties": {
"cloudInit": {
"default": "",
"description": "cloud-init user data config. See cloud-init documentation for more details.",
"type": "string"
},
"cloudInitSeed": {
"default": "",
"description": "A seed string to generate an SMBIOS UUID for the VM.",
"type": "string"
},
"external": {
"type": "boolean",
"default": false,
"description": "Enable external access from outside the cluster",
"default": false
"type": "boolean"
},
"externalMethod": {
"type": "string",
"description": "specify method to passthrough the traffic to the virtual machine. Allowed values: `WholeIP` and `PortList`",
"default": "PortList",
"description": "specify method to passthrough the traffic to the virtual machine. Allowed values: `WholeIP` and `PortList`",
"type": "string",
"enum": [
"PortList",
"WholeIP"
]
},
"externalPorts": {
"type": "array",
"default": [],
"description": "Specify ports to forward from outside the cluster",
"default": "[]",
"items": {
"type": "integer"
}
},
"type": "array"
},
"running": {
"type": "boolean",
"description": "Determines if the virtual machine should be running",
"default": true
"gpus": {
"default": [],
"description": "List of GPUs to attach",
"items": {
"type": "object"
},
"type": "array"
},
"instanceProfile": {
"default": "ubuntu",
"description": "Virtual Machine preferences profile",
"type": "string",
"optional": true,
"enum": [
"alpine",
"centos.7",
"centos.7.desktop",
"centos.stream10",
"centos.stream10.desktop",
"centos.stream8",
"centos.stream8.desktop",
"centos.stream8.dpdk",
"centos.stream9",
"centos.stream9.desktop",
"centos.stream9.dpdk",
"cirros",
"fedora",
"fedora.arm64",
"opensuse.leap",
"opensuse.tumbleweed",
"rhel.10",
"rhel.10.arm64",
"rhel.7",
"rhel.7.desktop",
"rhel.8",
"rhel.8.desktop",
"rhel.8.dpdk",
"rhel.9",
"rhel.9.arm64",
"rhel.9.desktop",
"rhel.9.dpdk",
"rhel.9.realtime",
"sles",
"ubuntu",
"windows.10",
"windows.10.virtio",
"windows.11",
"windows.11.virtio",
"windows.2k16",
"windows.2k16.virtio",
"windows.2k19",
"windows.2k19.virtio",
"windows.2k22",
"windows.2k22.virtio",
"windows.2k25",
"windows.2k25.virtio",
""
]
},
"instanceType": {
"type": "string",
"description": "Virtual Machine instance type",
"default": "u1.medium",
"description": "Virtual Machine instance type",
"type": "string",
"optional": true,
"enum": [
"cx1.2xlarge",
@@ -86,64 +148,45 @@
""
]
},
"instanceProfile": {
"type": "string",
"description": "Virtual Machine preferences profile",
"default": "ubuntu",
"optional": true,
"enum": [
"alpine",
"centos.7",
"centos.7.desktop",
"centos.stream10",
"centos.stream10.desktop",
"centos.stream8",
"centos.stream8.desktop",
"centos.stream8.dpdk",
"centos.stream9",
"centos.stream9.desktop",
"centos.stream9.dpdk",
"cirros",
"fedora",
"fedora.arm64",
"opensuse.leap",
"opensuse.tumbleweed",
"rhel.10",
"rhel.10.arm64",
"rhel.7",
"rhel.7.desktop",
"rhel.8",
"rhel.8.desktop",
"rhel.8.dpdk",
"rhel.9",
"rhel.9.arm64",
"rhel.9.desktop",
"rhel.9.dpdk",
"rhel.9.realtime",
"sles",
"ubuntu",
"windows.10",
"windows.10.virtio",
"windows.11",
"windows.11.virtio",
"windows.2k16",
"windows.2k16.virtio",
"windows.2k19",
"windows.2k19.virtio",
"windows.2k22",
"windows.2k22.virtio",
"windows.2k25",
"windows.2k25.virtio",
""
]
"resources": {
"properties": {
"cpu": {
"default": "",
"description": "The number of CPU cores allocated to the virtual machine",
"type": "string"
},
"memory": {
"default": "",
"description": "The amount of memory allocated to the virtual machine",
"type": "string"
},
"sockets": {
"default": "",
"description": "The number of CPU sockets allocated to the virtual machine (used to define vCPU topology)",
"type": "string"
}
},
"type": "object"
},
"running": {
"default": true,
"description": "Determines if the virtual machine should be running",
"type": "boolean"
},
"sshKeys": {
"default": [],
"description": "List of SSH public keys for authentication. Can be a single key or a list of keys.",
"items": {
"type": "string"
},
"type": "array"
},
"systemDisk": {
"type": "object",
"properties": {
"image": {
"type": "string",
"description": "The base image for the virtual machine. Allowed values: `ubuntu`, `cirros`, `alpine`, `fedora` and `talos`",
"default": "ubuntu",
"description": "The base image for the virtual machine. Allowed values: `ubuntu`, `cirros`, `alpine`, `fedora` and `talos`",
"type": "string",
"enum": [
"ubuntu",
"cirros",
@@ -153,62 +196,19 @@
]
},
"storage": {
"type": "string",
"default": "5Gi",
"description": "The size of the disk allocated for the virtual machine",
"default": "5Gi"
"type": "string"
},
"storageClass": {
"type": "string",
"default": "replicated",
"description": "StorageClass used to store the data",
"default": "replicated"
"type": "string"
}
}
},
"gpus": {
"type": "array",
"description": "List of GPUs to attach",
"default": [],
"items": {
"type": "object"
}
},
"resources": {
"type": "object",
"properties": {
"cpu": {
"type": "string",
"description": "The number of CPU cores allocated to the virtual machine",
"default": ""
},
"memory": {
"type": "string",
"description": "The amount of memory allocated to the virtual machine",
"default": ""
},
"sockets": {
"type": "string",
"description": "The number of CPU sockets allocated to the virtual machine (used to define vCPU topology)",
"default": ""
}
}
},
"sshKeys": {
"type": "array",
"description": "List of SSH public keys for authentication. Can be a single key or a list of keys.",
"default": "[]",
"items": {
"type": "string"
}
},
"cloudInit": {
"type": "string",
"description": "cloud-init user data config. See cloud-init documentation for more details.",
"default": ""
},
"cloudInitSeed": {
"type": "string",
"description": "A seed string to generate an SMBIOS UUID for the VM.",
"default": ""
},
"type": "object"
}
}
},
"title": "Chart Values",
"type": "object"
}

View File

@@ -1,4 +1,4 @@
include ../../../scripts/package.mk
generate:
readme-generator -v values.yaml -s values.schema.json -r README.md
readme-generator-for-helm -v values.yaml -s values.schema.json -r README.md

View File

@@ -1,26 +1,26 @@
{
"title": "Chart Values",
"type": "object",
"properties": {
"source": {
"type": "object",
"description": "The source image location used to create a disk",
"default": {}
},
"optical": {
"type": "boolean",
"default": false,
"description": "Defines is disk should be considered as optical",
"default": false
"type": "boolean"
},
"source": {
"default": {},
"description": "The source image location used to create a disk",
"type": "object"
},
"storage": {
"type": "string",
"default": "5Gi",
"description": "The size of the disk allocated for the virtual machine",
"default": "5Gi"
"type": "string"
},
"storageClass": {
"type": "string",
"default": "replicated",
"description": "StorageClass used to store the data",
"default": "replicated"
"type": "string"
}
}
},
"title": "Chart Values",
"type": "object"
}

View File

@@ -1,7 +1,7 @@
include ../../../scripts/package.mk
generate:
readme-generator -v values.yaml -s values.schema.json -r README.md
readme-generator-for-helm -v values.yaml -s values.schema.json -r README.md
yq -o json -i '.properties.disks.items.type = "object" | .properties.disks.default = []' values.schema.json
yq -o json -i '.properties.gpus.items.type = "object" | .properties.gpus.default = []' values.schema.json
INSTANCE_TYPES=$$(yq e '.metadata.name' -o=json -r ../../system/kubevirt-instancetypes/templates/instancetypes.yaml | yq 'split(" ") | . + [""]' -o json) \

View File

@@ -1,38 +1,108 @@
{
"title": "Chart Values",
"type": "object",
"properties": {
"cloudInit": {
"default": "",
"description": "cloud-init user data config. See cloud-init documentation for more details.",
"type": "string"
},
"cloudInitSeed": {
"default": "",
"description": "A seed string to generate an SMBIOS UUID for the VM.",
"type": "string"
},
"disks": {
"default": [],
"description": "List of disks to attach",
"items": {
"type": "object"
},
"type": "array"
},
"external": {
"type": "boolean",
"default": false,
"description": "Enable external access from outside the cluster",
"default": false
"type": "boolean"
},
"externalMethod": {
"type": "string",
"description": "specify method to passthrough the traffic to the virtual machine. Allowed values: `WholeIP` and `PortList`",
"default": "PortList",
"description": "specify method to passthrough the traffic to the virtual machine. Allowed values: `WholeIP` and `PortList`",
"type": "string",
"enum": [
"PortList",
"WholeIP"
]
},
"externalPorts": {
"type": "array",
"default": [],
"description": "Specify ports to forward from outside the cluster",
"default": "[]",
"items": {
"type": "integer"
}
},
"type": "array"
},
"running": {
"type": "boolean",
"description": "Determines if the virtual machine should be running",
"default": true
"gpus": {
"default": [],
"description": "List of GPUs to attach",
"items": {
"type": "object"
},
"type": "array"
},
"instanceProfile": {
"default": "ubuntu",
"description": "Virtual Machine preferences profile",
"type": "string",
"optional": true,
"enum": [
"alpine",
"centos.7",
"centos.7.desktop",
"centos.stream10",
"centos.stream10.desktop",
"centos.stream8",
"centos.stream8.desktop",
"centos.stream8.dpdk",
"centos.stream9",
"centos.stream9.desktop",
"centos.stream9.dpdk",
"cirros",
"fedora",
"fedora.arm64",
"opensuse.leap",
"opensuse.tumbleweed",
"rhel.10",
"rhel.10.arm64",
"rhel.7",
"rhel.7.desktop",
"rhel.8",
"rhel.8.desktop",
"rhel.8.dpdk",
"rhel.9",
"rhel.9.arm64",
"rhel.9.desktop",
"rhel.9.dpdk",
"rhel.9.realtime",
"sles",
"ubuntu",
"windows.10",
"windows.10.virtio",
"windows.11",
"windows.11.virtio",
"windows.2k16",
"windows.2k16.virtio",
"windows.2k19",
"windows.2k19.virtio",
"windows.2k22",
"windows.2k22.virtio",
"windows.2k25",
"windows.2k25.virtio",
""
]
},
"instanceType": {
"type": "string",
"description": "Virtual Machine instance type",
"default": "u1.medium",
"description": "Virtual Machine instance type",
"type": "string",
"optional": true,
"enum": [
"cx1.2xlarge",
@@ -86,110 +156,40 @@
""
]
},
"instanceProfile": {
"type": "string",
"description": "Virtual Machine preferences profile",
"default": "ubuntu",
"optional": true,
"enum": [
"alpine",
"centos.7",
"centos.7.desktop",
"centos.stream10",
"centos.stream10.desktop",
"centos.stream8",
"centos.stream8.desktop",
"centos.stream8.dpdk",
"centos.stream9",
"centos.stream9.desktop",
"centos.stream9.dpdk",
"cirros",
"fedora",
"fedora.arm64",
"opensuse.leap",
"opensuse.tumbleweed",
"rhel.10",
"rhel.10.arm64",
"rhel.7",
"rhel.7.desktop",
"rhel.8",
"rhel.8.desktop",
"rhel.8.dpdk",
"rhel.9",
"rhel.9.arm64",
"rhel.9.desktop",
"rhel.9.dpdk",
"rhel.9.realtime",
"sles",
"ubuntu",
"windows.10",
"windows.10.virtio",
"windows.11",
"windows.11.virtio",
"windows.2k16",
"windows.2k16.virtio",
"windows.2k19",
"windows.2k19.virtio",
"windows.2k22",
"windows.2k22.virtio",
"windows.2k25",
"windows.2k25.virtio",
""
]
},
"disks": {
"type": "array",
"description": "List of disks to attach",
"default": [],
"items": {
"type": "object"
}
},
"gpus": {
"type": "array",
"description": "List of GPUs to attach",
"default": [],
"items": {
"type": "object"
}
},
"resources": {
"type": "object",
"properties": {
"cpu": {
"type": "string",
"default": "",
"description": "The number of CPU cores allocated to the virtual machine",
"default": ""
"type": "string"
},
"memory": {
"type": "string",
"default": "",
"description": "The amount of memory allocated to the virtual machine",
"default": ""
"type": "string"
},
"sockets": {
"type": "string",
"default": "",
"description": "The number of CPU sockets allocated to the virtual machine (used to define vCPU topology)",
"default": ""
"type": "string"
}
}
},
"type": "object"
},
"running": {
"default": true,
"description": "Determines if the virtual machine should be running",
"type": "boolean"
},
"sshKeys": {
"type": "array",
"default": [],
"description": "List of SSH public keys for authentication. Can be a single key or a list of keys.",
"default": "[]",
"items": {
"type": "string"
}
},
"cloudInit": {
"type": "string",
"description": "cloud-init user data config. See cloud-init documentation for more details.",
"default": ""
},
"cloudInitSeed": {
"type": "string",
"description": "A seed string to generate an SMBIOS UUID for the VM.",
"default": ""
},
"type": "array"
}
}
},
"title": "Chart Values",
"type": "object"
}

View File

@@ -2,5 +2,5 @@ include ../../../scripts/package.mk
PRESET_ENUM := ["nano","micro","small","medium","large","xlarge","2xlarge"]
generate:
readme-generator -v values.yaml -s values.schema.json -r README.md
readme-generator-for-helm -v values.yaml -s values.schema.json -r README.md
yq -i -o json --indent 4 '.properties.resourcesPreset.enum = $(PRESET_ENUM)' values.schema.json

View File

@@ -1,21 +1,37 @@
{
"title": "Chart Values",
"type": "object",
"properties": {
"external": {
"default": false,
"description": "Enable external access from outside the cluster",
"type": "boolean"
},
"externalIPs": {
"default": [],
"description": "List of externalIPs for service. Optional. If not specified will use LoadBalancer service by default.",
"items": {
"type": "string"
},
"type": "array"
},
"host": {
"default": "",
"description": "Host used to substitute into generated URLs",
"type": "string"
},
"replicas": {
"type": "number",
"default": 2,
"description": "Number of VPN server replicas",
"default": 2
"type": "number"
},
"resources": {
"type": "object",
"default": {},
"description": "Explicit CPU and memory configuration for each VPN server replica. When left empty, the preset defined in `resourcesPreset` is applied.",
"default": {}
"type": "object"
},
"resourcesPreset": {
"type": "string",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"default": "nano",
"description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.",
"type": "string",
"enum": [
"nano",
"micro",
@@ -25,24 +41,8 @@
"xlarge",
"2xlarge"
]
},
"external": {
"type": "boolean",
"description": "Enable external access from outside the cluster",
"default": false
},
"host": {
"type": "string",
"description": "Host used to substitute into generated URLs",
"default": ""
},
"externalIPs": {
"type": "array",
"description": "List of externalIPs for service. Optional. If not specified will use LoadBalancer service by default.",
"default": "[]",
"items": {
"type": "string"
}
}
}
},
"title": "Chart Values",
"type": "object"
}

View File

@@ -4,7 +4,7 @@ NAMESPACE=tenant-root
include ../../../scripts/package.mk
generate:
readme-generator -v values.yaml -s values.schema.json.tmp -r README.md
readme-generator-for-helm -v values.yaml -s values.schema.json.tmp -r README.md
cat values.schema.json.tmp | \
jq '.properties.machines.items.type = "object"' \
> values.schema.json

View File

@@ -1,25 +1,27 @@
{
"title": "Chart Values",
"type": "object",
"properties": {
"whitelistHTTP": {
"type": "boolean",
"description": "Secure HTTP by enabling client networks whitelisting",
"default": true
},
"whitelist": {
"type": "array",
"description": "List of client networks",
"default": [],
"items": {}
},
"machines": {
"type": "array",
"default": [],
"description": "Configuration of physical machine instances",
"default": "[]",
"items": {
"type": "object"
}
},
"type": "array"
},
"whitelist": {
"default": [],
"description": "List of client networks",
"items": {
"type": "string"
},
"type": "array"
},
"whitelistHTTP": {
"default": true,
"description": "Secure HTTP by enabling client networks whitelisting",
"type": "boolean"
}
}
},
"title": "Chart Values",
"type": "object"
}

View File

@@ -3,4 +3,4 @@ NAME=etcd
include ../../../scripts/package.mk
generate:
readme-generator -v values.yaml -s values.schema.json -r README.md
readme-generator-for-helm -v values.yaml -s values.schema.json -r README.md

View File

@@ -4,8 +4,10 @@
### Common parameters
| Name | Description | Value |
| -------------- | ----------------------------------- | ----- |
| `size` | Persistent Volume size | `4Gi` |
| `storageClass` | StorageClass used to store the data | `""` |
| `replicas` | Number of etcd replicas | `3` |
| Name | Description | Value |
| ------------------ | ----------------------------------- | ----- |
| `size` | Persistent Volume size | `4Gi` |
| `storageClass` | StorageClass used to store the data | `""` |
| `replicas` | Number of etcd replicas | `3` |
| `resources.cpu` | The number of CPU cores allocated | `4` |
| `resources.memory` | The amount of memory allocated | `1Gi` |

View File

@@ -1,21 +1,36 @@
{
"title": "Chart Values",
"type": "object",
"properties": {
"replicas": {
"default": 3,
"description": "Number of etcd replicas",
"type": "number"
},
"resources": {
"properties": {
"cpu": {
"default": 4,
"description": "The number of CPU cores allocated",
"type": "number"
},
"memory": {
"default": "1Gi",
"description": "The amount of memory allocated",
"type": "string"
}
},
"type": "object"
},
"size": {
"type": "string",
"default": "4Gi",
"description": "Persistent Volume size",
"default": "4Gi"
"type": "string"
},
"storageClass": {
"type": "string",
"default": "",
"description": "StorageClass used to store the data",
"default": ""
},
"replicas": {
"type": "number",
"description": "Number of etcd replicas",
"default": 3
"type": "string"
}
}
}
},
"title": "Chart Values",
"type": "object"
}

View File

@@ -8,7 +8,9 @@ size: 4Gi
storageClass: ""
replicas: 3
## @param resources Resources
## Resources
## @param resources.cpu The number of CPU cores allocated
## @param resources.memory The amount of memory allocated
resources:
cpu: 4
memory: 1Gi

View File

@@ -1,3 +1,6 @@
NAME=etcd
include ../../../scripts/package.mk
generate:
readme-generator-for-helm -v values.yaml -s values.schema.json -r README.md

View File

@@ -1,18 +1,3 @@
# Info
### Kubeconfig for tenant
### Kubelogin
For using kubeconfig need install kubelogin.
```bash
# Homebrew (macOS and Linux)
brew install int128/kubelogin/kubelogin
# Krew (macOS, Linux, Windows and ARM)
kubectl krew install oidc-login
# Chocolatey (Windows)
choco install kubelogin
```
## Parameters

View File

@@ -1 +1,5 @@
{}
{
"properties": {},
"title": "Chart Values",
"type": "object"
}

View File

@@ -0,0 +1 @@
{}

View File

@@ -8,4 +8,4 @@ get-cloudflare-ips:
printf '{{- define "ingress.cloudflare-ips" -}}\n%s,%s\n{{- end }}\n' "$$(curl -s https://www.cloudflare.com/ips-v4/ | tr '\n' ,)" "$$(curl -s https://www.cloudflare.com/ips-v6/ | tr '\n' ,)" > templates/_cloudflare-ips.tpl
generate:
readme-generator -v values.yaml -s values.schema.json -r README.md
readme-generator-for-helm -v values.yaml -s values.schema.json -r README.md

View File

@@ -9,4 +9,3 @@
| `replicas` | Number of ingress-nginx replicas | `2` |
| `whitelist` | List of client networks | `[]` |
| `clouflareProxy` | Restoring original visitor IPs when Cloudflare proxied is enabled | `false` |

View File

@@ -1,22 +1,24 @@
{
"title": "Chart Values",
"type": "object",
"properties": {
"clouflareProxy": {
"default": false,
"description": "Restoring original visitor IPs when Cloudflare proxied is enabled",
"type": "boolean"
},
"replicas": {
"type": "number",
"default": 2,
"description": "Number of ingress-nginx replicas",
"default": 2
"type": "number"
},
"whitelist": {
"type": "array",
"description": "List of client networks",
"default": [],
"items": {}
},
"clouflareProxy": {
"type": "boolean",
"description": "Restoring original visitor IPs when Cloudflare proxied is enabled",
"default": false
"description": "List of client networks",
"items": {
"type": "string"
},
"type": "array"
}
}
},
"title": "Chart Values",
"type": "object"
}

View File

@@ -6,7 +6,7 @@ include ../../../scripts/common-envs.mk
include ../../../scripts/package.mk
generate:
readme-generator -v values.yaml -s values.schema.json.tmp -r README.md
readme-generator-for-helm -v values.yaml -s values.schema.json.tmp -r README.md
cat values.schema.json.tmp | \
jq '.properties.metricsStorages.items.type = "object" | .properties.logsStorages.items.type = "object"' \
> values.schema.json

View File

@@ -4,14 +4,22 @@
### Common parameters
| Name | Description | Value |
| ----------------------------------------- | --------------------------------------------------------------------------------------------------------- | ------ |
| `host` | The hostname used to access the grafana externally (defaults to 'grafana' subdomain for the tenant host). | `""` |
| `metricsStorages` | Configuration of metrics storage instances | `[]` |
| `logsStorages` | Configuration of logs storage instances | `[]` |
| `alerta.storage` | Persistent Volume size for alerta database | `10Gi` |
| `alerta.storageClassName` | StorageClass used to store the data | `""` |
| `alerta.alerts.telegram.token` | telegram token for your bot | `""` |
| `alerta.alerts.telegram.chatID` | specify multiple ID's separated by comma. Get yours in https://t.me/chatid_echo_bot | `""` |
| `alerta.alerts.telegram.disabledSeverity` | list of severity without alerts, separated comma like: "informational,warning" | `""` |
| `grafana.db.size` | Persistent Volume size for grafana database | `10Gi` |
| Name | Description | Value |
| ----------------------------------------- | --------------------------------------------------------------------------------------------------------- | ------- |
| `host` | The hostname used to access the grafana externally (defaults to 'grafana' subdomain for the tenant host). | `""` |
| `metricsStorages` | Configuration of metrics storage instances | `[]` |
| `logsStorages` | Configuration of logs storage instances | `[]` |
| `alerta.storage` | Persistent Volume size for alerta database | `10Gi` |
| `alerta.storageClassName` | StorageClass used to store the data | `""` |
| `alerta.resources.requests.cpu` | The minimum amount of CPU required for alerta | `100m` |
| `alerta.resources.requests.memory` | The minimum amount of memory required for alerta | `256Mi` |
| `alerta.resources.limits.cpu` | The maximum amount of CPU allowed for alerta | `1` |
| `alerta.resources.limits.memory` | The maximum amount of memory allowed for alerta | `1Gi` |
| `alerta.alerts.telegram.token` | telegram token for your bot | `""` |
| `alerta.alerts.telegram.chatID` | specify multiple ID's separated by comma. Get yours in https://t.me/chatid_echo_bot | `""` |
| `alerta.alerts.telegram.disabledSeverity` | list of severity without alerts, separated comma like: "informational,warning" | `""` |
| `grafana.db.size` | Persistent Volume size for grafana database | `10Gi` |
| `grafana.resources.requests.cpu` | The minimum amount of CPU required for grafana | `100m` |
| `grafana.resources.requests.memory` | The minimum amount of memory required for grafana | `256Mi` |
| `grafana.resources.limits.cpu` | The maximum amount of CPU allowed for grafana | `1` |
| `grafana.resources.limits.memory` | The maximum amount of memory allowed for grafana | `1Gi` |

View File

@@ -1,82 +1,152 @@
{
"title": "Chart Values",
"type": "object",
"properties": {
"host": {
"type": "string",
"description": "The hostname used to access the grafana externally (defaults to 'grafana' subdomain for the tenant host).",
"default": ""
},
"metricsStorages": {
"type": "array",
"description": "Configuration of metrics storage instances",
"default": "[]",
"items": {
"type": "object"
}
},
"logsStorages": {
"type": "array",
"description": "Configuration of logs storage instances",
"default": "[]",
"items": {
"type": "object"
}
},
"alerta": {
"type": "object",
"properties": {
"storage": {
"type": "string",
"description": "Persistent Volume size for alerta database",
"default": "10Gi"
},
"storageClassName": {
"type": "string",
"description": "StorageClass used to store the data",
"default": ""
},
"alerts": {
"type": "object",
"properties": {
"telegram": {
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "telegram token for your bot",
"default": ""
},
"chatID": {
"type": "string",
"default": "",
"description": "specify multiple ID's separated by comma. Get yours in https://t.me/chatid_echo_bot",
"default": ""
"type": "string"
},
"disabledSeverity": {
"type": "string",
"default": "",
"description": "list of severity without alerts, separated comma like: \"informational,warning\"",
"default": ""
"type": "string"
},
"token": {
"default": "",
"description": "telegram token for your bot",
"type": "string"
}
}
},
"type": "object"
}
}
},
"type": "object"
},
"resources": {
"properties": {
"limits": {
"properties": {
"cpu": {
"default": "1",
"description": "The maximum amount of CPU allowed for alerta",
"type": "string"
},
"memory": {
"default": "1Gi",
"description": "The maximum amount of memory allowed for alerta",
"type": "string"
}
},
"type": "object"
},
"requests": {
"properties": {
"cpu": {
"default": "100m",
"description": "The minimum amount of CPU required for alerta",
"type": "string"
},
"memory": {
"default": "256Mi",
"description": "The minimum amount of memory required for alerta",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"storage": {
"default": "10Gi",
"description": "Persistent Volume size for alerta database",
"type": "string"
},
"storageClassName": {
"default": "",
"description": "StorageClass used to store the data",
"type": "string"
}
}
},
"type": "object"
},
"grafana": {
"type": "object",
"properties": {
"db": {
"type": "object",
"properties": {
"size": {
"type": "string",
"default": "10Gi",
"description": "Persistent Volume size for grafana database",
"default": "10Gi"
"type": "string"
}
}
},
"type": "object"
},
"resources": {
"properties": {
"limits": {
"properties": {
"cpu": {
"default": "1",
"description": "The maximum amount of CPU allowed for grafana",
"type": "string"
},
"memory": {
"default": "1Gi",
"description": "The maximum amount of memory allowed for grafana",
"type": "string"
}
},
"type": "object"
},
"requests": {
"properties": {
"cpu": {
"default": "100m",
"description": "The minimum amount of CPU required for grafana",
"type": "string"
},
"memory": {
"default": "256Mi",
"description": "The minimum amount of memory required for grafana",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
}
},
"type": "object"
},
"host": {
"default": "",
"description": "The hostname used to access the grafana externally (defaults to 'grafana' subdomain for the tenant host).",
"type": "string"
},
"logsStorages": {
"default": [],
"description": "Configuration of logs storage instances",
"items": {
"type": "object"
},
"type": "array"
},
"metricsStorages": {
"default": [],
"description": "Configuration of metrics storage instances",
"items": {
"type": "object"
},
"type": "array"
}
}
},
"title": "Chart Values",
"type": "object"
}

View File

@@ -57,6 +57,10 @@ logsStorages:
## Configuration for Alerta
## @param alerta.storage Persistent Volume size for alerta database
## @param alerta.storageClassName StorageClass used to store the data
## @param alerta.resources.requests.cpu The minimum amount of CPU required for alerta
## @param alerta.resources.requests.memory The minimum amount of memory required for alerta
## @param alerta.resources.limits.cpu The maximum amount of CPU allowed for alerta
## @param alerta.resources.limits.memory The maximum amount of memory allowed for alerta
##
alerta:
storage: 10Gi
@@ -85,6 +89,10 @@ alerta:
## Configuration for Grafana
## @param grafana.db.size Persistent Volume size for grafana database
## @param grafana.resources.requests.cpu The minimum amount of CPU required for grafana
## @param grafana.resources.requests.memory The minimum amount of memory required for grafana
## @param grafana.resources.limits.cpu The maximum amount of CPU allowed for grafana
## @param grafana.resources.limits.memory The maximum amount of memory allowed for grafana
grafana:
db:
size: 10Gi

View File

@@ -3,5 +3,5 @@ NAME=seaweedfs
include ../../../scripts/package.mk
generate:
readme-generator -v values.yaml -s values.schema.json -r README.md
readme-generator-for-helm -v values.yaml -s values.schema.json -r README.md
yq -o json -i '.properties.topology.enum = ["Simple","MultiZone"]' values.schema.json

View File

@@ -13,4 +13,3 @@
| `size` | Persistent Volume size | `10Gi` |
| `storageClass` | StorageClass used to store the data | `""` |
| `zones` | A map of zones for MultiZone topology. Each zone can have its own number of replicas and size. | `{}` |

View File

@@ -1,45 +1,45 @@
{
"title": "Chart Values",
"type": "object",
"properties": {
"host": {
"type": "string",
"default": "",
"description": "The hostname used to access the SeaweedFS externally (defaults to 's3' subdomain for the tenant host).",
"default": ""
"type": "string"
},
"replicas": {
"default": 2,
"description": "Persistent Volume size for SeaweedFS",
"type": "number"
},
"replicationFactor": {
"default": 2,
"description": "The number of replicas for each volume in the SeaweedFS cluster.",
"type": "number"
},
"size": {
"default": "10Gi",
"description": "Persistent Volume size",
"type": "string"
},
"storageClass": {
"default": "",
"description": "StorageClass used to store the data",
"type": "string"
},
"topology": {
"type": "string",
"description": "The topology of the SeaweedFS cluster. (allowed values: Simple, MultiZone)",
"default": "Simple",
"description": "The topology of the SeaweedFS cluster. (allowed values: Simple, MultiZone)",
"type": "string",
"enum": [
"Simple",
"MultiZone"
]
},
"replicationFactor": {
"type": "number",
"description": "The number of replicas for each volume in the SeaweedFS cluster.",
"default": 2
},
"replicas": {
"type": "number",
"description": "Persistent Volume size for SeaweedFS",
"default": 2
},
"size": {
"type": "string",
"description": "Persistent Volume size",
"default": "10Gi"
},
"storageClass": {
"type": "string",
"description": "StorageClass used to store the data",
"default": ""
},
"zones": {
"type": "object",
"default": {},
"description": "A map of zones for MultiZone topology. Each zone can have its own number of replicas and size.",
"default": {}
"type": "object"
}
}
},
"title": "Chart Values",
"type": "object"
}

View File

@@ -2,5 +2,5 @@ include ../../../scripts/common-envs.mk
include ../../../scripts/package.mk
generate:
readme-generator -v values.yaml -s values.schema.json -r README.md
readme-generator-for-helm -v values.yaml -s values.schema.json -r README.md

View File

@@ -25,4 +25,4 @@ image-cozystack-api:
generate:
rm -rf openapi-schemas
mkdir -p openapi-schemas
find ../../apps ../../extra -maxdepth 2 -name values.schema.json -exec sh -c 'ln -s ../{} openapi-schemas/$$(basename $$(dirname {})).json' \;
find ../../apps ../../extra -maxdepth 2 -name values.schema.json -exec sh -ec 'ln -s ../{} openapi-schemas/$$(basename $$(dirname {})).json' \;