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.

Parameters

Common parameters

NameDescriptionTypeValue
replicasNumber of replicasint2
resourcesExplicit CPU and memory configuration for each NATS replica. When left empty, the preset defined in resourcesPreset is applied.*object{}
resources.cpuCPU available to each replica*quantitynull
resources.memoryMemory (RAM) available to each replica*quantitynull
resourcesPresetDefault sizing preset used when resources is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.stringnano
storageClassStorageClass used to store the datastring""
externalEnable external access from outside the clusterboolfalse

Application-specific parameters

NameDescriptionTypeValue
usersUsers configurationmap[string]object{...}
users[name].passwordPassword for the user*stringnull
jetstreamJetstream configurationobject{}
jetstream.enabledEnable or disable Jetstream. Set to true (default) to enable Jetstream for persistent messaging in NATS.booltrue
jetstream.sizeJetstream persistent storage size. Specifies the size of the persistent storage for Jetstream (message store).quantity10Gi
configNATS configurationobject{}
config.mergeAdditional configuration to merge into NATS config (see example)*object{}
config.resolverAdditional resolver configuration to merge into NATS config (see example)*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.

Preset nameCPUmemory
nano250m128Mi
micro500m256Mi
small1512Mi
medium11Gi
large22Gi
xlarge44Gi
2xlarge88Gi