You are viewing documentation for Cozystack next, which is currently in beta. For the latest stable version, see the v1.4 documentation.

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.

storageClass is annotated as immutable in the chart schema — see docs/storage-immutability.md for the contract and which consumers enforce it.

Parameters

Common parameters

NameDescriptionTypeValue
replicasNumber of replicas.int2
resourcesExplicit CPU and memory configuration for each NATS replica. When omitted, the preset defined in resourcesPreset is applied.object{}
resources.cpuCPU available to each replica.quantity""
resources.memoryMemory (RAM) available to each replica.quantity""
resourcesPresetDefault sizing preset used when resources is omitted.stringt1.nano
storageClassStorageClass used to store the data.string""
externalEnable external access from outside the cluster.boolfalse
tlsTLS configuration. When omitted, TLS follows the external flag.object{}
tls.enabledEnable TLS. When omitted, TLS is enabled automatically when external is true.*boolnull

Application-specific parameters

NameDescriptionTypeValue
usersUsers configuration map.map[string]object{}
users[name].passwordPassword for the user.string""
jetstreamJetstream configuration.object{}
jetstream.enabledEnable or disable Jetstream for persistent messaging in NATS.booltrue
jetstream.sizeJetstream persistent storage size.quantity10Gi
configNATS configuration.object{}
config.mergeAdditional configuration to merge into NATS config.*object{}
config.resolverAdditional 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.