Add the storageclass dynamic-dropdown x-cozystack-options annotation to the storageClass field of the data apps (openbao, clickhouse, mariadb, redis, harbor, opensearch, rabbitmq, mongodb, postgres, nats, kafka, qdrant, foundationdb, http-cache) at the values.yaml source, so the extension is emitted by cozyvalues-gen instead of hand-edited into values.schema.json. kafka carries two (Kafka and ZooKeeper structs); foundationdb is nested under the Storage struct. Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Andrei Kvapil <andrei.kvapil@aenix.io>
Managed NATS Service
NATS is an open-source, simple, secure, and high performance messaging system. It provides a data layer for cloud native applications, IoT messaging, and microservices architectures.
storageClassis annotated as immutable in the chart schema — seedocs/storage-immutability.mdfor the contract and which consumers enforce it.
Parameters
Common parameters
| Name | Description | Type | Value |
|---|---|---|---|
replicas |
Number of replicas. | int |
2 |
resources |
Explicit CPU and memory configuration for each NATS replica. When omitted, the preset defined in resourcesPreset is applied. |
object |
{} |
resources.cpu |
CPU available to each replica. | quantity |
"" |
resources.memory |
Memory (RAM) available to each replica. | quantity |
"" |
resourcesPreset |
Default sizing preset used when resources is omitted. |
string |
t1.nano |
storageClass |
StorageClass used to store the data. | string |
"" |
external |
Enable external access from outside the cluster. | bool |
false |
tls |
TLS configuration. When omitted, TLS follows the external flag. |
object |
{} |
tls.enabled |
Enable TLS. When omitted, TLS is enabled automatically when external is true. |
*bool |
null |
Application-specific parameters
| Name | Description | Type | Value |
|---|---|---|---|
users |
Users configuration map. | map[string]object |
{} |
users[name].password |
Password for the user. | string |
"" |
jetstream |
Jetstream configuration. | object |
{} |
jetstream.enabled |
Enable or disable Jetstream for persistent messaging in NATS. | bool |
true |
jetstream.size |
Jetstream persistent storage size. | quantity |
10Gi |
config |
NATS configuration. | object |
{} |
config.merge |
Additional configuration to merge into NATS config. | *object |
{} |
config.resolver |
Additional resolver configuration to merge into NATS config. | *object |
{} |
Parameter examples and reference
resources and resourcesPreset
resources sets explicit CPU and memory configurations for each replica.
When left empty, the preset defined in resourcesPreset is applied.
resources:
cpu: 4000m
memory: 4Gi
resourcesPreset sets named CPU and memory configurations for each replica.
This setting is ignored if the corresponding resources value is set.
Presets follow a cloud-style <series>.<size> naming convention. Five series cover the full CPU-to-memory ratio range (t1 1:0.5, c1 1:1, s1 1:2, u1 1:4, m1 1:8) and each series ships eight sizes (nano through 4xlarge). The legacy flat names (nano, micro, small, medium, large, xlarge, 2xlarge) remain accepted as deprecated aliases of their 1:1 instance-type equivalents.
See docs/operations/resource-presets.md for the full size matrix and the legacy-to-instance-type mapping.