From 41f8c6fb5fa234ed985ceff16a6f403fa143e196 Mon Sep 17 00:00:00 2001 From: Stefan Reimer Date: Tue, 4 May 2021 15:00:24 +0200 Subject: [PATCH] feat: add file backed persistence and grafana dashboard to NATS --- charts/kubezero-nats/Chart.yaml | 5 ++++- charts/kubezero-nats/dashboards.yaml | 8 ++++++++ .../kubezero-nats/templates/grafana-dashboards.yaml | 13 +++++++++++++ charts/kubezero-nats/update.sh | 3 +++ charts/kubezero-nats/values.yaml | 6 ------ 5 files changed, 28 insertions(+), 7 deletions(-) create mode 100644 charts/kubezero-nats/dashboards.yaml create mode 100644 charts/kubezero-nats/templates/grafana-dashboards.yaml diff --git a/charts/kubezero-nats/Chart.yaml b/charts/kubezero-nats/Chart.yaml index 67b2eed..6d40b64 100644 --- a/charts/kubezero-nats/Chart.yaml +++ b/charts/kubezero-nats/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: kubezero-nats description: KubeZero umbrella chart for NATS type: application -version: 0.1.0 +version: 0.1.1 home: https://kubezero.com icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png keywords: @@ -11,6 +11,9 @@ keywords: maintainers: - name: Quarky9 dependencies: + - name: kubezero-lib + version: ">= 0.1.3" + repository: https://zero-down-time.github.io/kubezero/ - name: nats version: 0.8.3 #repository: https://nats-io.github.io/k8s/helm/charts/ diff --git a/charts/kubezero-nats/dashboards.yaml b/charts/kubezero-nats/dashboards.yaml new file mode 100644 index 0000000..a02ec1f --- /dev/null +++ b/charts/kubezero-nats/dashboards.yaml @@ -0,0 +1,8 @@ +configmap: grafana-dashboards-nats +condition: '.Values.nats.exporter.serviceMonitor.enabled' +gzip: true +# folder: +dashboards: +- name: nats + url: https://grafana.com/api/dashboards/13707/revisions/1/download + tags: ['NATS'] diff --git a/charts/kubezero-nats/templates/grafana-dashboards.yaml b/charts/kubezero-nats/templates/grafana-dashboards.yaml new file mode 100644 index 0000000..9e17afd --- /dev/null +++ b/charts/kubezero-nats/templates/grafana-dashboards.yaml @@ -0,0 +1,13 @@ +{{- if .Values.nats.exporter.serviceMonitor.enabled }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ printf "%s-%s" (include "kubezero-lib.fullname" $) "grafana-dashboards-nats" | trunc 63 | trimSuffix "-" }} + namespace: {{ .Release.Namespace }} + labels: + grafana_dashboard: "1" +{{ include "kubezero-lib.labels" . | indent 4 }} +binaryData: + nats.json.gz: + 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 +{{- end }} diff --git a/charts/kubezero-nats/update.sh b/charts/kubezero-nats/update.sh index 0e89e6f..ce0a46e 100755 --- a/charts/kubezero-nats/update.sh +++ b/charts/kubezero-nats/update.sh @@ -7,3 +7,6 @@ rm -rf charts/nats && mkdir -p charts/nats git clone --depth=1 https://github.com/nats-io/k8s.git cp -r k8s/helm/charts/nats/* charts/nats/ rm -rf k8s + +# Fetch dashboards +../kubezero-metrics/sync_grafana_dashboards.py dashboards.yaml templates/grafana-dashboards.yaml diff --git a/charts/kubezero-nats/values.yaml b/charts/kubezero-nats/values.yaml index 8af407c..ad96899 100644 --- a/charts/kubezero-nats/values.yaml +++ b/charts/kubezero-nats/values.yaml @@ -7,15 +7,9 @@ nats: jetstream: enabled: true - memStorage: - enabled: true - size: 128Mi - natsbox: enabled: false exporter: serviceMonitor: enabled: true - labels: - release: metrics