{{- if .Values.nats.enabled }} {{- $name := include "hrbox.component" (dict "ctx" . "name" "nats") -}} --- apiVersion: v1 kind: ConfigMap metadata: name: {{ printf "%s-config" $name }} labels: {{- include "hrbox.labels" (dict "ctx" . "name" "nats") | nindent 4 }} data: nats.conf: | pid_file: "/var/run/nats/nats.pid" ############### # # # Monitoring # # # ############### http: 8222 server_name: $POD_NAME {{- if .Values.nats.jetstream.enabled }} ################################### # # # NATS JetStream # # # ################################### jetstream { {{- if .Values.nats.jetstream.memStorage.enabled }} max_mem: {{ .Values.nats.jetstream.memStorage.size }} {{- end }} {{- if .Values.nats.jetstream.fileStorage.enabled }} store_dir: {{ .Values.nats.jetstream.fileStorage.storageDirectory }} max_file: {{ .Values.nats.jetstream.fileStorage.size }} {{- end }} } {{- end }} {{- if .Values.nats.cluster.enabled }} ################################### # # # NATS Full Mesh Clustering Setup # # # ################################### cluster { port: 6222 name: {{ printf "%s-cluster" $name }} routes = [ {{- range $i := until (int .Values.nats.cluster.replicas) }} nats://{{ $name }}-{{ $i }}.{{ $name }}.{{ $.Release.Namespace }}.svc.{{ $.Values.cluster.domain }}:6222, {{- end }} ] cluster_advertise: $CLUSTER_ADVERTISE connect_retries: 120 } {{- end }} lame_duck_duration: {{ .Values.nats.terminationGracePeriodSeconds }}s {{- end }}