From 42dd37ded86dc3a478a1442545e58483e389f43c Mon Sep 17 00:00:00 2001 From: Nick Volynkin Date: Fri, 8 Aug 2025 10:01:05 +0300 Subject: [PATCH] [apps] Update cozyvalues-gen to v8.1, update specs and READMEs Signed-off-by: Nick Volynkin --- .github/workflows/pre-commit.yml | 2 +- packages/apps/postgres/README.md | 20 +- packages/apps/postgres/values.schema.json | 27 ++- packages/apps/tenant/README.md | 18 +- packages/apps/tenant/values.schema.json | 9 +- packages/apps/virtual-machine/README.md | 42 ++-- .../apps/virtual-machine/values.schema.json | 27 ++- packages/extra/monitoring/README.md | 116 +++++------ packages/extra/monitoring/values.schema.json | 190 +++++++++++++++--- 9 files changed, 320 insertions(+), 131 deletions(-) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index e00fe0d7..68a03630 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -29,7 +29,7 @@ jobs: - name: Install generate run: | 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 - curl -sSL https://github.com/cozystack/cozyvalues-gen/releases/download/v0.7.0/cozyvalues-gen-linux-amd64.tar.gz | tar -xzvf- -C /usr/local/bin/ cozyvalues-gen + curl -sSL https://github.com/cozystack/cozyvalues-gen/releases/download/v0.8.1/cozyvalues-gen-linux-amd64.tar.gz | tar -xzvf- -C /usr/local/bin/ cozyvalues-gen - name: Run pre-commit hooks run: | diff --git a/packages/apps/postgres/README.md b/packages/apps/postgres/README.md index c9cda3c3..34096f49 100644 --- a/packages/apps/postgres/README.md +++ b/packages/apps/postgres/README.md @@ -66,16 +66,16 @@ See: ### Common parameters -| Name | Description | Type | Value | -| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- | --------- | ------- | -| `replicas` | Number of Postgres replicas | `int` | `2` | -| `resources` | Explicit CPU and memory configuration for each PostgreSQL replica. When left empty, the preset defined in `resourcesPreset` is applied. | `*object` | `{}` | -| `resources.cpu` | CPU | `*string` | `null` | -| `resources.memory` | Memory | `*string` | `null` | -| `resourcesPreset` | Default sizing preset used when `resources` is omitted. Allowed values: `nano`, `micro`, `small`, `medium`, `large`, `xlarge`, `2xlarge`. | `string` | `{}` | -| `size` | Persistent Volume Claim size, available for application data | `string` | `10Gi` | -| `storageClass` | StorageClass used to store the data | `string` | `""` | -| `external` | Enable external access from outside the cluster | `bool` | `false` | +| Name | Description | Type | Value | +| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ------- | +| `replicas` | Number of Postgres replicas | `int` | `2` | +| `resources` | Explicit CPU and memory configuration for each PostgreSQL replica. When left empty, the preset defined in `resourcesPreset` is applied. | `*object` | `{}` | +| `resources.cpu` | CPU | `*quantity` | `null` | +| `resources.memory` | Memory | `*quantity` | `null` | +| `resourcesPreset` | Default sizing preset used when `resources` is omitted. Allowed values: `nano`, `micro`, `small`, `medium`, `large`, `xlarge`, `2xlarge`. | `string` | `micro` | +| `size` | Persistent Volume Claim size, available for application data | `quantity` | `10Gi` | +| `storageClass` | StorageClass used to store the data | `string` | `""` | +| `external` | Enable external access from outside the cluster | `bool` | `false` | ### Application-specific parameters diff --git a/packages/apps/postgres/values.schema.json b/packages/apps/postgres/values.schema.json index 9ba39ebc..b280557f 100644 --- a/packages/apps/postgres/values.schema.json +++ b/packages/apps/postgres/values.schema.json @@ -198,14 +198,28 @@ "properties": { "cpu": { "description": "CPU", - "type": "string", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true }, "memory": { "description": "Memory", - "type": "string", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true } } @@ -226,9 +240,16 @@ }, "size": { "description": "Persistent Volume Claim size, available for application data", - "type": "string", "default": "10Gi", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true }, "storageClass": { diff --git a/packages/apps/tenant/README.md b/packages/apps/tenant/README.md index 5526c146..3d53b466 100644 --- a/packages/apps/tenant/README.md +++ b/packages/apps/tenant/README.md @@ -69,13 +69,13 @@ tenant-u1 ### Common parameters -| Name | Description | Type | Value | -| ---------------- | --------------------------------------------------------------------------------------------------------------------------- | --------- | ------- | -| `host` | The hostname used to access tenant services (defaults to using the tenant name as a subdomain for it's parent tenant host). | `*string` | `""` | -| `etcd` | Deploy own Etcd cluster | `bool` | `false` | -| `monitoring` | Deploy own Monitoring Stack | `bool` | `false` | -| `ingress` | Deploy own Ingress Controller | `bool` | `false` | -| `seaweedfs` | Deploy own SeaweedFS | `bool` | `false` | -| `isolated` | Enforce tenant namespace with network policies, `true` by default | `bool` | `true` | -| `resourceQuotas` | Define resource quotas for the tenant | `string` | `{}` | +| Name | Description | Type | Value | +| ---------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------- | ------- | +| `host` | The hostname used to access tenant services (defaults to using the tenant name as a subdomain for it's parent tenant host). | `*string` | `""` | +| `etcd` | Deploy own Etcd cluster | `bool` | `false` | +| `monitoring` | Deploy own Monitoring Stack | `bool` | `false` | +| `ingress` | Deploy own Ingress Controller | `bool` | `false` | +| `seaweedfs` | Deploy own SeaweedFS | `bool` | `false` | +| `isolated` | Enforce tenant namespace with network policies, `true` by default | `bool` | `true` | +| `resourceQuotas` | Define resource quotas for the tenant | `map[string]quantity` | `{}` | diff --git a/packages/apps/tenant/values.schema.json b/packages/apps/tenant/values.schema.json index 6e89ae6d..1a5b8567 100644 --- a/packages/apps/tenant/values.schema.json +++ b/packages/apps/tenant/values.schema.json @@ -31,8 +31,15 @@ "type": "object", "default": {}, "additionalProperties": { - "type": "string", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true } }, diff --git a/packages/apps/virtual-machine/README.md b/packages/apps/virtual-machine/README.md index 6ed30826..3c9f05ae 100644 --- a/packages/apps/virtual-machine/README.md +++ b/packages/apps/virtual-machine/README.md @@ -36,27 +36,27 @@ virtctl ssh @ ### Common parameters -| Name | Description | Type | Value | -| ------------------------- | ----------------------------------------------------------------------------------------------------------- | ---------- | ------------ | -| `external` | Enable external access from outside the cluster | `bool` | `false` | -| `externalMethod` | Specify method to pass through the traffic to the virtual machine. Allowed values: `WholeIP` and `PortList` | `string` | `{}` | -| `externalPorts` | Specify ports to forward from outside the cluster | `[]int` | `[22]` | -| `running` | if the virtual machine should be running | `bool` | `true` | -| `instanceType` | Virtual Machine instance type | `string` | `u1.medium` | -| `instanceProfile` | Virtual Machine preferences profile | `string` | `ubuntu` | -| `systemDisk` | System disk configuration | `object` | `{}` | -| `systemDisk.image` | The base image for the virtual machine. Allowed values: `ubuntu`, `cirros`, `alpine`, `fedora` and `talos` | `string` | `ubuntu` | -| `systemDisk.storage` | The size of the disk allocated for the virtual machine | `string` | `5Gi` | -| `systemDisk.storageClass` | StorageClass used to store the data | `*string` | `replicated` | -| `gpus` | List of GPUs to attach | `[]object` | `[]` | -| `gpus[i].name` | The name of the GPU to attach. This should match the GPU resource name in the cluster. | `string` | `""` | -| `resources` | Resources | `object` | `{}` | -| `resources.cpu` | The number of CPU cores allocated to the virtual machine | `*string` | `null` | -| `resources.sockets` | The number of CPU sockets allocated to the virtual machine (used to define vCPU topology) | `*string` | `null` | -| `resources.memory` | The amount of memory allocated to the virtual machine | `*string` | `null` | -| `sshKeys` | List of SSH public keys for authentication. Can be a single key or a list of keys. | `[]string` | `[]` | -| `cloudInit` | cloud-init user data config. See cloud-init documentation for more details. | `string` | `""` | -| `cloudInitSeed` | A seed string to generate an SMBIOS UUID for the VM. | `string` | `""` | +| Name | Description | Type | Value | +| ------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------- | ------------ | +| `external` | Enable external access from outside the cluster | `bool` | `false` | +| `externalMethod` | Specify method to pass through the traffic to the virtual machine. Allowed values: `WholeIP` and `PortList` | `string` | `PortList` | +| `externalPorts` | Specify ports to forward from outside the cluster | `[]int` | `[22]` | +| `running` | if the virtual machine should be running | `bool` | `true` | +| `instanceType` | Virtual Machine instance type | `string` | `u1.medium` | +| `instanceProfile` | Virtual Machine preferences profile | `string` | `ubuntu` | +| `systemDisk` | System disk configuration | `object` | `{}` | +| `systemDisk.image` | The base image for the virtual machine. Allowed values: `ubuntu`, `cirros`, `alpine`, `fedora` and `talos` | `string` | `ubuntu` | +| `systemDisk.storage` | The size of the disk allocated for the virtual machine | `string` | `5Gi` | +| `systemDisk.storageClass` | StorageClass used to store the data | `*string` | `replicated` | +| `gpus` | List of GPUs to attach | `[]object` | `[]` | +| `gpus[i].name` | The name of the GPU to attach. This should match the GPU resource name in the cluster. | `string` | `""` | +| `resources` | Resources | `object` | `{}` | +| `resources.cpu` | The number of CPU cores allocated to the virtual machine | `*quantity` | `null` | +| `resources.sockets` | The number of CPU sockets allocated to the virtual machine (used to define vCPU topology) | `*quantity` | `null` | +| `resources.memory` | The amount of memory allocated to the virtual machine | `*quantity` | `null` | +| `sshKeys` | List of SSH public keys for authentication. Can be a single key or a list of keys. | `[]string` | `[]` | +| `cloudInit` | cloud-init user data config. See cloud-init documentation for more details. | `string` | `""` | +| `cloudInitSeed` | A seed string to generate an SMBIOS UUID for the VM. | `string` | `""` | ## U Series diff --git a/packages/apps/virtual-machine/values.schema.json b/packages/apps/virtual-machine/values.schema.json index 999d60d6..8df250fc 100644 --- a/packages/apps/virtual-machine/values.schema.json +++ b/packages/apps/virtual-machine/values.schema.json @@ -113,20 +113,41 @@ "properties": { "cpu": { "description": "The number of CPU cores allocated to the virtual machine", - "type": "string", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true }, "memory": { "description": "The amount of memory allocated to the virtual machine", - "type": "string", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true }, "sockets": { "description": "The number of CPU sockets allocated to the virtual machine (used to define vCPU topology)", - "type": "string", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true } } diff --git a/packages/extra/monitoring/README.md b/packages/extra/monitoring/README.md index 7bf4b646..812507f9 100644 --- a/packages/extra/monitoring/README.md +++ b/packages/extra/monitoring/README.md @@ -11,35 +11,35 @@ ### Metrics storage configuration -| Name | Description | Type | Value | -| ------------------------------------------------ | -------------------------------------------------------------- | ---------- | ------- | -| `metricsStorages` | Configuration of metrics storage instances | `[]object` | `[...]` | -| `metricsStorages[i].name` | Name of the storage instance | `string` | `""` | -| `metricsStorages[i].retentionPeriod` | Retention period for the metrics in the storage instance | `string` | `""` | -| `metricsStorages[i].deduplicationInterval` | Deduplication interval for the metrics in the storage instance | `string` | `""` | -| `metricsStorages[i].storage` | Persistent Volume size for the storage instance | `string` | `""` | -| `metricsStorages[i].storageClassName` | StorageClass used to store the data | `*string` | `null` | -| `metricsStorages[i].vminsert` | Configuration for vminsert component of the storage instance | `*object` | `null` | -| `metricsStorages[i].vminsert.minAllowed` | Requests (minimum allowed/available resources) | `*object` | `null` | -| `metricsStorages[i].vminsert.minAllowed.cpu` | CPU request (minimum available CPU) | `*string` | `null` | -| `metricsStorages[i].vminsert.minAllowed.memory` | Memory request (minimum available memory) | `*string` | `null` | -| `metricsStorages[i].vminsert.maxAllowed` | Limits (maximum allowed/available resources ) | `*object` | `null` | -| `metricsStorages[i].vminsert.maxAllowed.cpu` | CPU limit (maximum available CPU) | `*string` | `null` | -| `metricsStorages[i].vminsert.maxAllowed.memory` | Memory limit (maximum available memory) | `*string` | `null` | -| `metricsStorages[i].vmselect` | Configuration for vmselect component of the storage instance | `*object` | `null` | -| `metricsStorages[i].vmselect.minAllowed` | Requests (minimum allowed/available resources) | `*object` | `null` | -| `metricsStorages[i].vmselect.minAllowed.cpu` | CPU request (minimum available CPU) | `*string` | `null` | -| `metricsStorages[i].vmselect.minAllowed.memory` | Memory request (minimum available memory) | `*string` | `null` | -| `metricsStorages[i].vmselect.maxAllowed` | Limits (maximum allowed/available resources ) | `*object` | `null` | -| `metricsStorages[i].vmselect.maxAllowed.cpu` | CPU limit (maximum available CPU) | `*string` | `null` | -| `metricsStorages[i].vmselect.maxAllowed.memory` | Memory limit (maximum available memory) | `*string` | `null` | -| `metricsStorages[i].vmstorage` | Configuration for vmstorage component of the storage instance | `*object` | `null` | -| `metricsStorages[i].vmstorage.minAllowed` | Requests (minimum allowed/available resources) | `*object` | `null` | -| `metricsStorages[i].vmstorage.minAllowed.cpu` | CPU request (minimum available CPU) | `*string` | `null` | -| `metricsStorages[i].vmstorage.minAllowed.memory` | Memory request (minimum available memory) | `*string` | `null` | -| `metricsStorages[i].vmstorage.maxAllowed` | Limits (maximum allowed/available resources ) | `*object` | `null` | -| `metricsStorages[i].vmstorage.maxAllowed.cpu` | CPU limit (maximum available CPU) | `*string` | `null` | -| `metricsStorages[i].vmstorage.maxAllowed.memory` | Memory limit (maximum available memory) | `*string` | `null` | +| Name | Description | Type | Value | +| ------------------------------------------------ | -------------------------------------------------------------- | ----------- | ------- | +| `metricsStorages` | Configuration of metrics storage instances | `[]object` | `[...]` | +| `metricsStorages[i].name` | Name of the storage instance | `string` | `""` | +| `metricsStorages[i].retentionPeriod` | Retention period for the metrics in the storage instance | `string` | `""` | +| `metricsStorages[i].deduplicationInterval` | Deduplication interval for the metrics in the storage instance | `string` | `""` | +| `metricsStorages[i].storage` | Persistent Volume size for the storage instance | `string` | `""` | +| `metricsStorages[i].storageClassName` | StorageClass used to store the data | `*string` | `null` | +| `metricsStorages[i].vminsert` | Configuration for vminsert component of the storage instance | `*object` | `null` | +| `metricsStorages[i].vminsert.minAllowed` | Requests (minimum allowed/available resources) | `*object` | `null` | +| `metricsStorages[i].vminsert.minAllowed.cpu` | CPU request (minimum available CPU) | `*quantity` | `null` | +| `metricsStorages[i].vminsert.minAllowed.memory` | Memory request (minimum available memory) | `*quantity` | `null` | +| `metricsStorages[i].vminsert.maxAllowed` | Limits (maximum allowed/available resources ) | `*object` | `null` | +| `metricsStorages[i].vminsert.maxAllowed.cpu` | CPU limit (maximum available CPU) | `*quantity` | `null` | +| `metricsStorages[i].vminsert.maxAllowed.memory` | Memory limit (maximum available memory) | `*quantity` | `null` | +| `metricsStorages[i].vmselect` | Configuration for vmselect component of the storage instance | `*object` | `null` | +| `metricsStorages[i].vmselect.minAllowed` | Requests (minimum allowed/available resources) | `*object` | `null` | +| `metricsStorages[i].vmselect.minAllowed.cpu` | CPU request (minimum available CPU) | `*quantity` | `null` | +| `metricsStorages[i].vmselect.minAllowed.memory` | Memory request (minimum available memory) | `*quantity` | `null` | +| `metricsStorages[i].vmselect.maxAllowed` | Limits (maximum allowed/available resources ) | `*object` | `null` | +| `metricsStorages[i].vmselect.maxAllowed.cpu` | CPU limit (maximum available CPU) | `*quantity` | `null` | +| `metricsStorages[i].vmselect.maxAllowed.memory` | Memory limit (maximum available memory) | `*quantity` | `null` | +| `metricsStorages[i].vmstorage` | Configuration for vmstorage component of the storage instance | `*object` | `null` | +| `metricsStorages[i].vmstorage.minAllowed` | Requests (minimum allowed/available resources) | `*object` | `null` | +| `metricsStorages[i].vmstorage.minAllowed.cpu` | CPU request (minimum available CPU) | `*quantity` | `null` | +| `metricsStorages[i].vmstorage.minAllowed.memory` | Memory request (minimum available memory) | `*quantity` | `null` | +| `metricsStorages[i].vmstorage.maxAllowed` | Limits (maximum allowed/available resources ) | `*object` | `null` | +| `metricsStorages[i].vmstorage.maxAllowed.cpu` | CPU limit (maximum available CPU) | `*quantity` | `null` | +| `metricsStorages[i].vmstorage.maxAllowed.memory` | Memory limit (maximum available memory) | `*quantity` | `null` | ### Logs storage configuration @@ -55,37 +55,37 @@ ### Alerta configuration -| Name | Description | Type | Value | -| ----------------------------------------- | ----------------------------------------------------------------------------------- | --------- | ------- | -| `alerta` | Configuration for Alerta service | `object` | `{}` | -| `alerta.storage` | Persistent Volume size for the database | `string` | `10Gi` | -| `alerta.storageClassName` | StorageClass used to store the data | `string` | `""` | -| `alerta.resources` | Resources configuration | `*object` | `null` | -| `alerta.resources.requests` | | `*object` | `null` | -| `alerta.resources.requests.cpu` | CPU request (minimum available CPU) | `*string` | `100m` | -| `alerta.resources.requests.memory` | Memory request (minimum available memory) | `*string` | `256Mi` | -| `alerta.resources.limits` | | `*object` | `null` | -| `alerta.resources.limits.cpu` | CPU limit (maximum available CPU) | `*string` | `1` | -| `alerta.resources.limits.memory` | Memory limit (maximum available memory) | `*string` | `1Gi` | -| `alerta.alerts` | Configuration for alerts | `object` | `{}` | -| `alerta.alerts.telegram` | Configuration for Telegram alerts | `object` | `{}` | -| `alerta.alerts.telegram.token` | Telegram token for your bot | `string` | `""` | -| `alerta.alerts.telegram.chatID` | Specify multiple ID's separated by comma. Get yours in https://t.me/chatid_echo_bot | `string` | `""` | -| `alerta.alerts.telegram.disabledSeverity` | List of severity without alerts, separated by comma like: "informational,warning" | `string` | `""` | +| Name | Description | Type | Value | +| ----------------------------------------- | ----------------------------------------------------------------------------------- | ----------- | ------- | +| `alerta` | Configuration for Alerta service | `object` | `{}` | +| `alerta.storage` | Persistent Volume size for the database | `string` | `10Gi` | +| `alerta.storageClassName` | StorageClass used to store the data | `string` | `""` | +| `alerta.resources` | Resources configuration | `*object` | `null` | +| `alerta.resources.requests` | | `*object` | `null` | +| `alerta.resources.requests.cpu` | CPU request (minimum available CPU) | `*quantity` | `100m` | +| `alerta.resources.requests.memory` | Memory request (minimum available memory) | `*quantity` | `256Mi` | +| `alerta.resources.limits` | | `*object` | `null` | +| `alerta.resources.limits.cpu` | CPU limit (maximum available CPU) | `*quantity` | `1` | +| `alerta.resources.limits.memory` | Memory limit (maximum available memory) | `*quantity` | `1Gi` | +| `alerta.alerts` | Configuration for alerts | `object` | `{}` | +| `alerta.alerts.telegram` | Configuration for Telegram alerts | `object` | `{}` | +| `alerta.alerts.telegram.token` | Telegram token for your bot | `string` | `""` | +| `alerta.alerts.telegram.chatID` | Specify multiple ID's separated by comma. Get yours in https://t.me/chatid_echo_bot | `string` | `""` | +| `alerta.alerts.telegram.disabledSeverity` | List of severity without alerts, separated by comma like: "informational,warning" | `string` | `""` | ### Grafana configuration -| Name | Description | Type | Value | -| ----------------------------------- | ----------------------------------------- | --------- | ------- | -| `grafana` | Configuration for Grafana | `object` | `{}` | -| `grafana.db` | Database configuration | `object` | `{}` | -| `grafana.db.size` | Persistent Volume size for the database | `string` | `10Gi` | -| `grafana.resources` | Resources configuration | `*object` | `null` | -| `grafana.resources.requests` | | `*object` | `null` | -| `grafana.resources.requests.cpu` | CPU request (minimum available CPU) | `*string` | `100m` | -| `grafana.resources.requests.memory` | Memory request (minimum available memory) | `*string` | `256Mi` | -| `grafana.resources.limits` | | `*object` | `null` | -| `grafana.resources.limits.cpu` | CPU limit (maximum available CPU) | `*string` | `1` | -| `grafana.resources.limits.memory` | Memory limit (maximum available memory) | `*string` | `1Gi` | +| Name | Description | Type | Value | +| ----------------------------------- | ----------------------------------------- | ----------- | ------- | +| `grafana` | Configuration for Grafana | `object` | `{}` | +| `grafana.db` | Database configuration | `object` | `{}` | +| `grafana.db.size` | Persistent Volume size for the database | `string` | `10Gi` | +| `grafana.resources` | Resources configuration | `*object` | `null` | +| `grafana.resources.requests` | | `*object` | `null` | +| `grafana.resources.requests.cpu` | CPU request (minimum available CPU) | `*quantity` | `100m` | +| `grafana.resources.requests.memory` | Memory request (minimum available memory) | `*quantity` | `256Mi` | +| `grafana.resources.limits` | | `*object` | `null` | +| `grafana.resources.limits.cpu` | CPU limit (maximum available CPU) | `*quantity` | `1` | +| `grafana.resources.limits.memory` | Memory limit (maximum available memory) | `*quantity` | `1Gi` | diff --git a/packages/extra/monitoring/values.schema.json b/packages/extra/monitoring/values.schema.json index ae807aa8..4ee333d6 100644 --- a/packages/extra/monitoring/values.schema.json +++ b/packages/extra/monitoring/values.schema.json @@ -99,16 +99,30 @@ "properties": { "cpu": { "description": "CPU limit (maximum available CPU)", - "type": "string", - "default": "1", + "default": 1, "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true }, "memory": { "description": "Memory limit (maximum available memory)", - "type": "string", "default": "1Gi", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true } } @@ -122,16 +136,30 @@ "properties": { "cpu": { "description": "CPU request (minimum available CPU)", - "type": "string", "default": "100m", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true }, "memory": { "description": "Memory request (minimum available memory)", - "type": "string", "default": "256Mi", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true } } @@ -211,16 +239,30 @@ "properties": { "cpu": { "description": "CPU limit (maximum available CPU)", - "type": "string", - "default": "1", + "default": 1, "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true }, "memory": { "description": "Memory limit (maximum available memory)", - "type": "string", "default": "1Gi", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true } } @@ -234,16 +276,30 @@ "properties": { "cpu": { "description": "CPU request (minimum available CPU)", - "type": "string", "default": "100m", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true }, "memory": { "description": "Memory request (minimum available memory)", - "type": "string", "default": "256Mi", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true } } @@ -352,16 +408,30 @@ "properties": { "cpu": { "description": "CPU limit (maximum available CPU)", - "type": "string", - "default": "1", + "default": 1, "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true }, "memory": { "description": "Memory limit (maximum available memory)", - "type": "string", "default": "1Gi", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true } } @@ -372,16 +442,30 @@ "properties": { "cpu": { "description": "CPU request (minimum available CPU)", - "type": "string", "default": "100m", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true }, "memory": { "description": "Memory request (minimum available memory)", - "type": "string", "default": "256Mi", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true } } @@ -398,16 +482,30 @@ "properties": { "cpu": { "description": "CPU limit (maximum available CPU)", - "type": "string", - "default": "1", + "default": 1, "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true }, "memory": { "description": "Memory limit (maximum available memory)", - "type": "string", "default": "1Gi", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true } } @@ -418,16 +516,30 @@ "properties": { "cpu": { "description": "CPU request (minimum available CPU)", - "type": "string", "default": "100m", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true }, "memory": { "description": "Memory request (minimum available memory)", - "type": "string", "default": "256Mi", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true } } @@ -444,16 +556,30 @@ "properties": { "cpu": { "description": "CPU limit (maximum available CPU)", - "type": "string", - "default": "1", + "default": 1, "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true }, "memory": { "description": "Memory limit (maximum available memory)", - "type": "string", "default": "1Gi", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true } } @@ -464,16 +590,30 @@ "properties": { "cpu": { "description": "CPU request (minimum available CPU)", - "type": "string", "default": "100m", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true }, "memory": { "description": "Memory request (minimum available memory)", - "type": "string", "default": "256Mi", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], "x-kubernetes-int-or-string": true } }