From 72e7b5e0b5aa61914962774bddb633e5d8439f1f Mon Sep 17 00:00:00 2001 From: Andrei Kvapil Date: Thu, 17 Jul 2025 23:27:51 +0200 Subject: [PATCH] Get rid of bitnami's readme-generator Signed-off-by: Andrei Kvapil --- .github/workflows/pre-commit.yml | 11 +- .pre-commit-config.yaml | 6 +- packages/apps/bucket/Makefile | 2 +- packages/apps/bucket/values.schema.json | 4 +- packages/apps/clickhouse/Makefile | 2 +- packages/apps/clickhouse/values.schema.json | 148 ++++----- packages/apps/ferretdb/Makefile | 2 +- packages/apps/ferretdb/README.md | 2 - packages/apps/ferretdb/values.schema.json | 186 +++++------ packages/apps/http-cache/Makefile | 2 +- packages/apps/http-cache/values.schema.json | 74 +++-- packages/apps/kafka/Makefile | 2 +- packages/apps/kafka/values.schema.json | 72 ++-- packages/apps/kubernetes/Makefile | 2 +- packages/apps/kubernetes/README.md | 1 - packages/apps/kubernetes/values.schema.json | 314 +++++++++--------- packages/apps/mysql/Makefile | 2 +- packages/apps/mysql/values.schema.json | 126 +++---- packages/apps/nats/Makefile | 2 +- packages/apps/nats/values.schema.json | 92 ++--- packages/apps/postgres/Makefile | 2 +- packages/apps/postgres/README.md | 1 - packages/apps/postgres/values.schema.json | 226 ++++++------- packages/apps/rabbitmq/Makefile | 2 +- packages/apps/rabbitmq/values.schema.json | 40 +-- packages/apps/redis/Makefile | 2 +- packages/apps/redis/values.schema.json | 46 +-- packages/apps/tcp-balancer/Makefile | 2 +- packages/apps/tcp-balancer/values.schema.json | 116 +++---- packages/apps/tenant/Makefile | 2 +- packages/apps/tenant/values.schema.json | 50 +-- packages/apps/virtual-machine/Makefile | 2 +- .../apps/virtual-machine/values.schema.json | 240 ++++++------- packages/apps/vm-disk/Makefile | 2 +- packages/apps/vm-disk/values.schema.json | 28 +- packages/apps/vm-instance/Makefile | 2 +- packages/apps/vm-instance/values.schema.json | 208 ++++++------ packages/apps/vpn/Makefile | 2 +- packages/apps/vpn/values.schema.json | 54 +-- packages/extra/bootbox/Makefile | 2 +- packages/extra/bootbox/values.schema.json | 36 +- packages/extra/etcd/Makefile | 2 +- packages/extra/etcd/README.md | 12 +- packages/extra/etcd/values.schema.json | 41 ++- packages/extra/etcd/values.yaml | 4 +- packages/extra/info/Makefile | 3 + packages/extra/info/README.md | 17 +- packages/extra/info/values.schema.json | 6 +- packages/extra/info/values.yaml | 1 + packages/extra/ingress/Makefile | 2 +- packages/extra/ingress/README.md | 1 - packages/extra/ingress/values.schema.json | 28 +- packages/extra/monitoring/Makefile | 2 +- packages/extra/monitoring/README.md | 30 +- packages/extra/monitoring/values.schema.json | 180 +++++++--- packages/extra/monitoring/values.yaml | 8 + packages/extra/seaweedfs/Makefile | 2 +- packages/extra/seaweedfs/README.md | 1 - packages/extra/seaweedfs/values.schema.json | 58 ++-- packages/library/cozy-lib/Makefile | 2 +- packages/system/cozystack-api/Makefile | 2 +- 61 files changed, 1308 insertions(+), 1211 deletions(-) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 8dcd859e..a06a171f 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -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: | diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c96f064c..689156f5 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -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: ^.*$ diff --git a/packages/apps/bucket/Makefile b/packages/apps/bucket/Makefile index 264adfcf..6bb0835c 100644 --- a/packages/apps/bucket/Makefile +++ b/packages/apps/bucket/Makefile @@ -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 diff --git a/packages/apps/bucket/values.schema.json b/packages/apps/bucket/values.schema.json index decc79aa..9282941e 100644 --- a/packages/apps/bucket/values.schema.json +++ b/packages/apps/bucket/values.schema.json @@ -1,5 +1,5 @@ { + "properties": {}, "title": "Chart Values", - "type": "object", - "properties": {} + "type": "object" } \ No newline at end of file diff --git a/packages/apps/clickhouse/Makefile b/packages/apps/clickhouse/Makefile index 12502f8f..aa6eaac6 100644 --- a/packages/apps/clickhouse/Makefile +++ b/packages/apps/clickhouse/Makefile @@ -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: diff --git a/packages/apps/clickhouse/values.schema.json b/packages/apps/clickhouse/values.schema.json index a0e373cf..397da6de 100644 --- a/packages/apps/clickhouse/values.schema.json +++ b/packages/apps/clickhouse/values.schema.json @@ -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" } diff --git a/packages/apps/ferretdb/Makefile b/packages/apps/ferretdb/Makefile index 4ee52529..b56dfd93 100644 --- a/packages/apps/ferretdb/Makefile +++ b/packages/apps/ferretdb/Makefile @@ -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: diff --git a/packages/apps/ferretdb/README.md b/packages/apps/ferretdb/README.md index aeb00bbc..cf86212a 100644 --- a/packages/apps/ferretdb/README.md +++ b/packages/apps/ferretdb/README.md @@ -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 diff --git a/packages/apps/ferretdb/values.schema.json b/packages/apps/ferretdb/values.schema.json index e58e0566..d0800af3 100644 --- a/packages/apps/ferretdb/values.schema.json +++ b/packages/apps/ferretdb/values.schema.json @@ -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" } diff --git a/packages/apps/http-cache/Makefile b/packages/apps/http-cache/Makefile index 4e7c60df..bb50be5b 100644 --- a/packages/apps/http-cache/Makefile +++ b/packages/apps/http-cache/Makefile @@ -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 diff --git a/packages/apps/http-cache/values.schema.json b/packages/apps/http-cache/values.schema.json index cce4199d..2a15b4ab 100644 --- a/packages/apps/http-cache/values.schema.json +++ b/packages/apps/http-cache/values.schema.json @@ -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" } diff --git a/packages/apps/kafka/Makefile b/packages/apps/kafka/Makefile index f76bb46a..8e646a88 100644 --- a/packages/apps/kafka/Makefile +++ b/packages/apps/kafka/Makefile @@ -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 diff --git a/packages/apps/kafka/values.schema.json b/packages/apps/kafka/values.schema.json index 54ffe956..a5ee75a0 100644 --- a/packages/apps/kafka/values.schema.json +++ b/packages/apps/kafka/values.schema.json @@ -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" } diff --git a/packages/apps/kubernetes/Makefile b/packages/apps/kubernetes/Makefile index 7cd8410c..f4d5e067 100644 --- a/packages/apps/kubernetes/Makefile +++ b/packages/apps/kubernetes/Makefile @@ -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 diff --git a/packages/apps/kubernetes/README.md b/packages/apps/kubernetes/README.md index 0db94881..47e2a2c6 100644 --- a/packages/apps/kubernetes/README.md +++ b/packages/apps/kubernetes/README.md @@ -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 diff --git a/packages/apps/kubernetes/values.schema.json b/packages/apps/kubernetes/values.schema.json index 51000a2f..2d95bac1 100644 --- a/packages/apps/kubernetes/values.schema.json +++ b/packages/apps/kubernetes/values.schema.json @@ -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 `.` 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 `.` 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" } diff --git a/packages/apps/mysql/Makefile b/packages/apps/mysql/Makefile index 8f38e115..41e1e559 100644 --- a/packages/apps/mysql/Makefile +++ b/packages/apps/mysql/Makefile @@ -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: diff --git a/packages/apps/mysql/values.schema.json b/packages/apps/mysql/values.schema.json index c2a2feae..021a489a 100644 --- a/packages/apps/mysql/values.schema.json +++ b/packages/apps/mysql/values.schema.json @@ -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" } diff --git a/packages/apps/nats/Makefile b/packages/apps/nats/Makefile index 9e32d0b0..4a92cb71 100644 --- a/packages/apps/nats/Makefile +++ b/packages/apps/nats/Makefile @@ -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 diff --git a/packages/apps/nats/values.schema.json b/packages/apps/nats/values.schema.json index 34848c8d..e76f0562 100644 --- a/packages/apps/nats/values.schema.json +++ b/packages/apps/nats/values.schema.json @@ -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" } diff --git a/packages/apps/postgres/Makefile b/packages/apps/postgres/Makefile index 9e32d0b0..4a92cb71 100644 --- a/packages/apps/postgres/Makefile +++ b/packages/apps/postgres/Makefile @@ -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 diff --git a/packages/apps/postgres/README.md b/packages/apps/postgres/README.md index c8a9f37d..e0a17ec6 100644 --- a/packages/apps/postgres/README.md +++ b/packages/apps/postgres/README.md @@ -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 diff --git a/packages/apps/postgres/values.schema.json b/packages/apps/postgres/values.schema.json index 03a0d88f..6964fde1 100644 --- a/packages/apps/postgres/values.schema.json +++ b/packages/apps/postgres/values.schema.json @@ -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" } diff --git a/packages/apps/rabbitmq/Makefile b/packages/apps/rabbitmq/Makefile index 9e32d0b0..4a92cb71 100644 --- a/packages/apps/rabbitmq/Makefile +++ b/packages/apps/rabbitmq/Makefile @@ -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 diff --git a/packages/apps/rabbitmq/values.schema.json b/packages/apps/rabbitmq/values.schema.json index 5e3137d6..c7749d18 100644 --- a/packages/apps/rabbitmq/values.schema.json +++ b/packages/apps/rabbitmq/values.schema.json @@ -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" } diff --git a/packages/apps/redis/Makefile b/packages/apps/redis/Makefile index 9e32d0b0..4a92cb71 100644 --- a/packages/apps/redis/Makefile +++ b/packages/apps/redis/Makefile @@ -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 diff --git a/packages/apps/redis/values.schema.json b/packages/apps/redis/values.schema.json index 8547d908..eb68a5ee 100644 --- a/packages/apps/redis/values.schema.json +++ b/packages/apps/redis/values.schema.json @@ -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" } diff --git a/packages/apps/tcp-balancer/Makefile b/packages/apps/tcp-balancer/Makefile index 68176ba4..30e42a8f 100644 --- a/packages/apps/tcp-balancer/Makefile +++ b/packages/apps/tcp-balancer/Makefile @@ -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 diff --git a/packages/apps/tcp-balancer/values.schema.json b/packages/apps/tcp-balancer/values.schema.json index 9035f06f..0eba1343 100644 --- a/packages/apps/tcp-balancer/values.schema.json +++ b/packages/apps/tcp-balancer/values.schema.json @@ -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" } diff --git a/packages/apps/tenant/Makefile b/packages/apps/tenant/Makefile index 264adfcf..6bb0835c 100644 --- a/packages/apps/tenant/Makefile +++ b/packages/apps/tenant/Makefile @@ -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 diff --git a/packages/apps/tenant/values.schema.json b/packages/apps/tenant/values.schema.json index 8ffe458f..a0f4f919 100644 --- a/packages/apps/tenant/values.schema.json +++ b/packages/apps/tenant/values.schema.json @@ -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" } \ No newline at end of file diff --git a/packages/apps/virtual-machine/Makefile b/packages/apps/virtual-machine/Makefile index 5d31cacf..5aaa17e1 100644 --- a/packages/apps/virtual-machine/Makefile +++ b/packages/apps/virtual-machine/Makefile @@ -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 diff --git a/packages/apps/virtual-machine/values.schema.json b/packages/apps/virtual-machine/values.schema.json index 55127ca1..356ea2f4 100644 --- a/packages/apps/virtual-machine/values.schema.json +++ b/packages/apps/virtual-machine/values.schema.json @@ -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" } diff --git a/packages/apps/vm-disk/Makefile b/packages/apps/vm-disk/Makefile index 264adfcf..6bb0835c 100644 --- a/packages/apps/vm-disk/Makefile +++ b/packages/apps/vm-disk/Makefile @@ -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 diff --git a/packages/apps/vm-disk/values.schema.json b/packages/apps/vm-disk/values.schema.json index 8bc577a4..eac8ac93 100644 --- a/packages/apps/vm-disk/values.schema.json +++ b/packages/apps/vm-disk/values.schema.json @@ -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" } \ No newline at end of file diff --git a/packages/apps/vm-instance/Makefile b/packages/apps/vm-instance/Makefile index 3a9a0fd8..f400058e 100644 --- a/packages/apps/vm-instance/Makefile +++ b/packages/apps/vm-instance/Makefile @@ -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) \ diff --git a/packages/apps/vm-instance/values.schema.json b/packages/apps/vm-instance/values.schema.json index 4711c633..ac614591 100644 --- a/packages/apps/vm-instance/values.schema.json +++ b/packages/apps/vm-instance/values.schema.json @@ -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" } diff --git a/packages/apps/vpn/Makefile b/packages/apps/vpn/Makefile index 9e32d0b0..4a92cb71 100644 --- a/packages/apps/vpn/Makefile +++ b/packages/apps/vpn/Makefile @@ -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 diff --git a/packages/apps/vpn/values.schema.json b/packages/apps/vpn/values.schema.json index 0b88a90b..789ebb5d 100644 --- a/packages/apps/vpn/values.schema.json +++ b/packages/apps/vpn/values.schema.json @@ -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" } diff --git a/packages/extra/bootbox/Makefile b/packages/extra/bootbox/Makefile index dec085a9..c8138e11 100644 --- a/packages/extra/bootbox/Makefile +++ b/packages/extra/bootbox/Makefile @@ -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 diff --git a/packages/extra/bootbox/values.schema.json b/packages/extra/bootbox/values.schema.json index e365ece4..0cf51806 100644 --- a/packages/extra/bootbox/values.schema.json +++ b/packages/extra/bootbox/values.schema.json @@ -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" } diff --git a/packages/extra/etcd/Makefile b/packages/extra/etcd/Makefile index 1c503d6b..75a9b220 100644 --- a/packages/extra/etcd/Makefile +++ b/packages/extra/etcd/Makefile @@ -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 diff --git a/packages/extra/etcd/README.md b/packages/extra/etcd/README.md index 96e3f1a9..47f952fb 100644 --- a/packages/extra/etcd/README.md +++ b/packages/extra/etcd/README.md @@ -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` | diff --git a/packages/extra/etcd/values.schema.json b/packages/extra/etcd/values.schema.json index 0582e97c..b2214b10 100644 --- a/packages/extra/etcd/values.schema.json +++ b/packages/extra/etcd/values.schema.json @@ -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" +} \ No newline at end of file diff --git a/packages/extra/etcd/values.yaml b/packages/extra/etcd/values.yaml index d8b927fe..f9a147f9 100644 --- a/packages/extra/etcd/values.yaml +++ b/packages/extra/etcd/values.yaml @@ -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 diff --git a/packages/extra/info/Makefile b/packages/extra/info/Makefile index 86ce0ede..75a9b220 100644 --- a/packages/extra/info/Makefile +++ b/packages/extra/info/Makefile @@ -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 diff --git a/packages/extra/info/README.md b/packages/extra/info/README.md index e361cfe6..5a1cabe2 100644 --- a/packages/extra/info/README.md +++ b/packages/extra/info/README.md @@ -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 diff --git a/packages/extra/info/values.schema.json b/packages/extra/info/values.schema.json index 0967ef42..9282941e 100644 --- a/packages/extra/info/values.schema.json +++ b/packages/extra/info/values.schema.json @@ -1 +1,5 @@ -{} +{ + "properties": {}, + "title": "Chart Values", + "type": "object" +} \ No newline at end of file diff --git a/packages/extra/info/values.yaml b/packages/extra/info/values.yaml index e69de29b..0967ef42 100644 --- a/packages/extra/info/values.yaml +++ b/packages/extra/info/values.yaml @@ -0,0 +1 @@ +{} diff --git a/packages/extra/ingress/Makefile b/packages/extra/ingress/Makefile index a1de94f4..6d58669f 100644 --- a/packages/extra/ingress/Makefile +++ b/packages/extra/ingress/Makefile @@ -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 diff --git a/packages/extra/ingress/README.md b/packages/extra/ingress/README.md index 76236118..258b5a6a 100644 --- a/packages/extra/ingress/README.md +++ b/packages/extra/ingress/README.md @@ -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` | - diff --git a/packages/extra/ingress/values.schema.json b/packages/extra/ingress/values.schema.json index d4f7b6c3..41037a0b 100644 --- a/packages/extra/ingress/values.schema.json +++ b/packages/extra/ingress/values.schema.json @@ -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" } \ No newline at end of file diff --git a/packages/extra/monitoring/Makefile b/packages/extra/monitoring/Makefile index e2b8d330..8b7e72da 100644 --- a/packages/extra/monitoring/Makefile +++ b/packages/extra/monitoring/Makefile @@ -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 diff --git a/packages/extra/monitoring/README.md b/packages/extra/monitoring/README.md index 1f9dd556..5fa84dce 100644 --- a/packages/extra/monitoring/README.md +++ b/packages/extra/monitoring/README.md @@ -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` | diff --git a/packages/extra/monitoring/values.schema.json b/packages/extra/monitoring/values.schema.json index 4adf1de6..75f76eb5 100644 --- a/packages/extra/monitoring/values.schema.json +++ b/packages/extra/monitoring/values.schema.json @@ -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" } diff --git a/packages/extra/monitoring/values.yaml b/packages/extra/monitoring/values.yaml index c359df3a..9e992f22 100644 --- a/packages/extra/monitoring/values.yaml +++ b/packages/extra/monitoring/values.yaml @@ -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 diff --git a/packages/extra/seaweedfs/Makefile b/packages/extra/seaweedfs/Makefile index e7d05b33..a2504ed5 100644 --- a/packages/extra/seaweedfs/Makefile +++ b/packages/extra/seaweedfs/Makefile @@ -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 diff --git a/packages/extra/seaweedfs/README.md b/packages/extra/seaweedfs/README.md index 6e354956..f52bc9d3 100644 --- a/packages/extra/seaweedfs/README.md +++ b/packages/extra/seaweedfs/README.md @@ -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. | `{}` | - diff --git a/packages/extra/seaweedfs/values.schema.json b/packages/extra/seaweedfs/values.schema.json index 2c02336e..2f6e48bd 100644 --- a/packages/extra/seaweedfs/values.schema.json +++ b/packages/extra/seaweedfs/values.schema.json @@ -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" } diff --git a/packages/library/cozy-lib/Makefile b/packages/library/cozy-lib/Makefile index fa0142de..fa8e0b3b 100644 --- a/packages/library/cozy-lib/Makefile +++ b/packages/library/cozy-lib/Makefile @@ -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 diff --git a/packages/system/cozystack-api/Makefile b/packages/system/cozystack-api/Makefile index b06b97be..1cd4ef66 100644 --- a/packages/system/cozystack-api/Makefile +++ b/packages/system/cozystack-api/Makefile @@ -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' \;