provisioning-catalog/components/nats/nickel/defaults.ncl

70 lines
2.1 KiB
Text

{
nats | default = {
name | default = "nats",
version | default = "2.10",
port | default = 4222,
monitor_port | default = 8222,
mode | default = 'cluster,
data_dir | default = "/data",
image | default = "nats:2.10-alpine",
jetstream | default = {
max_mem = "256MB",
max_file = "1GB",
},
nkey | default = {
enabled = false,
allow_publish = [],
allow_subscribe = ["_INBOX.>"],
},
# Empty by default — only deployments that opt in get multi-user nkey auth.
nkey_users | default = [],
requires | default = {
storage = { size = "1Gi", persistent = true },
ports = [
{ port = 4222, exposure = 'private },
{ port = 8222, exposure = 'internal },
],
credentials = ["NATS_USER", "NATS_PASS"],
},
provides | default = {
service = "nats",
port = 4222,
protocol = "nats",
},
operations | default = {
install = true,
update = true,
delete = true,
backup = true,
restore = false,
health = true,
restart = true,
},
live_check | default = {
strategy = 'k8s_pods,
scope = 'cp_only,
},
# ServiceConcerns default — NATS/JetStream message bus; backup pending
# until workspace declares BackupPolicy with stream/consumer state capture.
concerns | default = {
tls = { kind = 'disabled, reason = "internal cluster service, mTLS handled by NKey signing per platform-nats" },
dns = { kind = 'disabled, reason = "internal cluster service, no public DNS records" },
certs = { kind = 'disabled, reason = "no ACME issuer required" },
backup = {
kind = 'pending,
reason = "BackupPolicy with JetStream state capture declared at workspace level",
backlog_ref = "BACKUP-NATS-001",
},
observability = { kind = 'pending, reason = "ObservabilityImpl iteration deferred", backlog_ref = "OBS-001" },
security = { kind = 'pending, reason = "SecurityImpl iteration deferred", backlog_ref = "SEC-001" },
},
},
}