diff --git a/addons/grafana/10/chart/grafana/templates/configmap-ini.yaml b/addons/grafana/10/chart/grafana/templates/configmap-ini.yaml index 980d0878..edc57af1 100644 --- a/addons/grafana/10/chart/grafana/templates/configmap-ini.yaml +++ b/addons/grafana/10/chart/grafana/templates/configmap-ini.yaml @@ -13,6 +13,13 @@ metadata: {{- end }} data: grafana.ini: | + [unified_alerting] + enabled = true + ha_listen_address = "${POD_IP}:9094" + ha_peers = "{{ include "common.names.fullname" . }}:9094" + ha_advertise_address = "${POD_IP}:9094" + ha_peer_timeout = 15s + ha_reconnect_timeout = 2m [database] type = postgres url = {{ .Values.pg_url | quote }} diff --git a/addons/grafana/10/chart/grafana/templates/deployment.yaml b/addons/grafana/10/chart/grafana/templates/deployment.yaml index cf1594a9..b354727b 100644 --- a/addons/grafana/10/chart/grafana/templates/deployment.yaml +++ b/addons/grafana/10/chart/grafana/templates/deployment.yaml @@ -128,6 +128,10 @@ spec: name: {{ include "common.tplvalues.render" (dict "value" .Values.grafana.extraEnvVarsSecret "context" $) }} {{- end }} env: + - name: POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP - name: GF_SECURITY_ADMIN_PASSWORD valueFrom: secretKeyRef: @@ -217,6 +221,12 @@ spec: - name: dashboard containerPort: {{ .Values.grafana.containerPorts.grafana }} protocol: TCP + - name: gossip-tcp + containerPort: {{ .Values.grafana.containerPorts.gossipTCP }} + protocol: TCP + - name: gossip-udp + containerPort: {{ .Values.grafana.containerPorts.gossipUDP }} + protocol: UDP {{- if .Values.grafana.customLivenessProbe }} livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.grafana.customLivenessProbe "context" $) | nindent 12 }} {{- else if .Values.grafana.livenessProbe.enabled }} diff --git a/addons/grafana/10/chart/grafana/templates/service.yaml b/addons/grafana/10/chart/grafana/templates/service.yaml index 8eb7182d..5a7c9dc8 100644 --- a/addons/grafana/10/chart/grafana/templates/service.yaml +++ b/addons/grafana/10/chart/grafana/templates/service.yaml @@ -45,6 +45,14 @@ spec: targetPort: dashboard protocol: TCP name: http + - port: {{ .Values.service.ports.gossipTCP }} + targetPort: gossip-tcp + protocol: TCP + name: gossip-tcp + - port: {{ .Values.service.ports.gossipUDP }} + targetPort: gossip-udp + protocol: UDP + name: gossip-udp {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.grafana)) }} nodePort: {{ .Values.service.nodePorts.grafana }} {{- else if eq .Values.service.type "ClusterIP" }} diff --git a/addons/grafana/10/chart/grafana/values.yaml b/addons/grafana/10/chart/grafana/values.yaml index f76a5b7a..4f2c4be7 100644 --- a/addons/grafana/10/chart/grafana/values.yaml +++ b/addons/grafana/10/chart/grafana/values.yaml @@ -318,6 +318,8 @@ grafana: ## containerPorts: grafana: 3000 + gossipTCP: 9094 + gossipUDP: 9094 ## Node affinity preset ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity ## @param grafana.nodeAffinityPreset.type Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` @@ -586,6 +588,8 @@ service: ## ports: grafana: 3000 + gossipTCP: 9094 + gossipUDP: 9094 ## @param service.nodePorts.grafana Specify the nodePort value for the LoadBalancer and NodePort service types ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport ## @@ -733,7 +737,7 @@ ingress: metrics: ## @param metrics.enabled Enable the export of Prometheus metrics ## - enabled: false + enabled: true ## Prometheus Operator ServiceMonitor configuration ## @param metrics.service.annotations [object] Annotations for Prometheus metrics service ## diff --git a/addons/grafana/10/meta.yaml b/addons/grafana/10/meta.yaml index 848290eb..888100cd 100644 --- a/addons/grafana/10/meta.yaml +++ b/addons/grafana/10/meta.yaml @@ -13,7 +13,7 @@ tags: grafana bindable: true instances_retrievable: true bindings_retrievable: true -plan_updateable: false +plan_updateable: true allow_parameters: - name: "networkPolicy.allowNamespaces" required: false