Refactor the first version
diff --git a/charts/README.md b/charts/README.md
new file mode 100644
index 0000000..9b5505e
--- /dev/null
+++ b/charts/README.md
@@ -0,0 +1,20 @@
+# Apache Dubbo Admin
+
+A Helm chart for Dubbo Admin The ops and reference implementation for Apache Dubbo.
+
+## Prerequisites
+
+* Kubernetes v1.14+
+* Helm v3+
+
+### Install
+
+```bash
+helm install [RELEASE_NAME] dubbo-admin --namespace dubbo-system --create-namespace
+```
+
+### Uninstall
+
+```bash
+helm delete [RELEASE_NAME] --namespace dubbo-system
+```
\ No newline at end of file
diff --git a/charts/admin-stack/README.md b/charts/admin-stack/README.md
deleted file mode 100644
index 4439046..0000000
--- a/charts/admin-stack/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
-> **Security Notice: Please remember to change the `admin.check.signSecret`, `admin.root.user.name` and `admin.root.user.password` value before you deploy to production environment.**
-
-## 1. Project download to local
-```
-git clone https://github.com/apache/dubbo-admin.git
-```
-
-## 2. Switch project directory
-```
-cd dubbo-admin/deploy/charts/dubbo-admin
-```
-
-## 3. Install dubbo-admin
-```
-helm install dubbo-admin -f values.yaml .
-```
diff --git a/charts/admin-stack/charts/dubbo-admin/.helmignore b/charts/admin-stack/charts/dubbo-admin/.helmignore
deleted file mode 100644
index 0e8a0eb..0000000
--- a/charts/admin-stack/charts/dubbo-admin/.helmignore
+++ /dev/null
@@ -1,23 +0,0 @@
-# Patterns to ignore when building packages.
-# This supports shell glob matching, relative path matching, and
-# negation (prefixed with !). Only one pattern per line.
-.DS_Store
-# Common VCS dirs
-.git/
-.gitignore
-.bzr/
-.bzrignore
-.hg/
-.hgignore
-.svn/
-# Common backup files
-*.swp
-*.bak
-*.tmp
-*.orig
-*~
-# Various IDEs
-.project
-.idea/
-*.tmproj
-.vscode/
diff --git a/charts/admin-stack/charts/dubbo-admin/Chart.yaml b/charts/admin-stack/charts/dubbo-admin/Chart.yaml
deleted file mode 100644
index dff5d7f..0000000
--- a/charts/admin-stack/charts/dubbo-admin/Chart.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-apiVersion: v2
-appVersion: ""
-name: dubbo-admin
-description: Distributed application monitoring and management platform.
-home: https://cn.dubbo.apache.org
-kubeVersion: '>=1.20.0-0'
-maintainers:
- - email: dev@dubbo.apache.org
- name: dubbo
-sources:
- - https://github.com/apache/dubbo
-type: application
-version: 0.5.0
\ No newline at end of file
diff --git a/charts/admin-stack/charts/dubbo-admin/templates/NOTES.txt b/charts/admin-stack/charts/dubbo-admin/templates/NOTES.txt
deleted file mode 100644
index e69de29..0000000
--- a/charts/admin-stack/charts/dubbo-admin/templates/NOTES.txt
+++ /dev/null
diff --git a/charts/admin-stack/charts/dubbo-admin/templates/_helpers.tpl b/charts/admin-stack/charts/dubbo-admin/templates/_helpers.tpl
deleted file mode 100644
index 538e61c..0000000
--- a/charts/admin-stack/charts/dubbo-admin/templates/_helpers.tpl
+++ /dev/null
@@ -1,103 +0,0 @@
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "dubbo-admin.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
-{{- end }}
-
-
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Expand the name of the chart.
-*/}}
-{{- define "dubbo-admin.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "dubbo-admin.fullname" -}}
-{{- if .Values.fullnameOverride }}
-{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
-{{- else }}
-{{- $name := default .Chart.Name .Values.nameOverride }}
-{{- if contains $name .Release.Name }}
-{{- .Release.Name | trunc 63 | trimSuffix "-" }}
-{{- else }}
-{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
-{{- end }}
-{{- end }}
-{{- end }}
-
-{{- define "dubbo-admin.labels" -}}
-app.kubernetes.io/name: {{ include "dubbo-admin.name" . }}
-helm.sh/chart: {{ include "dubbo-admin.chart" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end -}}
-
-
-{{/*
-Allow the release namespace to be overridden for multi-namespace deployments in combined charts
-*/}}
-{{- define "dubbo-admin.namespace" -}}
-{{- if .Values.namespaceOverride }}
-{{- .Values.namespaceOverride }}
-{{- else }}
-{{- .Release.Namespace }}
-{{- end }}
-{{- end }}
-
-
-{{/*
-Labels to use on sts.spec.selector.matchLabels and svc.spec.selector
-*/}}
-{{- define "dubbo-admin.matchLabels" -}}
-app.kubernetes.io/name: {{ include "dubbo-admin.name" . }}
-{{- end -}}
-
-
-{{- define "dubbo-admin.selectorLabels" -}}
-app.kubernetes.io/name: {{ include "dubbo-admin.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end }}
-
-
-{{/*
-Create the name of the service account to use
-*/}}
-{{- define "dubbo-admin.serviceAccountName" -}}
-{{- if .Values.serviceAccount.enabled }}
-{{- default (include "dubbo-admin.fullname" .) .Values.serviceAccount.name }}
-{{- else }}
-{{- default "default" .Values.serviceAccount.name }}
-{{- end }}
-{{- end }}
-
-
-{{- define "dubbo-admin.serviceAccountNameTest" -}}
-{{- if .Values.serviceAccount.enabled }}
-{{- default (print (include "dubbo-admin.fullname" .) "-test") .Values.serviceAccount.nameTest }}
-{{- else }}
-{{- default "default" .Values.serviceAccount.nameTest }}
-{{- end }}
-{{- end }}
-
-{{- define "dubbo-admin.rbac.apiVersion" -}}
-{{- if $.Capabilities.APIVersions.Has "rbac.authorization.k8s.io/v1" }}
-{{- print "rbac.authorization.k8s.io/v1" }}
-{{- else }}
-{{- print "rbac.authorization.k8s.io/v1beta1" }}
-{{- end }}
-{{- end }}
-
-{{- define "dubbo-admin.podDisruptionBudget.apiVersion" -}}
-{{- if $.Capabilities.APIVersions.Has "policy/v1/PodDisruptionBudget" }}
-{{- print "policy/v1" }}
-{{- else }}
-{{- print "policy/v1beta1" }}
-{{- end }}
-{{- end }}
\ No newline at end of file
diff --git a/charts/admin-stack/charts/dubbo-admin/templates/clusterrole.yaml b/charts/admin-stack/charts/dubbo-admin/templates/clusterrole.yaml
deleted file mode 100644
index 1d666a5..0000000
--- a/charts/admin-stack/charts/dubbo-admin/templates/clusterrole.yaml
+++ /dev/null
@@ -1,39 +0,0 @@
-{{- if and .Values.rbac.enabled }}
-apiVersion: {{ include "dubbo-admin.rbac.apiVersion" . }}
-kind: ClusterRole
-metadata:
- labels:
- {{- include "dubbo-admin.labels" . | nindent 4 }}
- {{- with .Values.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
- name: {{ include "dubbo-admin.fullname" . }}-clusterrole
-rules:
- - apiGroups: # "" indicates the core API group
- - ""
- resources:
- - configmaps
- - secrets
- - pods
- verbs:
- - get
- - watch
- - list
- - apiGroups:
- - "extensions"
- resources:
- - ingresses
- verbs:
- - get
- - apiGroups:
- - "apps"
- resources:
- - configmaps
- - deployments
- - services
- verbs:
- - get
- - list
- - watch
- {{- end }}
diff --git a/charts/admin-stack/charts/dubbo-admin/templates/clusterrolebinding.yaml b/charts/admin-stack/charts/dubbo-admin/templates/clusterrolebinding.yaml
deleted file mode 100644
index d0e99d9..0000000
--- a/charts/admin-stack/charts/dubbo-admin/templates/clusterrolebinding.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-{{- if and .Values.rbac.enabled }}
-apiVersion: {{ include "dubbo-admin.rbac.apiVersion" . }}
-kind: ClusterRoleBinding
-metadata:
- name: {{ include "dubbo-admin.fullname" . }}-clusterrolebinding
- labels:
- {{- include "dubbo-admin.labels" . | nindent 4 }}
- {{- with .Values.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
-subjects:
- - kind: ServiceAccount
- name: {{ include "dubbo-admin.serviceAccountName" . }}
- namespace: {{ include "dubbo-admin.namespace" . }}
-roleRef:
- kind: ClusterRole
- name: {{ include "dubbo-admin.fullname" . }}-clusterrole
- {{- end }}
- apiGroup: rbac.authorization.k8s.io
diff --git a/charts/admin-stack/charts/dubbo-admin/templates/ingress.yaml b/charts/admin-stack/charts/dubbo-admin/templates/ingress.yaml
deleted file mode 100644
index 9fe91f0..0000000
--- a/charts/admin-stack/charts/dubbo-admin/templates/ingress.yaml
+++ /dev/null
@@ -1,78 +0,0 @@
-{{- if .Values.ingress.enabled -}}
-{{- $ingressApiIsStable := eq (include "dubbo-admin.ingress.isStable" .) "true" -}}
-{{- $ingressSupportsIngressClassName := eq (include "dubbo-admin.ingress.supportsIngressClassName" .) "true" -}}
-{{- $ingressSupportsPathType := eq (include "dubbo-admin.ingress.supportsPathType" .) "true" -}}
-{{- $fullName := include "dubbo-admin.fullname" . -}}
-{{- $servicePort := .Values.service.port -}}
-{{- $ingressPath := .Values.ingress.path -}}
-{{- $ingressPathType := .Values.ingress.pathType -}}
-{{- $extraPaths := .Values.ingress.extraPaths -}}
-apiVersion: {{ include "dubbo-admin.ingress.apiVersion" . }}
-kind: Ingress
-metadata:
- name: {{ $fullName }}
- namespace: {{ include "dubbo-admin.namespace" . }}
- labels:
- {{- include "dubbo-admin.labels" . | nindent 4 }}
- {{- with .Values.ingress.labels }}
- {{- toYaml . | nindent 4 }}
- {{- end }}
- {{- with .Values.ingress.annotations }}
- annotations:
- {{- range $key, $value := . }}
- {{ $key }}: {{ tpl $value $ | quote }}
- {{- end }}
- {{- end }}
-spec:
- {{- if and $ingressSupportsIngressClassName .Values.ingress.ingressClassName }}
- ingressClassName: {{ .Values.ingress.ingressClassName }}
- {{- end -}}
- {{- with .Values.ingress.tls }}
- tls:
- {{- tpl (toYaml .) $ | nindent 4 }}
- {{- end }}
- rules:
- {{- if .Values.ingress.hosts }}
- {{- range .Values.ingress.hosts }}
- - host: {{ tpl . $ }}
- http:
- paths:
- {{- with $extraPaths }}
- {{- toYaml . | nindent 10 }}
- {{- end }}
- - path: {{ $ingressPath }}
- {{- if $ingressSupportsPathType }}
- pathType: {{ $ingressPathType }}
- {{- end }}
- backend:
- {{- if $ingressApiIsStable }}
- service:
- name: {{ $fullName }}
- port:
- number: {{ $servicePort }}
- {{- else }}
- serviceName: {{ $fullName }}
- servicePort: {{ $servicePort }}
- {{- end }}
- {{- end }}
- {{- else }}
- - http:
- paths:
- - backend:
- {{- if $ingressApiIsStable }}
- service:
- name: {{ $fullName }}
- port:
- number: {{ $servicePort }}
- {{- else }}
- serviceName: {{ $fullName }}
- servicePort: {{ $servicePort }}
- {{- end }}
- {{- with $ingressPath }}
- path: {{ . }}
- {{- end }}
- {{- if $ingressSupportsPathType }}
- pathType: {{ $ingressPathType }}
- {{- end }}
- {{- end -}}
-{{- end }}
diff --git a/charts/admin-stack/charts/dubbo-admin/templates/networkpolicy.yaml b/charts/admin-stack/charts/dubbo-admin/templates/networkpolicy.yaml
deleted file mode 100644
index 70f3e8a..0000000
--- a/charts/admin-stack/charts/dubbo-admin/templates/networkpolicy.yaml
+++ /dev/null
@@ -1,52 +0,0 @@
-{{- if .Values.networkPolicy.enabled }}
-apiVersion: networking.k8s.io/v1
-kind: NetworkPolicy
-metadata:
- name: {{ include "dubbo-admin.fullname" . }}
- namespace: {{ include "dubbo-admin.namespace" . }}
- labels:
- {{- include "dubbo-admin.labels" . | nindent 4 }}
- {{- with .Values.labels }}
- {{- toYaml . | nindent 4 }}
- {{- end }}
- {{- with .Values.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
-spec:
- policyTypes:
- {{- if .Values.networkPolicy.ingress }}
- - Ingress
- {{- end }}
- {{- if .Values.networkPolicy.egress.enabled }}
- - Egress
- {{- end }}
- podSelector:
- matchLabels:
- {{- include "dubbo-admin.selectorLabels" . | nindent 6 }}
-
- {{- if .Values.networkPolicy.egress.enabled }}
- egress:
- - ports:
- {{ .Values.networkPolicy.egress.ports | toJson }}
- {{- end }}
- {{- if .Values.networkPolicy.ingress }}
- ingress:
- - ports:
- - port: {{ .Values.service.targetPort }}
- {{- if not .Values.networkPolicy.allowExternal }}
- from:
- - podSelector:
- matchLabels:
- {{ include "dubbo-admin.fullname" . }}-client: "true"
- {{- with .Values.networkPolicy.explicitNamespacesSelector }}
- - namespaceSelector:
- {{- toYaml . | nindent 12 }}
- {{- end }}
- - podSelector:
- matchLabels:
- {{- include "dubbo-admin.labels" . | nindent 14 }}
- role: read
- {{- end }}
- {{- end }}
-{{- end }}
diff --git a/charts/admin-stack/charts/dubbo-admin/templates/pdb.yaml b/charts/admin-stack/charts/dubbo-admin/templates/pdb.yaml
deleted file mode 100644
index 86809fe..0000000
--- a/charts/admin-stack/charts/dubbo-admin/templates/pdb.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-apiVersion: {{ include "dubbo-admin.podDisruptionBudget.apiVersion" . }}
-kind: PodDisruptionBudget
-metadata:
- name: {{ include "dubbo-admin.fullname" . }}
- namespace: {{ include "dubbo-admin.namespace" . }}
- labels:
- {{- include "dubbo-admin.labels" . | nindent 4 }}
- {{- with .Values.labels }}
- {{- toYaml . | nindent 4 }}
- {{- end }}
-spec:
- {{- with .Values.podDisruptionBudget.minAvailable }}
- minAvailable: {{ . }}
- {{- end }}
- {{- with .Values.podDisruptionBudget.maxUnavailable }}
- maxUnavailable: {{ . }}
- {{- end }}
- selector:
- matchLabels:
- {{- include "dubbo-admin.selectorLabels" . | nindent 6 }}
diff --git a/charts/admin-stack/charts/dubbo-admin/templates/psp.yaml b/charts/admin-stack/charts/dubbo-admin/templates/psp.yaml
deleted file mode 100644
index e2b830f..0000000
--- a/charts/admin-stack/charts/dubbo-admin/templates/psp.yaml
+++ /dev/null
@@ -1,39 +0,0 @@
-{{- if and .Values.rbac.pspEnabled (.Capabilities.APIVersions.Has "policy/v1beta1/PodSecurityPolicy") }}
-apiVersion: policy/v1beta1
-kind: PodSecurityPolicy
-metadata:
- name: {{ include "dubbo-admin.fullname" . }}
- labels:
- {{- include "dubbo-admin.labels" . | nindent 4 }}
-spec:
- privileged: false
- allowPrivilegeEscalation: false
- requiredDropCapabilities:
- - ALL
- volumes:
- - 'configMap'
- - 'emptyDir'
- - 'projected'
- - 'csi'
- - 'secret'
- - 'downwardAPI'
- - 'persistentVolumeClaim'
- hostNetwork: false
- hostIPC: false
- hostPID: false
- runAsUser:
- rule: 'RunAsAny'
- seLinux:
- rule: 'RunAsAny'
- supplementalGroups:
- rule: 'MustRunAs'
- ranges:
- - min: 1
- max: 65535
- fsGroup:
- rule: 'MustRunAs'
- ranges:
- - min: 1
- max: 65535
- readOnlyRootFilesystem: false
-{{- end }}
diff --git a/charts/admin-stack/charts/dubbo-admin/templates/pvc.yaml b/charts/admin-stack/charts/dubbo-admin/templates/pvc.yaml
deleted file mode 100644
index 2af3e1a..0000000
--- a/charts/admin-stack/charts/dubbo-admin/templates/pvc.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
-{{- if and .Values.persistence.enabled }}
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
- name: {{ include "dubbo-admin.fullname" . }}
- namespace: {{ include "dubbo-admin.namespace" . }}
- labels:
- {{- include "dubbo-admin.labels" . | nindent 4 }}
- {{- with .Values.persistence.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
-spec:
- accessModes:
- {{- range .Values.persistence.accessModes }}
- - {{ . | quote }}
- {{- end }}
- resources:
- requests:
- storage: {{ .Values.persistence.size | quote }}
- {{- with .Values.persistence.storageClass }}
- storageClassName: {{ . }}
- {{- end }}
- {{- with .Values.persistence.selectorLabels }}
- selector:
- matchLabels:
- {{- toYaml . | nindent 6 }}
- {{- end }}
-{{- end }}
diff --git a/charts/admin-stack/charts/dubbo-admin/templates/role.yaml b/charts/admin-stack/charts/dubbo-admin/templates/role.yaml
deleted file mode 100644
index b096ba5..0000000
--- a/charts/admin-stack/charts/dubbo-admin/templates/role.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
-{{- if and .Values.rbac.enabled -}}
-apiVersion: {{ include "dubbo-admin.rbac.apiVersion" . }}
-kind: Role
-metadata:
- name: {{ include "dubbo-admin.fullname" . }}
- namespace: {{ include "dubbo-admin.namespace" . }}
- labels:
- {{- include "dubbo-admin.labels" . | nindent 4 }}
- {{- with .Values.labels }}
- {{- toYaml . | nindent 4 }}
- {{- end }}
- {{- with .Values.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
-{{- if .Values.rbac.pspEnabled }}
-rules:
- {{- if .Values.rbac.pspEnabled }}
- - apiGroups:
- - extensions
- resources:
- - podsecuritypolicies
- verbs:
- - use
- resourceNames:
- - {{ include "dubbo-admin.fullname" . }}
- {{- end }}
-{{- end }}
-{{- end }}
diff --git a/charts/admin-stack/charts/dubbo-admin/templates/rolebinding.yaml b/charts/admin-stack/charts/dubbo-admin/templates/rolebinding.yaml
deleted file mode 100644
index 357f935..0000000
--- a/charts/admin-stack/charts/dubbo-admin/templates/rolebinding.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-{{- if .Values.rbac.enabled }}
-apiVersion: {{ include "dubbo-admin.rbac.apiVersion" . }}
-kind: RoleBinding
-metadata:
- name: {{ include "dubbo-admin.fullname" . }}
- namespace: {{ include "dubbo-admin.namespace" . }}
- labels:
- {{- include "dubbo-admin.labels" . | nindent 4 }}
- {{- with .Values.labels }}
- {{- toYaml . | nindent 4 }}
- {{- end }}
- {{- with .Values.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: {{ include "dubbo-admin.fullname" . }}
-subjects:
- - kind: ServiceAccount
- name: {{ include "dubbo-admin.serviceAccountName" . }}
- namespace: {{ include "dubbo-admin.namespace" . }}
-{{- end }}
diff --git a/charts/admin-stack/charts/dubbo-admin/templates/secret.yaml b/charts/admin-stack/charts/dubbo-admin/templates/secret.yaml
deleted file mode 100644
index fcad8fe..0000000
--- a/charts/admin-stack/charts/dubbo-admin/templates/secret.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-apiVersion: v1
-kind: Secret
-metadata:
- name: {{ include "dubbo-admin.fullname" . }}-secret
- namespace: {{ include "dubbo-admin.namespace" . }}
- labels:
- {{- include "dubbo-admin.labels" . | nindent 4 }}
- {{- with .Values.labels }}
- {{- toYaml . | nindent 4 }}
- {{- end }}
-type: Opaque
-data:
- application.properties: {{ tpl (toYaml .Values.properties) . | b64enc }}
diff --git a/charts/admin-stack/charts/dubbo-admin/templates/serviceaccount.yaml b/charts/admin-stack/charts/dubbo-admin/templates/serviceaccount.yaml
deleted file mode 100644
index 3ccaf61..0000000
--- a/charts/admin-stack/charts/dubbo-admin/templates/serviceaccount.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-{{- if .Values.serviceAccount.enabled }}
-{{- $admin := . -}}
-apiVersion: v1
-kind: ServiceAccount
-metadata:
- labels:
- {{- include "dubbo-admin.labels" . | nindent 4 }}
- {{- with .Values.serviceAccount.labels }}
- {{- toYaml . | nindent 4 }}
- {{- end }}
- {{- with .Values.serviceAccount.annotations }}
- annotations:
- {{- tpl (toYaml . | nindent 4) $admin }}
- {{- end }}
- name: {{ include "dubbo-admin.serviceAccountName" . }}
- namespace: {{ include "dubbo-admin.namespace" . }}
- {{- end }}
diff --git a/charts/admin-stack/charts/dubbo-admin/templates/svc-headless.yaml b/charts/admin-stack/charts/dubbo-admin/templates/svc-headless.yaml
deleted file mode 100644
index 0a5c086..0000000
--- a/charts/admin-stack/charts/dubbo-admin/templates/svc-headless.yaml
+++ /dev/null
@@ -1,45 +0,0 @@
-{{- if .Values.service.enabled }}
-apiVersion: v1
-kind: Service
-metadata:
- name: {{ include "dubbo-admin.fullname" . }}-headless
- namespace: {{ include "dubbo-admin.namespace" . }}
- labels:
- {{- include "dubbo-admin.labels" . | nindent 4 }}
- {{- with .Values.labels }}
- {{- toYaml . | nindent 4 }}
- {{- end }}
-spec:
- {{- if (or (eq .Values.service.type "ClusterIP") (empty .Values.service.type)) }}
- type: {{ .Values.service.type }}
- clusterIP: None
- {{- else if eq .Values.service.type "LoadBalancer" }}
- type: {{ .Values.service.type }}
- {{- with .Values.service.loadBalancerIP }}
- loadBalancerIP: {{ . }}
- {{- end }}
- {{- with .Values.service.loadBalancerSourceRanges }}
- loadBalancerSourceRanges:
- {{- toYaml . | nindent 4 }}
- {{- end }}
- {{- else }}
- type: {{ .Values.service.type }}
- {{- end }}
- {{- with .Values.service.externalIPs }}
- externalIPs:
- {{- toYaml . | nindent 4 }}
- {{- end }}
- ports:
- - name: {{ .Values.service.portName }}
- port: {{ .Values.service.port }}
- protocol: {{ .Values.service.protocol }}
- targetPort: {{ .Values.service.targetPort }}
- {{- with .Values.service.appProtocol }}
- appProtocol: {{ . }}
- {{- end }}
- {{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort))) }}
- nodePort: {{ .Values.service.nodePort }}
- {{- end }}
- selector:
- {{- include "dubbo-admin.selectorLabels" . | nindent 4 }}
- {{- end }}
\ No newline at end of file
diff --git a/charts/admin-stack/charts/dubbo-admin/templates/svc.yaml b/charts/admin-stack/charts/dubbo-admin/templates/svc.yaml
deleted file mode 100644
index 941c917..0000000
--- a/charts/admin-stack/charts/dubbo-admin/templates/svc.yaml
+++ /dev/null
@@ -1,49 +0,0 @@
-{{- if .Values.service.enabled }}
-apiVersion: v1
-kind: Service
-metadata:
- name: {{ include "dubbo-admin.fullname" . }}
- namespace: {{ include "dubbo-admin.namespace" . }}
- labels:
- {{- include "dubbo-admin.labels" . | nindent 4 }}
- {{- with .Values.labels }}
- {{- toYaml . | nindent 4 }}
- {{- end }}
-spec:
- {{- if (or (eq .Values.service.type "ClusterIP") (empty .Values.service.type)) }}
- type: {{ .Values.service.type }}
- {{- with .Values.service.clusterIP }}
- clusterIP: {{ . }}
- {{- end }}
- {{- else if eq .Values.service.type "LoadBalancer" }}
- type: {{ .Values.service.type }}
- {{- with .Values.service.loadBalancerIP }}
- loadBalancerIP: {{ . }}
- {{- end }}
- {{- with .Values.service.loadBalancerSourceRanges }}
- loadBalancerSourceRanges:
- {{- toYaml . | nindent 4 }}
- {{- end }}
- {{- else }}
- type: {{ .Values.service.type }}
- {{- end }}
- {{- with .Values.service.externalIPs }}
- externalIPs:
- {{- toYaml . | nindent 4 }}
- {{- end }}
- ports:
- - name: {{ .Values.service.portName }}
- port: {{ .Values.service.port }}
- protocol: {{ .Values.service.protocol }}
- targetPort: {{ .Values.service.targetPort }}
- {{- with .Values.service.appProtocol }}
- appProtocol: {{ . }}
- {{- end }}
- {{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort))) }}
- nodePort: {{ .Values.service.nodePort }}
- {{- end }}
- selector:
- {{- include "dubbo-admin.selectorLabels" . | nindent 4 }}
- {{- end }}
-
-
diff --git a/charts/admin-stack/charts/dubbo-admin/templates/tests/test-role.yaml b/charts/admin-stack/charts/dubbo-admin/templates/tests/test-role.yaml
deleted file mode 100644
index 5a59823..0000000
--- a/charts/admin-stack/charts/dubbo-admin/templates/tests/test-role.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-{{- if and (.Capabilities.APIVersions.Has "policy/v1beta1/PodSecurityPolicy") .Values.tests.enabled .Values.rbac.pspEnabled }}
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: {{ include "dubbo-admin.fullname" . }}-test
- namespace: {{ include "dubbo-admin.namespace" . }}
- annotations:
- "helm.sh/hook": test-success
- "helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
- labels:
- {{- include "dubbo-admin.labels" . | nindent 4 }}
-rules:
- - apiGroups:
- - extensions
- resources:
- - podsecuritypolicies
- verbs:
- - use
- resourceNames:
- - {{ include "dubbo-admin.fullname" . }}-test
-{{- end }}
diff --git a/charts/admin-stack/charts/dubbo-admin/templates/tests/test-rolebinding.yaml b/charts/admin-stack/charts/dubbo-admin/templates/tests/test-rolebinding.yaml
deleted file mode 100644
index 7bb20eb..0000000
--- a/charts/admin-stack/charts/dubbo-admin/templates/tests/test-rolebinding.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-{{- if and (.Capabilities.APIVersions.Has "policy/v1beta1/PodSecurityPolicy") .Values.tests.enabled .Values.rbac.pspEnabled }}
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: {{ include "dubbo-admin.fullname" . }}-test
- namespace: {{ include "dubbo-admin.namespace" . }}
- annotations:
- "helm.sh/hook": test-success
- "helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
- labels:
- {{- include "dubbo-admin.labels" . | nindent 4 }}
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: {{ include "dubbo-admin.fullname" . }}-test
-subjects:
- - kind: ServiceAccount
- name: {{ include "dubbo-admin.serviceAccountNameTest" . }}
- namespace: {{ include "dubbo-admin.namespace" . }}
-{{- end }}
diff --git a/charts/admin-stack/charts/dubbo-admin/templates/tests/test-secret.yaml b/charts/admin-stack/charts/dubbo-admin/templates/tests/test-secret.yaml
deleted file mode 100644
index 7ee857b..0000000
--- a/charts/admin-stack/charts/dubbo-admin/templates/tests/test-secret.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-apiVersion: v1
-kind: Secret
-metadata:
- name: {{ include "dubbo-admin.fullname" . }}-secret-test
- namespace: {{ include "dubbo-admin.namespace" . }}
- annotations:
- "helm.sh/hook": test-success
- "helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
- labels:
- {{- include "dubbo-admin.labels" . | nindent 4 }}
-type: Opaque
-data:
- application.properties: {{ tpl (toYaml .Values.properties) . | b64enc }}-test
diff --git a/charts/admin-stack/charts/dubbo-admin/templates/tests/test-serviceaccount.yaml b/charts/admin-stack/charts/dubbo-admin/templates/tests/test-serviceaccount.yaml
deleted file mode 100644
index 0590e0b..0000000
--- a/charts/admin-stack/charts/dubbo-admin/templates/tests/test-serviceaccount.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
-{{- if and .Values.tests.enabled .Values.serviceAccount.enabled }}
-apiVersion: v1
-kind: ServiceAccount
-metadata:
- labels:
- {{- include "dubbo-admin.labels" . | nindent 4 }}
- name: {{ include "dubbo-admin.serviceAccountNameTest" . }}
- namespace: {{ include "dubbo-admin.namespace" . }}
- annotations:
- "helm.sh/hook": test-success
- "helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
-{{- end }}
diff --git a/charts/admin-stack/charts/dubbo-admin/templates/tests/test.yaml b/charts/admin-stack/charts/dubbo-admin/templates/tests/test.yaml
deleted file mode 100644
index 1cf6b64..0000000
--- a/charts/admin-stack/charts/dubbo-admin/templates/tests/test.yaml
+++ /dev/null
@@ -1,49 +0,0 @@
-{{- if .Values.tests.enabled }}
-{{- $root := . }}
-apiVersion: v1
-kind: Pod
-metadata:
- name: {{ include "dubbo-admin.fullname" . }}-test
- labels:
- {{- include "dubbo-admin.labels" . | nindent 4 }}
- annotations:
- "helm.sh/hook": test-success
- "helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
- namespace: {{ include "dubbo-admin.namespace" . }}
-spec:
- serviceAccountName: {{ include "dubbo-admin.serviceAccountName" . }}
- {{- with .Values.tests.securityContext }}
- securityContext:
- {{- toYaml . | nindent 4 }}
- {{- end }}
- {{- if or .Values.image.pullSecrets .Values.global.imagePullSecrets }}
- imagePullSecrets:
- {{- include "dubbo-admin.imagePullSecrets" (dict "root" $root "imagePullSecrets" .Values.image.pullSecrets) | nindent 4 }}
- {{- end }}
- {{- with .Values.nodeSelector }}
- nodeSelector:
- {{- toYaml . | nindent 4 }}
- {{- end }}
- {{- with .Values.affinity }}
- affinity:
- {{- tpl (toYaml .) $root | nindent 4 }}
- {{- end }}
- {{- with .Values.tolerations }}
- tolerations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
- containers:
- - name: {{ .Release.Name }}-test
- image: "{{ .Values.tests.image}}"
- imagePullPolicy: "{{ .Values.tests.imagePullPolicy}}"
- command: ["wget"]
- volumeMounts:
- - mountPath: /tests
- name: tests
- readOnly: true
- volumes:
- - name: tests
- secret:
- secretName: {{ include "dubbo-admin.fullname" . }}-secret
- restartPolicy: Never
-{{- end }}
diff --git a/charts/admin-stack/charts/dubbo-admin/values.yaml b/charts/admin-stack/charts/dubbo-admin/values.yaml
deleted file mode 100644
index cf9ff5e..0000000
--- a/charts/admin-stack/charts/dubbo-admin/values.yaml
+++ /dev/null
@@ -1,413 +0,0 @@
-image:
- registry: docker.io
- ## E.g registry.k8s.io
- ##
- repository: apache/dubbo-admin
- ##
- ##
- tag: "0.6.0"
- ##
- ##
- debug: false
- ##
- ## Specify a imagePullPolicy
- ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
- ## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images
- ##
- pullPolicy: IfNotPresent
- ##
- ## Optionally specify an array of imagePullSecrets.
- ## Secrets must be manually created in the namespace.
- ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
- ## Can be templated.
- ##
- pullSecrets: []
- # - RegisterKeySecretName
-
-replicas: 1
-
-## global.imageRegistry Global Docker image registry
-## global.imagePullSecrets Global Docker registry secret names as an array
-## global.storageClass Global StorageClass for Persistent Volume(s)
-##
-global:
- imageRegistry: ""
- ## E.g.
- ## imagePullSecrets:
- ## - myRegistryKeySecretName
- ##
- imagePullSecrets: []
-
-
-rbac:
- # Use an existing ClusterRole/Role (depending on rbac.namespaced false/true)
- enabled: true
- pspEnabled: true
-
-
-## serviceAccount
-serviceAccount:
- enabled: true
- ## ## ServiceAccount name.
- name: {}
- ## ServiceAccount nameTests.
- nameTest: {}
- ## ServiceAccount labels.
- labels: {}
- ## ServiceAccount annotations.
- annotations: {}
-
-
-# -- Optional array of imagePullSecrets containing private registry credentials
-## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
-imagePullSecrets: []
-# - name: secretName
-
-
-## Create HorizontalPodAutoscaler object for deployment type
-autoscaling:
- enabled: false
- minReplicas: 1
- maxReplicas: 5
- targetCPU: "60"
- targetMemory: ""
- behavior: {}
-
-
-## See `kubectl explain deployment.spec.strategy` for more
-## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
-deploymentStrategy:
- type: RollingUpdate
-
-
-## @param readinessProbe.enabled Enable readinessProbe on containers
-readinessProbe:
- httpGet:
- path: /
- port: 8080
- ## @param readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
- initialDelaySeconds: 60
- ## @param readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
- timeoutSeconds: 30
- ## @param readinessProbe.periodSeconds Period seconds for readinessProbe
- periodSeconds: 10
- ## @param readinessProbe.successThreshold Success threshold for readinessProbe
- successThreshold: 1
- ## @param readinessProbe.failureThreshold Failure threshold for readinessProbe
- failureThreshold: 3
- ## @param readinessProbe.probeCommandTimeout Probe command timeout for readinessProbe
- probeCommandTimeout: 1
-
-
-## @param livenessProbe.enabled Enable livenessProbe on containers
-livenessProbe:
- httpGet:
- path: /
- port: 8080
- ## @param livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
- initialDelaySeconds: 60
- ## @param livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
- timeoutSeconds: 30
- ## @param livenessProbe.periodSeconds Period seconds for livenessProbe
- periodSeconds: 10
- ## @param livenessProbe.successThreshold Success threshold for livenessProbe
- successThreshold: 1
- ## @param livenessProbe.failureThreshold Failure threshold for livenessProbe
- failureThreshold: 3
- ## @param livenessProbe.probeCommandTimeout Probe command timeout for livenessProbe
- probeCommandTimeout: 1
-
-
-## @param startupProbe.enabled Enable startupProbe on containers
-startupProbe:
- httpGet:
- path: /
- port: 8080
- ## @param startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
- initialDelaySeconds: 60
- ## @param startupProbe.timeoutSeconds Timeout seconds for startupProbe
- timeoutSeconds: 30
- ## @param startupProbe.periodSeconds Period seconds for startupProbe
- periodSeconds: 10
- ## @param startupProbe.successThreshold Success threshold for startupProbe
- successThreshold: 1
- ## @param startupProbe.failureThreshold Failure threshold for startupProbe
- failureThreshold: 3
-
-
-tests:
- enabled: true
- image: busybox
- tag: ""
- imagePullPolicy: IfNotPresent
- securityContext: {}
-
-
-## configmap mounts
-ConfigmapMounts: []
- # - name: configMap-file
- # mountPath: /config
- # configMap: configMap-file
- # readOnly: true
-
-
-## secret mounts
-SecretMounts:
-# - name: secret-file
-# secret:
-# secretName: secret-file
-
-
-## emptyDir mounts
-EmptyDirMounts: []
-# - name: ""
-# mountPath: /
-
-
-## Expose the dubbo-admin service to be accessed from outside the cluster (LoadBalancer service).
-## or access it from within the cluster (ClusterIP service). Set the service type and the port to serve it.
-## ref: http://kubernetes.io/docs/user-guide/services/
-##
-service:
- name: http
- ##
- ## Service name.
- ##
- enabled: true
- ##
- ## Service enable true or false.
- ##
- type: ClusterIP
- ##
- ## Service type.
- ##
- clusterIP: ""
- ##
- ## Service clusterIP.
- ##
- loadBalancerIP: ""
- ##
- ## Service loadBalancerIP.
- ##
- loadBalancerSourceRanges: ""
- ##
- ## Service loadBalancerSourceRanges.
- ##
- externalIPs: ""
- ##
- ## Service externalIPs.
- ##
- nodePort: ""
- ##
- ## Service nodePort.
- ##
- path: /
- ##
- ## Service path.
- ##
- port: 38080
- ##
- ## Service port.
- ##
- targetPort: http
- ##
- ## Service targetPort.
- ##
- containerPort: 8080
- ##
- ## Service containerPort.
- ##
- protocol: TCP
- ##
- ## Service protocol.
- ##
- ##
- labels: {}
- ##
- ## Service labels.
- ##
- annotations: {}
- ##
- ## Service annotations. Can be templated.
- ##
- portName: service
- ##
- ## Service portName.
- ##
- appProtocol: ""
- ##
- ## Service appProtocol.
- ##
-
-
-ingress:
- enabled: false
- # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
- # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
- # ingressClassName: nginx
- # Values can be templated
- annotations: {}
- # kubernetes.io/ingress.class: nginx
- # kubernetes.io/tls-acme: "true"
- labels: {}
- path: /
- ##
- ##
- # pathType is only for k8s >= 1.1=
- pathType: Prefix
- ##
- ##
- hosts:
- - chart-example.local
- ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services.
- extraPaths: []
- # - path: /*
- # backend:
- # serviceName: ssl-redirect
- # servicePort: use-annotation
- ## Or for k8s > 1.19
- # - path: /*
- # pathType: Prefix
- # backend:
- # service:
- # name: ssl-redirect
- # port:
- # name: use-annotation
- ##
- ##
- tls: []
- # - secretName: chart-example-tls
- # hosts:
- # - chart-example.local
-
-
-resources: {}
-# limits:
-# cpu: 100m
-# memory: 128Mi
-# requests:
-# cpu: 100m
-# memory: 128Mi
-
-
-## Enable persistence using Persistent Volume Claims
-## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
-##
-persistence:
- enabled: false
- storageClass: ""
- accessModes:
- - ReadWriteOnce
- size: 10Gi
- ## Name of an existing PVC. Can be templated.
- ClaimName: {}
- ##
- ## persistence emptyDir
- emptyDir: {}
-
-
-securityContext:
- runAsNonRoot: false
- runAsUser: 0
-
-
-## Container Lifecycle Hooks. Execute a specific bash command or make an HTTP request
-lifecycleHooks: {}
- # postStart:
- # exec:
- # command: []
- # preStop:
- # exec:
- # command: []
-
-
-## See `kubectl explain poddisruptionbudget.spec` for more
-## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
-podDisruptionBudget:
- enabled: false
- minAvailable: 1
- # maxUnavailable: 1
-
-
-networkPolicy:
- ## @param networkPolicy.enabled Enable creation of NetworkPolicy resources. Only Ingress traffic is filtered for now.
- ##
- enabled: false
- ## @param networkPolicy.allowExternal Don't require client label for connections
- ## The Policy model to apply. When set to false, only pods with the correct
- ## client label will have network access to dubbo-admin port defined.
- ## When true, dubbo-admin will accept connections from any source
- ## (with the correct destination port).
- ##
- ingress: true
- ## @param networkPolicy.ingress When true enables the creation
- ## an ingress network policy
- ##
- ##
- ##
- ##
- egress:
- ## @param networkPolicy.egress.enabled When enabled, an egress network policy will be
- ## created allowing dubbo-admin to connect to external data sources from kubernetes cluster.
- enabled: false
- ##
- ## @param networkPolicy.egress.ports Add individual ports to be allowed by the egress
- ports: []
- ## Add ports to the egress by specifying - port: <port number>
- ## E.X.
- ## ports:
- ## - port: 80
- ## - port: 443
-
-
-
-
-## @param Dubbo-admin Default Enable Configuration
-properties:
- admin.registry.address: zookeeper://zookeeper:2181
- admin.config-center: zookeeper://zookeeper:2181
- admin.metadata-report.address: zookeeper://zookeeper:2181
- admin.root.user.name: root
- admin.root.user.password: root
- admin.check.sessionTimeoutMilli: 3600000
- server.compression.enabled: true
- server.compression.mime-types: text/css,text/javascript,application/javascript
- server.compression.min-response-size: 10240
- admin.check.tokenTimeoutMilli: 3600000
- admin.check.signSecret: 86295dd0c4ef69a1036b0b0c15158d77
- dubbo.application.name: dubbo-admin
- dubbo.registry.address: ${admin.registry.address}
- spring.datasource.url: jdbc:h2:mem:~/dubbo-admin;MODE=MYSQL;
- spring.datasource.username: sa
- spring.datasource.password:
- mybatis-plus.global-config.db-config.id-type: none
- dubbo.application.logger: slf4j
-
- # nacos config, add parameters to url like username=nacos&password=nacos
- # admin.registry.address: nacos://nacos:8848?group=DEFAULT_GROUP&namespace=public
- # admin.config-center: nacos://nacos:8848?group=dubbo
- # admin.metadata-report.address: nacos://nacos:8848?group=dubbo
-
-
- # group (Deprecated it is recommended to use URL to add parameters,will be removed in the future)
- # admin.registry.group: dubbo
- # admin.config-center.group: dubbo
- # admin.metadata-report.group: dubbo
-
- # namespace used by nacos.(Deprecated it is recommended to use URL to add parameters,will be removed in the future)
- # admin.registry.namespace: public
- # admin.config-center.namespace: public
- # admin.metadata-report.namespace: public
-
- # apollo config
- # admin.config-center: apollo://localhost:8070?token=e16e5cd903fd0c97a116c873b448544b9d086de9&app.id=test&env=dev&cluster=default&namespace=dubbo
- # admin.apollo.token: e16e5cd903fd0c97a116c873b448544b9d086de9
- # admin.apollo.appId: test
- # admin.apollo.env: dev
- # admin.apollo.cluster: default
-
- # mysql
- # spring.datasource.driver-class-name: com.mysql.jdbc.Driver
- # spring.datasource.url: jdbc:mysql://localhost:3306/dubbo-admin?characterEncoding=utf8&connectTimeout=1000&socketTimeout=10000&autoReconnect=true
- # spring.datasource.username: root
- # spring.datasource.password: mysql
\ No newline at end of file
diff --git a/charts/admin-stack/charts/grafana/.helmignore b/charts/admin-stack/charts/grafana/.helmignore
deleted file mode 100644
index 8cade13..0000000
--- a/charts/admin-stack/charts/grafana/.helmignore
+++ /dev/null
@@ -1,23 +0,0 @@
-# Patterns to ignore when building packages.
-# This supports shell glob matching, relative path matching, and
-# negation (prefixed with !). Only one pattern per line.
-.DS_Store
-# Common VCS dirs
-.git/
-.gitignore
-.bzr/
-.bzrignore
-.hg/
-.hgignore
-.svn/
-# Common backup files
-*.swp
-*.bak
-*.tmp
-*~
-# Various IDEs
-.vscode
-.project
-.idea/
-*.tmproj
-OWNERS
diff --git a/charts/admin-stack/charts/grafana/Chart.yaml b/charts/admin-stack/charts/grafana/Chart.yaml
deleted file mode 100644
index 9886092..0000000
--- a/charts/admin-stack/charts/grafana/Chart.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-apiVersion: v2
-appVersion: 9.3.6
-description: The leading tool for querying and visualizing time series and metrics.
-home: https://grafana.net
-kubeVersion: ^1.8.0-0
-maintainers:
- - email: dev@dubbo.apache.org
- name: dubbo
-name: grafana
-sources:
- - https://github.com/grafana/grafana
-type: application
-version: 6.50.6
diff --git a/charts/admin-stack/charts/grafana/dashboards/custom-dashboard.json b/charts/admin-stack/charts/grafana/dashboards/custom-dashboard.json
deleted file mode 100644
index f14ec32..0000000
--- a/charts/admin-stack/charts/grafana/dashboards/custom-dashboard.json
+++ /dev/null
@@ -1,4358 +0,0 @@
-{
- "annotations": {
- "list": [
- {
- "builtIn": 1,
- "datasource": {
- "type": "datasource",
- "uid": "grafana"
- },
- "enable": true,
- "hide": true,
- "iconColor": "rgba(0, 211, 255, 1)",
- "name": "Annotations & Alerts",
- "target": {
- "limit": 100,
- "matchAny": false,
- "tags": [],
- "type": "dashboard"
- },
- "type": "dashboard"
- }
- ]
- },
- "editable": true,
- "fiscalYearStartMonth": 0,
- "graphTooltip": 0,
- "id": 9,
- "links": [
- {
- "asDropdown": false,
- "icon": "external link",
- "includeVars": false,
- "keepTime": false,
- "tags": [],
- "targetBlank": false,
- "title": "New link",
- "tooltip": "",
- "type": "dashboards",
- "url": ""
- }
- ],
- "liveNow": false,
- "panels": [
- {
- "collapsed": true,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 0
- },
- "id": 57,
- "panels": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "application_name",
- "gridPos": {
- "h": 3,
- "w": 24,
- "x": 0,
- "y": 17
- },
- "id": 42,
- "options": {
- "code": {
- "language": "html",
- "showLineNumbers": false,
- "showMiniMap": false
- },
- "content": "<div style=\"text-align:center;font-size:30px\">${application_name}</div>",
- "mode": "html"
- },
- "pluginVersion": "9.3.2",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "builder",
- "expr": "qps{application_name=\"$application_name\"}",
- "legendFormat": "__auto",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "application_name",
- "type": "text"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- }
- ]
- },
- "unit": "percentunit"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 5,
- "w": 4,
- "x": 0,
- "y": 20
- },
- "id": 47,
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "auto",
- "orientation": "auto",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "auto"
- },
- "pluginVersion": "9.3.2",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "expr": "sum(dubbo_provider_requests_succeed_total{application_name=\"$application_name\"}) / sum(dubbo_provider_requests_total{application_name=\"$application_name\"})",
- "legendFormat": "__auto",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "provider_success_rate",
- "type": "stat"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 0
- }
- ]
- },
- "unit": "percentunit"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 5,
- "w": 4,
- "x": 4,
- "y": 20
- },
- "id": 53,
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "auto",
- "orientation": "auto",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "auto"
- },
- "pluginVersion": "9.3.2",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "expr": "sum(dubbo_provider_requests_failed_total{application_name=\"$application_name\"}) OR on() vector(0) / sum(dubbo_provider_requests_total{application_name=\"$application_name\"})",
- "legendFormat": "__auto",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "provider_failed_rate",
- "type": "stat"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "fixedColor": "red",
- "mode": "fixed"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 5,
- "w": 4,
- "x": 8,
- "y": 20
- },
- "id": 48,
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "auto",
- "orientation": "auto",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "text": {},
- "textMode": "auto"
- },
- "pluginVersion": "9.3.2",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "expr": "sum(dubbo_provider_requests_failed_total{application_name=\"$application_name\"}) OR on() vector(0)",
- "legendFormat": "__auto",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "provider_error_total",
- "type": "stat"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "fixedColor": "red",
- "mode": "fixed"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 5,
- "w": 4,
- "x": 12,
- "y": 20
- },
- "id": 51,
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "auto",
- "orientation": "auto",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "text": {},
- "textMode": "auto"
- },
- "pluginVersion": "9.3.2",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "expr": "sum(dubbo_provider_requests_timeout_total{application_name=\"$application_name\"}) OR on() vector(0)",
- "legendFormat": "__auto",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "timeout_total",
- "type": "stat"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "fixedColor": "red",
- "mode": "fixed"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 5,
- "w": 4,
- "x": 16,
- "y": 20
- },
- "id": 50,
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "auto",
- "orientation": "auto",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "text": {},
- "textMode": "auto"
- },
- "pluginVersion": "9.3.2",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "expr": "sum(dubbo_provider_requests_limit_total{application_name=\"$application_name\"}) OR on() vector(0)",
- "legendFormat": "__auto",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "limit_total",
- "type": "stat"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "fixedColor": "red",
- "mode": "fixed"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 5,
- "w": 4,
- "x": 20,
- "y": 20
- },
- "id": 52,
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "auto",
- "orientation": "auto",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "text": {},
- "textMode": "auto"
- },
- "pluginVersion": "9.3.2",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "expr": "sum(dubbo_provider_requests_unknown_total{application_name=\"$application_name\"})OR on() vector(0)",
- "legendFormat": "__auto",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "unknown_total",
- "type": "stat"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- }
- ]
- },
- "unit": "s"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 6,
- "w": 12,
- "x": 0,
- "y": 25
- },
- "id": 54,
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "auto",
- "orientation": "auto",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "auto"
- },
- "pluginVersion": "9.3.2",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "expr": "max(dubbo_provider_rt_seconds_max{application_name=\"$application_name\"})",
- "legendFormat": "__auto",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "rt_max",
- "type": "stat"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- }
- ]
- },
- "unit": "s"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 6,
- "w": 12,
- "x": 12,
- "y": 25
- },
- "id": 55,
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "auto",
- "orientation": "auto",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "auto"
- },
- "pluginVersion": "9.3.2",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "expr": "min(dubbo_provider_rt_seconds_min{application_name=\"$application_name\"})",
- "legendFormat": "__auto",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "rt_min",
- "type": "stat"
- }
- ],
- "title": "Dubbo Stat",
- "type": "row"
- },
- {
- "collapsed": false,
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 1
- },
- "id": 10,
- "panels": [],
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "refId": "A"
- }
- ],
- "title": "Provider Request",
- "type": "row"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "axisSoftMin": 1,
- "axisWidth": 0,
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 15,
- "gradientMode": "opacity",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineStyle": {
- "fill": "solid"
- },
- "lineWidth": 1,
- "pointSize": 4,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 24,
- "x": 0,
- "y": 2
- },
- "id": 18,
- "options": {
- "legend": {
- "calcs": [
- "min",
- "max"
- ],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "dubbo_provider_qps_seconds{application_name=\"$application_name\"}",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "provider_qps",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 15,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "decimals": 0,
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "none"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 6,
- "w": 24,
- "x": 0,
- "y": 9
- },
- "id": 36,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "increase(dubbo_provider_requests_total{application_name=\"$application_name\"}[2m])",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "provider_requests_total(2m)",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 19,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 0,
- "y": 15
- },
- "id": 32,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "builder",
- "exemplar": false,
- "expr": "dubbo_provider_requests_processing{application_name=\"$application_name\"}",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "provider_requests_processing",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 18,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "decimals": 0,
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "none"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 12,
- "y": 15
- },
- "id": 33,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "increase(dubbo_provider_requests_succeed_total{application_name=\"$application_name\"}[2m])",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "provider_requests_succeed(2m)",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 13,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 0,
- "y": 23
- },
- "id": 38,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "dubbo_provider_requests_total_aggregate{application_name=\"$application_name\"}",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "provider_requests_total_aggregate",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 13,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 12,
- "y": 23
- },
- "id": 60,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "builder",
- "exemplar": false,
- "expr": "dubbo_provider_requests_succeed_aggregate{application_name=\"$application_name\"}",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "provider_requests_succeed_aggregate",
- "type": "timeseries"
- },
- {
- "collapsed": false,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 30
- },
- "id": 44,
- "panels": [],
- "title": "Provider RT",
- "type": "row"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "bars",
- "fillOpacity": 72,
- "gradientMode": "opacity",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "ms"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 23,
- "x": 0,
- "y": 31
- },
- "id": 45,
- "options": {
- "legend": {
- "calcs": [
- "min",
- "max"
- ],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "increase(dubbo_provider_rt_seconds_sum{application_name=\"$application_name\"}[1m])",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "provider_rt_sum(1m)",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "ms"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 0,
- "y": 38
- },
- "id": 29,
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "auto",
- "orientation": "auto",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "auto"
- },
- "pluginVersion": "9.3.2",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "builder",
- "exemplar": false,
- "expr": "dubbo_provider_rt_seconds_min{application_name=\"$application_name\"}",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "provider_rt_min",
- "type": "stat"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "ms"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 12,
- "y": 38
- },
- "id": 30,
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "auto",
- "orientation": "auto",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "auto"
- },
- "pluginVersion": "9.3.2",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "dubbo_provider_rt_seconds_max{application_name=\"$application_name\"}",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "provider_rt_max",
- "type": "stat"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "bars",
- "fillOpacity": 24,
- "gradientMode": "opacity",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "ms"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 0,
- "y": 45
- },
- "id": 78,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "builder",
- "exemplar": false,
- "expr": "dubbo_provider_rt_seconds_avg{application_name=\"$application_name\"}",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "provider_rt_avg ",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "bars",
- "fillOpacity": 35,
- "gradientMode": "opacity",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "s"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 12,
- "y": 45
- },
- "id": 39,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "builder",
- "exemplar": false,
- "expr": "dubbo_provider_rt_seconds_last{application_name=\"$application_name\"}",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "provider_rt_last",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "bars",
- "fillOpacity": 34,
- "gradientMode": "opacity",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "ms"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 0,
- "y": 52
- },
- "id": 40,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "builder",
- "exemplar": false,
- "expr": "dubbo_provider_rt_seconds_p95{application_name=\"$application_name\"}",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": " provider_rt_p95",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "bars",
- "fillOpacity": 31,
- "gradientMode": "opacity",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "ms"
- },
- "overrides": [
- {
- "__systemRef": "hideSeriesFrom",
- "matcher": {
- "id": "byNames",
- "options": {
- "mode": "exclude",
- "names": [
- "org.apache.dubbo.samples.metrics.prometheus.api.DemoService.sayHello"
- ],
- "prefix": "All except:",
- "readOnly": true
- }
- },
- "properties": [
- {
- "id": "custom.hideFrom",
- "value": {
- "legend": false,
- "tooltip": false,
- "viz": true
- }
- }
- ]
- }
- ]
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 12,
- "y": 52
- },
- "id": 35,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "builder",
- "exemplar": false,
- "expr": "dubbo_provider_rt_seconds_p99{application_name=\"$application_name\"}",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "provider_rt_p99",
- "type": "timeseries"
- },
- {
- "collapsed": true,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 59
- },
- "id": 59,
- "panels": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 14,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 5,
- "w": 24,
- "x": 0,
- "y": 4
- },
- "id": 31,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "dubbo_provider_requests_failed_total{application_name=\"$application_name\"} OR on() vector(0)",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "provider_requests_failed_total",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 14,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 0,
- "y": 9
- },
- "id": 62,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "dubbo_provider_requests_limit_total{application_name=\"$application_name\"} OR on() vector(0)",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "provider_requests_limit",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 14,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 12,
- "y": 9
- },
- "id": 64,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "dubbo_provider_requests_business_failed_total{application_name=\"$application_name\"} OR on() vector(0)",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "provider_requests_business_failed",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 14,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 0,
- "y": 16
- },
- "id": 63,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "dubbo_provider_requests_unknown_failed_total{application_name=\"$application_name\"}OR on() vector(0)",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "provider_requests_unknown_failed",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 14,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 12,
- "y": 16
- },
- "id": 61,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "dubbo_provider_requests_timeout_total{application_name=\"$application_name\"} OR on() vector(0)",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "provider_requests_timeout",
- "type": "timeseries"
- }
- ],
- "title": "Provider Error",
- "type": "row"
- },
- {
- "collapsed": true,
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 60
- },
- "id": 12,
- "panels": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "axisSoftMin": 1,
- "axisWidth": 0,
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 15,
- "gradientMode": "opacity",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineStyle": {
- "fill": "solid"
- },
- "lineWidth": 1,
- "pointSize": 4,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": [
- {
- "__systemRef": "hideSeriesFrom",
- "matcher": {
- "id": "byNames",
- "options": {
- "mode": "exclude",
- "names": [
- "org.apache.dubbo.samples.metrics.prometheus.api.DemoService.sayHello"
- ],
- "prefix": "All except:",
- "readOnly": true
- }
- },
- "properties": [
- {
- "id": "custom.hideFrom",
- "value": {
- "legend": false,
- "tooltip": false,
- "viz": true
- }
- }
- ]
- }
- ]
- },
- "gridPos": {
- "h": 7,
- "w": 24,
- "x": 0,
- "y": 35
- },
- "id": 65,
- "options": {
- "legend": {
- "calcs": [
- "min",
- "max"
- ],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "dubbo_consumer_qps_seconds{application_name=\"$application_name\"}",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "consumer_qps",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 15,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "decimals": 0,
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "none"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 6,
- "w": 24,
- "x": 0,
- "y": 42
- },
- "id": 66,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "increase(dubbo_consumer_requests_total{application_name=\"$application_name\"}[2m])",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "consumer_request_total(2m)",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 19,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 0,
- "y": 48
- },
- "id": 67,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "dubbo_consumer_requests_processing{application_name=\"$application_name\"}",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "consumer_requests_processing",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 18,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "decimals": 0,
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "none"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 12,
- "y": 48
- },
- "id": 68,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "increase(dubbo_consumer_requests_succeed_total{application_name=\"$application_name\"}[2m])",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "consumer_requests_succeed(2m)",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 13,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 0,
- "y": 56
- },
- "id": 69,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "dubbo_consumer_requests_total_aggregate{application_name=\"$application_name\"}",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "consumer_requests_total_aggregate",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 13,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 12,
- "y": 56
- },
- "id": 70,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "dubbo_consumer_requests_succeed_aggregate{application_name=\"$application_name\"}",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "consumer_requests_succeed_aggregate",
- "type": "timeseries"
- }
- ],
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "refId": "A"
- }
- ],
- "title": "Consumer Request",
- "type": "row"
- },
- {
- "collapsed": false,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 61
- },
- "id": 72,
- "panels": [],
- "title": "Consumer RT",
- "type": "row"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "bars",
- "fillOpacity": 72,
- "gradientMode": "opacity",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "ms"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 23,
- "x": 0,
- "y": 62
- },
- "id": 75,
- "options": {
- "legend": {
- "calcs": [
- "min",
- "max"
- ],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "increase(dubbo_consumer_rt_seconds_sum{application_name=\"$application_name\"}[1m])",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "consumer_rt_sum(1m)",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "ms"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 0,
- "y": 69
- },
- "id": 76,
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "auto",
- "orientation": "auto",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "auto"
- },
- "pluginVersion": "9.3.2",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "builder",
- "exemplar": false,
- "expr": "dubbo_provider_rt_seconds_min{application_name=\"$application_name\"}",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "consumer_rt_min",
- "type": "stat"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "ms"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 12,
- "y": 69
- },
- "id": 77,
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "auto",
- "orientation": "auto",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "auto"
- },
- "pluginVersion": "9.3.2",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "dubbo_consumer_rt_seconds_max{application_name=\"$application_name\"}",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "consumer_rt_max",
- "type": "stat"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "bars",
- "fillOpacity": 24,
- "gradientMode": "opacity",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "ms"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 0,
- "y": 76
- },
- "id": 34,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "dubbo_consumer_rt_seconds_avg{application_name=\"$application_name\"}",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "consumer_rt_avg ",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "bars",
- "fillOpacity": 35,
- "gradientMode": "opacity",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "ms"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 12,
- "y": 76
- },
- "id": 79,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "dubbo_consumer_rt_seconds_last{application_name=\"$application_name\"}",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "consumer_rt_last",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "bars",
- "fillOpacity": 34,
- "gradientMode": "opacity",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "ms"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 0,
- "y": 83
- },
- "id": 80,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "dubbo_consumer_rt_seconds_p95{application_name=\"$application_name\"}",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "consumer_rt_p95",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "bars",
- "fillOpacity": 31,
- "gradientMode": "opacity",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "ms"
- },
- "overrides": [
- {
- "__systemRef": "hideSeriesFrom",
- "matcher": {
- "id": "byNames",
- "options": {
- "mode": "exclude",
- "names": [
- "org.apache.dubbo.samples.metrics.prometheus.api.DemoService.sayHello"
- ],
- "prefix": "All except:",
- "readOnly": true
- }
- },
- "properties": [
- {
- "id": "custom.hideFrom",
- "value": {
- "legend": false,
- "tooltip": false,
- "viz": true
- }
- }
- ]
- }
- ]
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 12,
- "y": 83
- },
- "id": 81,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "dubbo_consumer_rt_seconds_p99{application_name=\"$application_name\"}",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "consumer_rt_p99",
- "type": "timeseries"
- },
- {
- "collapsed": true,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 90
- },
- "id": 74,
- "panels": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 14,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 5,
- "w": 24,
- "x": 0,
- "y": 7
- },
- "id": 82,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "dubbo_consumer_requests_failed_total{application_name=\"$application_name\"} OR on() vector(0)",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "consumer_requests_failed_total",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 14,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 0,
- "y": 12
- },
- "id": 83,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "dubbo_consumer_requests_limit_total{application_name=\"$application_name\"} OR on() vector(0)",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "consumer_requests_limit",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 14,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 12,
- "y": 12
- },
- "id": 84,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "dubbo_consumer_requests_business_failed_total{application_name=\"$application_name\"} OR on() vector(0)",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "consumer_requests_business_failed",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 14,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 0,
- "y": 19
- },
- "id": 85,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "dubbo_consumer_requests_unknown_failed_total{application_name=\"$application_name\"}OR on() vector(0)",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "consumer_requests_unknown_failed",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "description": "",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 14,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 12,
- "y": 19
- },
- "id": 86,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "8.2.5",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "dubbo_consumer_requests_timeout_total{application_name=\"$application_name\"} OR on() vector(0)",
- "format": "time_series",
- "instant": false,
- "interval": "",
- "legendFormat": "{{interface}}.{{method}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "consumer_requests_timeout",
- "type": "timeseries"
- }
- ],
- "title": "Consumer Error",
- "type": "row"
- },
- {
- "collapsed": true,
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 91
- },
- "id": 4,
- "panels": [],
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "refId": "A"
- }
- ],
- "title": "注册中心",
- "type": "row"
- },
- {
- "collapsed": true,
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 92
- },
- "id": 2,
- "panels": [],
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "refId": "A"
- }
- ],
- "title": "配置中心",
- "type": "row"
- },
- {
- "collapsed": true,
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 93
- },
- "id": 8,
- "panels": [],
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "refId": "A"
- }
- ],
- "title": "元数据中心",
- "type": "row"
- }
- ],
- "refresh": "",
- "schemaVersion": 37,
- "style": "dark",
- "tags": [],
- "templating": {
- "list": [
- {
- "current": {
- "selected": false,
- "text": "metrics-demo-consumer",
- "value": "metrics-demo-consumer"
- },
- "datasource": {
- "type": "prometheus",
- "uid": "U_7pLbpnk"
- },
- "definition": "dubbo_provider_rt_seconds_p99",
- "description": "",
- "hide": 1,
- "includeAll": false,
- "label": "application_name",
- "multi": false,
- "name": "application_name",
- "options": [],
- "query": {
- "query": "dubbo_provider_rt_seconds_p99",
- "refId": "StandardVariableQuery"
- },
- "refresh": 1,
- "regex": "/.*application_name=\"([^\"]*).*/",
- "skipUrlSync": false,
- "sort": 0,
- "type": "query"
- }
- ]
- },
- "time": {
- "from": "now-24h",
- "to": "now"
- },
- "timepicker": {},
- "timezone": "",
- "title": "Dubbo可观测性面板",
- "uid": "ewNiYNcVk",
- "version": 42,
- "weekStart": ""
-}
\ No newline at end of file
diff --git a/charts/admin-stack/charts/grafana/templates/_helpers.tpl b/charts/admin-stack/charts/grafana/templates/_helpers.tpl
deleted file mode 100644
index 03db144..0000000
--- a/charts/admin-stack/charts/grafana/templates/_helpers.tpl
+++ /dev/null
@@ -1,219 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Expand the name of the chart.
-*/}}
-{{- define "grafana.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
-{{- end }}
-
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "grafana.fullname" -}}
-{{- if .Values.fullnameOverride }}
-{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
-{{- else }}
-{{- $name := default .Chart.Name .Values.nameOverride }}
-{{- if contains $name .Release.Name }}
-{{- .Release.Name | trunc 63 | trimSuffix "-" }}
-{{- else }}
-{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
-{{- end }}
-{{- end }}
-{{- end }}
-
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "grafana.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
-{{- end }}
-
-
-{{/*
-Create the name of the service account
-*/}}
-{{- define "grafana.serviceAccountName" -}}
-{{- if .Values.serviceAccount.create }}
-{{- default (include "grafana.fullname" .) .Values.serviceAccount.name }}
-{{- else }}
-{{- default "default" .Values.serviceAccount.name }}
-{{- end }}
-{{- end }}
-
-
-{{- define "grafana.serviceAccountNameTest" -}}
-{{- if .Values.serviceAccount.create }}
-{{- default (print (include "grafana.fullname" .) "-test") .Values.serviceAccount.nameTest }}
-{{- else }}
-{{- default "default" .Values.serviceAccount.nameTest }}
-{{- end }}
-{{- end }}
-
-
-{{/*
-Allow the release namespace to be overridden for multi-namespace deployments in combined charts
-*/}}
-{{- define "grafana.namespace" -}}
-{{- if .Values.namespaceOverride }}
-{{- .Values.namespaceOverride }}
-{{- else }}
-{{- .Release.Namespace }}
-{{- end }}
-{{- end }}
-
-
-{{/*
-Common labels
-*/}}
-{{- define "grafana.labels" -}}
-helm.sh/chart: {{ include "grafana.chart" . }}
-{{ include "grafana.selectorLabels" . }}
-{{- if or .Chart.AppVersion .Values.image.tag }}
-app.kubernetes.io/version: {{ mustRegexReplaceAllLiteral "@sha.*" .Values.image.tag "" | default .Chart.AppVersion | quote }}
-{{- end }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- with .Values.extraLabels }}
-{{ toYaml . }}
-{{- end }}
-{{- end }}
-
-
-{{/*
-Selector labels
-*/}}
-{{- define "grafana.selectorLabels" -}}
-app.kubernetes.io/name: {{ include "grafana.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end }}
-
-
-{{/*
-Common labels
-*/}}
-{{- define "grafana.imageRenderer.labels" -}}
-helm.sh/chart: {{ include "grafana.chart" . }}
-{{ include "grafana.imageRenderer.selectorLabels" . }}
-{{- if or .Chart.AppVersion .Values.image.tag }}
-app.kubernetes.io/version: {{ mustRegexReplaceAllLiteral "@sha.*" .Values.image.tag "" | default .Chart.AppVersion | quote }}
-{{- end }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end }}
-
-
-{{/*
-Selector labels ImageRenderer
-*/}}
-{{- define "grafana.imageRenderer.selectorLabels" -}}
-app.kubernetes.io/name: {{ include "grafana.name" . }}-image-renderer
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end }}
-
-
-{{/*
-Looks if there's an existing secret and reuse its password. If not it generates
-new password and use it.
-*/}}
-{{- define "grafana.password" -}}
-{{- $secret := (lookup "v1" "Secret" (include "grafana.namespace" .) (include "grafana.fullname" .) ) }}
-{{- if $secret }}
-{{- index $secret "data" "admin-password" }}
-{{- else }}
-{{- (randAlphaNum 40) | b64enc | quote }}
-{{- end }}
-{{- end }}
-
-
-{{/*
-Return the appropriate apiVersion for rbac.
-*/}}
-{{- define "grafana.rbac.apiVersion" -}}
-{{- if $.Capabilities.APIVersions.Has "rbac.authorization.k8s.io/v1" }}
-{{- print "rbac.authorization.k8s.io/v1" }}
-{{- else }}
-{{- print "rbac.authorization.k8s.io/v1beta1" }}
-{{- end }}
-{{- end }}
-
-
-{{/*
-Return the appropriate apiVersion for ingress.
-*/}}
-{{- define "grafana.ingress.apiVersion" -}}
-{{- if and ($.Capabilities.APIVersions.Has "networking.k8s.io/v1") (semverCompare ">= 1.19-0" .Capabilities.KubeVersion.Version) }}
-{{- print "networking.k8s.io/v1" }}
-{{- else if $.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }}
-{{- print "networking.k8s.io/v1beta1" }}
-{{- else }}
-{{- print "extensions/v1beta1" }}
-{{- end }}
-{{- end }}
-
-
-{{/*
-Return the appropriate apiVersion for Horizontal Pod Autoscaler.
-*/}}
-{{- define "grafana.hpa.apiVersion" -}}
-{{- if $.Capabilities.APIVersions.Has "autoscaling/v2/HorizontalPodAutoscaler" }}
-{{- print "autoscaling/v2" }}
-{{- else if $.Capabilities.APIVersions.Has "autoscaling/v2beta2/HorizontalPodAutoscaler" }}
-{{- print "autoscaling/v2beta2" }}
-{{- else }}
-{{- print "autoscaling/v2beta1" }}
-{{- end }}
-{{- end }}
-
-
-{{/*
-Return the appropriate apiVersion for podDisruptionBudget.
-*/}}
-{{- define "grafana.podDisruptionBudget.apiVersion" -}}
-{{- if $.Capabilities.APIVersions.Has "policy/v1/PodDisruptionBudget" }}
-{{- print "policy/v1" }}
-{{- else }}
-{{- print "policy/v1beta1" }}
-{{- end }}
-{{- end }}
-
-
-{{/*
-Return if ingress is stable.
-*/}}
-{{- define "grafana.ingress.isStable" -}}
-{{- eq (include "grafana.ingress.apiVersion" .) "networking.k8s.io/v1" }}
-{{- end }}
-
-
-{{/*
-Return if ingress supports ingressClassName.
-*/}}
-{{- define "grafana.ingress.supportsIngressClassName" -}}
-{{- or (eq (include "grafana.ingress.isStable" .) "true") (and (eq (include "grafana.ingress.apiVersion" .) "networking.k8s.io/v1beta1") (semverCompare ">= 1.18-0" .Capabilities.KubeVersion.Version)) }}
-{{- end }}
-
-
-{{/*
-Return if ingress supports pathType.
-*/}}
-{{- define "grafana.ingress.supportsPathType" -}}
-{{- or (eq (include "grafana.ingress.isStable" .) "true") (and (eq (include "grafana.ingress.apiVersion" .) "networking.k8s.io/v1beta1") (semverCompare ">= 1.18-0" .Capabilities.KubeVersion.Version)) }}
-{{- end }}
-
-
-{{/*
-Formats imagePullSecrets. Input is (dict "root" . "imagePullSecrets" .{specific imagePullSecrets})
-*/}}
-{{- define "grafana.imagePullSecrets" -}}
-{{- $root := .root }}
-{{- range (concat .root.Values.global.imagePullSecrets .imagePullSecrets) }}
-{{- if eq (typeOf .) "map[string]interface {}" }}
-- {{ toYaml (dict "name" (tpl .name $root)) | trim }}
-{{- else }}
-- name: {{ tpl . $root }}
-{{- end }}
-{{- end }}
-{{- end }}
diff --git a/charts/admin-stack/charts/grafana/templates/_pod.tpl b/charts/admin-stack/charts/grafana/templates/_pod.tpl
deleted file mode 100644
index 4c4755d..0000000
--- a/charts/admin-stack/charts/grafana/templates/_pod.tpl
+++ /dev/null
@@ -1,1153 +0,0 @@
-{{- define "grafana.pod" -}}
-{{- $sts := list "sts" "StatefulSet" "statefulset" -}}
-{{- $root := . -}}
-{{- with .Values.schedulerName }}
-schedulerName: "{{ . }}"
-{{- end }}
-serviceAccountName: {{ include "grafana.serviceAccountName" . }}
-automountServiceAccountToken: {{ .Values.serviceAccount.autoMount }}
-{{- with .Values.securityContext }}
-securityContext:
- {{- toYaml . | nindent 2 }}
-{{- end }}
-{{- with .Values.hostAliases }}
-hostAliases:
- {{- toYaml . | nindent 2 }}
-{{- end }}
-{{- with .Values.priorityClassName }}
-priorityClassName: {{ . }}
-{{- end }}
-{{- if ( or .Values.persistence.enabled .Values.dashboards .Values.extraInitContainers (and .Values.sidecar.datasources.enabled .Values.sidecar.datasources.initDatasources) (and .Values.sidecar.notifiers.enabled .Values.sidecar.notifiers.initNotifiers)) }}
-initContainers:
-{{- end }}
-{{- if ( and .Values.persistence.enabled .Values.initChownData.enabled ) }}
- - name: init-chown-data
- {{- if .Values.initChownData.image.sha }}
- image: "{{ .Values.initChownData.image.repository }}:{{ .Values.initChownData.image.tag }}@sha256:{{ .Values.initChownData.image.sha }}"
- {{- else }}
- image: "{{ .Values.initChownData.image.repository }}:{{ .Values.initChownData.image.tag }}"
- {{- end }}
- imagePullPolicy: {{ .Values.initChownData.image.pullPolicy }}
- {{- with .Values.initChownData.securityContext }}
- securityContext:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- command:
- - chown
- - -R
- - {{ .Values.securityContext.runAsUser }}:{{ .Values.securityContext.runAsGroup }}
- - /var/lib/grafana
- {{- with .Values.initChownData.resources }}
- resources:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- volumeMounts:
- - name: storage
- mountPath: "/var/lib/grafana"
- {{- with .Values.persistence.subPath }}
- subPath: {{ tpl . $root }}
- {{- end }}
-{{- end }}
-{{- if .Values.dashboards }}
- - name: download-dashboards
- {{- if .Values.downloadDashboardsImage.sha }}
- image: "{{ .Values.downloadDashboardsImage.repository }}:{{ .Values.downloadDashboardsImage.tag }}@sha256:{{ .Values.downloadDashboardsImage.sha }}"
- {{- else }}
- image: "{{ .Values.downloadDashboardsImage.repository }}:{{ .Values.downloadDashboardsImage.tag }}"
- {{- end }}
- imagePullPolicy: {{ .Values.downloadDashboardsImage.pullPolicy }}
- command: ["/bin/sh"]
- args: [ "-c", "mkdir -p /var/lib/grafana/dashboards/default && /bin/sh -x /etc/grafana/download_dashboards.sh" ]
- {{- with .Values.downloadDashboards.resources }}
- resources:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- env:
- {{- range $key, $value := .Values.downloadDashboards.env }}
- - name: "{{ $key }}"
- value: "{{ $value }}"
- {{- end }}
- {{- range $key, $value := .Values.downloadDashboards.envValueFrom }}
- - name: {{ $key | quote }}
- valueFrom:
- {{- tpl (toYaml $value) $ | nindent 10 }}
- {{- end }}
- {{- with .Values.downloadDashboards.securityContext }}
- securityContext:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.downloadDashboards.envFromSecret }}
- envFrom:
- - secretRef:
- name: {{ tpl . $root }}
- {{- end }}
- volumeMounts:
- - name: config
- mountPath: "/etc/grafana/download_dashboards.sh"
- subPath: download_dashboards.sh
- - name: storage
- mountPath: "/var/lib/grafana"
- {{- with .Values.persistence.subPath }}
- subPath: {{ tpl . $root }}
- {{- end }}
- {{- range .Values.extraSecretMounts }}
- - name: {{ .name }}
- mountPath: {{ .mountPath }}
- readOnly: {{ .readOnly }}
- {{- end }}
-{{- end }}
-{{- if and .Values.sidecar.datasources.enabled .Values.sidecar.datasources.initDatasources }}
- - name: {{ include "grafana.name" . }}-init-sc-datasources
- {{- if .Values.sidecar.image.sha }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}@sha256:{{ .Values.sidecar.image.sha }}"
- {{- else }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}"
- {{- end }}
- imagePullPolicy: {{ .Values.sidecar.imagePullPolicy }}
- env:
- {{- range $key, $value := .Values.sidecar.datasources.env }}
- - name: "{{ $key }}"
- value: "{{ $value }}"
- {{- end }}
- {{- if .Values.sidecar.datasources.ignoreAlreadyProcessed }}
- - name: IGNORE_ALREADY_PROCESSED
- value: "true"
- {{- end }}
- - name: METHOD
- value: "LIST"
- - name: LABEL
- value: "{{ .Values.sidecar.datasources.label }}"
- {{- with .Values.sidecar.datasources.labelValue }}
- - name: LABEL_VALUE
- value: {{ quote . }}
- {{- end }}
- {{- if or .Values.sidecar.logLevel .Values.sidecar.datasources.logLevel }}
- - name: LOG_LEVEL
- value: {{ default .Values.sidecar.logLevel .Values.sidecar.datasources.logLevel }}
- {{- end }}
- - name: FOLDER
- value: "/etc/grafana/provisioning/datasources"
- - name: RESOURCE
- value: {{ quote .Values.sidecar.datasources.resource }}
- {{- with .Values.sidecar.enableUniqueFilenames }}
- - name: UNIQUE_FILENAMES
- value: "{{ . }}"
- {{- end }}
- {{- if .Values.sidecar.datasources.searchNamespace }}
- - name: NAMESPACE
- value: "{{ tpl (.Values.sidecar.datasources.searchNamespace | join ",") . }}"
- {{- end }}
- {{- with .Values.sidecar.skipTlsVerify }}
- - name: SKIP_TLS_VERIFY
- value: "{{ . }}"
- {{- end }}
- {{- with .Values.sidecar.resources }}
- resources:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.securityContext }}
- securityContext:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- volumeMounts:
- - name: sc-datasources-volume
- mountPath: "/etc/grafana/provisioning/datasources"
-{{- end }}
-{{- if and .Values.sidecar.notifiers.enabled .Values.sidecar.notifiers.initNotifiers }}
- - name: {{ include "grafana.name" . }}-init-sc-notifiers
- {{- if .Values.sidecar.image.sha }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}@sha256:{{ .Values.sidecar.image.sha }}"
- {{- else }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}"
- {{- end }}
- imagePullPolicy: {{ .Values.sidecar.imagePullPolicy }}
- env:
- {{- range $key, $value := .Values.sidecar.notifiers.env }}
- - name: "{{ $key }}"
- value: "{{ $value }}"
- {{- end }}
- {{- if .Values.sidecar.notifiers.ignoreAlreadyProcessed }}
- - name: IGNORE_ALREADY_PROCESSED
- value: "true"
- {{- end }}
- - name: METHOD
- value: LIST
- - name: LABEL
- value: "{{ .Values.sidecar.notifiers.label }}"
- {{- with .Values.sidecar.notifiers.labelValue }}
- - name: LABEL_VALUE
- value: {{ quote . }}
- {{- end }}
- {{- if or .Values.sidecar.logLevel .Values.sidecar.notifiers.logLevel }}
- - name: LOG_LEVEL
- value: {{ default .Values.sidecar.logLevel .Values.sidecar.notifiers.logLevel }}
- {{- end }}
- - name: FOLDER
- value: "/etc/grafana/provisioning/notifiers"
- - name: RESOURCE
- value: {{ quote .Values.sidecar.notifiers.resource }}
- {{- with .Values.sidecar.enableUniqueFilenames }}
- - name: UNIQUE_FILENAMES
- value: "{{ . }}"
- {{- end }}
- {{- with .Values.sidecar.notifiers.searchNamespace }}
- - name: NAMESPACE
- value: "{{ tpl (. | join ",") $root }}"
- {{- end }}
- {{- with .Values.sidecar.skipTlsVerify }}
- - name: SKIP_TLS_VERIFY
- value: "{{ . }}"
- {{- end }}
- {{- with .Values.sidecar.livenessProbe }}
- livenessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.readinessProbe }}
- readinessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.resources }}
- resources:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.securityContext }}
- securityContext:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- volumeMounts:
- - name: sc-notifiers-volume
- mountPath: "/etc/grafana/provisioning/notifiers"
-{{- end}}
-{{- with .Values.extraInitContainers }}
- {{- tpl (toYaml .) $root | nindent 2 }}
-{{- end }}
-{{- if or .Values.image.pullSecrets .Values.global.imagePullSecrets }}
-imagePullSecrets:
- {{- include "grafana.imagePullSecrets" (dict "root" $root "imagePullSecrets" .Values.image.pullSecrets) | nindent 2 }}
-{{- end }}
-{{- if not .Values.enableKubeBackwardCompatibility }}
-enableServiceLinks: {{ .Values.enableServiceLinks }}
-{{- end }}
-containers:
-{{- if .Values.sidecar.alerts.enabled }}
- - name: {{ include "grafana.name" . }}-sc-alerts
- {{- if .Values.sidecar.image.sha }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}@sha256:{{ .Values.sidecar.image.sha }}"
- {{- else }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}"
- {{- end }}
- imagePullPolicy: {{ .Values.sidecar.imagePullPolicy }}
- env:
- {{- range $key, $value := .Values.sidecar.alerts.env }}
- - name: "{{ $key }}"
- value: "{{ $value }}"
- {{- end }}
- {{- if .Values.sidecar.alerts.ignoreAlreadyProcessed }}
- - name: IGNORE_ALREADY_PROCESSED
- value: "true"
- {{- end }}
- - name: METHOD
- value: {{ .Values.sidecar.alerts.watchMethod }}
- - name: LABEL
- value: "{{ .Values.sidecar.alerts.label }}"
- {{- with .Values.sidecar.alerts.labelValue }}
- - name: LABEL_VALUE
- value: {{ quote . }}
- {{- end }}
- {{- if or .Values.sidecar.logLevel .Values.sidecar.alerts.logLevel }}
- - name: LOG_LEVEL
- value: {{ default .Values.sidecar.logLevel .Values.sidecar.alerts.logLevel }}
- {{- end }}
- - name: FOLDER
- value: "/etc/grafana/provisioning/alerting"
- - name: RESOURCE
- value: {{ quote .Values.sidecar.alerts.resource }}
- {{- with .Values.sidecar.enableUniqueFilenames }}
- - name: UNIQUE_FILENAMES
- value: "{{ . }}"
- {{- end }}
- {{- with .Values.sidecar.alerts.searchNamespace }}
- - name: NAMESPACE
- value: {{ . | join "," | quote }}
- {{- end }}
- {{- with .Values.sidecar.alerts.skipTlsVerify }}
- - name: SKIP_TLS_VERIFY
- value: {{ quote . }}
- {{- end }}
- {{- with .Values.sidecar.alerts.script }}
- - name: SCRIPT
- value: {{ quote . }}
- {{- end }}
- {{- if and (not .Values.env.GF_SECURITY_ADMIN_USER) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- - name: REQ_USERNAME
- valueFrom:
- secretKeyRef:
- name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
- key: {{ .Values.admin.userKey | default "admin-user" }}
- {{- end }}
- {{- if and (not .Values.env.GF_SECURITY_ADMIN_PASSWORD) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD__FILE) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- - name: REQ_PASSWORD
- valueFrom:
- secretKeyRef:
- name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
- key: {{ .Values.admin.passwordKey | default "admin-password" }}
- {{- end }}
- {{- if not .Values.sidecar.alerts.skipReload }}
- - name: REQ_URL
- value: {{ .Values.sidecar.alerts.reloadURL }}
- - name: REQ_METHOD
- value: POST
- {{- end }}
- {{- if .Values.sidecar.alerts.watchServerTimeout }}
- {{- if ne .Values.sidecar.alerts.watchMethod "WATCH" }}
- {{- fail (printf "Cannot use .Values.sidecar.alerts.watchServerTimeout with .Values.sidecar.alerts.watchMethod %s" .Values.sidecar.alerts.watchMethod) }}
- {{- end }}
- - name: WATCH_SERVER_TIMEOUT
- value: "{{ .Values.sidecar.alerts.watchServerTimeout }}"
- {{- end }}
- {{- if .Values.sidecar.alerts.watchClientTimeout }}
- {{- if ne .Values.sidecar.alerts.watchMethod "WATCH" }}
- {{- fail (printf "Cannot use .Values.sidecar.alerts.watchClientTimeout with .Values.sidecar.alerts.watchMethod %s" .Values.sidecar.alerts.watchMethod) }}
- {{- end }}
- - name: WATCH_CLIENT_TIMEOUT
- value: "{{ .Values.sidecar.alerts.watchClientTimeout }}"
- {{- end }}
- {{- with .Values.sidecar.livenessProbe }}
- livenessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.readinessProbe }}
- readinessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.resources }}
- resources:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.securityContext }}
- securityContext:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- volumeMounts:
- - name: sc-alerts-volume
- mountPath: "/etc/grafana/provisioning/alerting"
-{{- end}}
-{{- if .Values.sidecar.dashboards.enabled }}
- - name: {{ include "grafana.name" . }}-sc-dashboard
- {{- if .Values.sidecar.image.sha }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}@sha256:{{ .Values.sidecar.image.sha }}"
- {{- else }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}"
- {{- end }}
- imagePullPolicy: {{ .Values.sidecar.imagePullPolicy }}
- env:
- {{- range $key, $value := .Values.sidecar.dashboards.env }}
- - name: "{{ $key }}"
- value: "{{ $value }}"
- {{- end }}
- {{- if .Values.sidecar.dashboards.ignoreAlreadyProcessed }}
- - name: IGNORE_ALREADY_PROCESSED
- value: "true"
- {{- end }}
- - name: METHOD
- value: {{ .Values.sidecar.dashboards.watchMethod }}
- - name: LABEL
- value: "{{ .Values.sidecar.dashboards.label }}"
- {{- with .Values.sidecar.dashboards.labelValue }}
- - name: LABEL_VALUE
- value: {{ quote . }}
- {{- end }}
- {{- if or .Values.sidecar.logLevel .Values.sidecar.dashboards.logLevel }}
- - name: LOG_LEVEL
- value: {{ default .Values.sidecar.logLevel .Values.sidecar.dashboards.logLevel }}
- {{- end }}
- - name: FOLDER
- value: "{{ .Values.sidecar.dashboards.folder }}{{- with .Values.sidecar.dashboards.defaultFolderName }}/{{ . }}{{- end }}"
- - name: RESOURCE
- value: {{ quote .Values.sidecar.dashboards.resource }}
- {{- with .Values.sidecar.enableUniqueFilenames }}
- - name: UNIQUE_FILENAMES
- value: "{{ . }}"
- {{- end }}
- {{- with .Values.sidecar.dashboards.searchNamespace }}
- - name: NAMESPACE
- value: "{{ tpl (. | join ",") $root }}"
- {{- end }}
- {{- with .Values.sidecar.skipTlsVerify }}
- - name: SKIP_TLS_VERIFY
- value: "{{ . }}"
- {{- end }}
- {{- with .Values.sidecar.dashboards.folderAnnotation }}
- - name: FOLDER_ANNOTATION
- value: "{{ . }}"
- {{- end }}
- {{- with .Values.sidecar.dashboards.script }}
- - name: SCRIPT
- value: "{{ . }}"
- {{- end }}
- {{- if and (not .Values.env.GF_SECURITY_ADMIN_USER) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- - name: REQ_USERNAME
- valueFrom:
- secretKeyRef:
- name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
- key: {{ .Values.admin.userKey | default "admin-user" }}
- {{- end }}
- {{- if and (not .Values.env.GF_SECURITY_ADMIN_PASSWORD) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD__FILE) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- - name: REQ_PASSWORD
- valueFrom:
- secretKeyRef:
- name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
- key: {{ .Values.admin.passwordKey | default "admin-password" }}
- {{- end }}
- {{- if not .Values.sidecar.dashboards.skipReload }}
- - name: REQ_URL
- value: {{ .Values.sidecar.dashboards.reloadURL }}
- - name: REQ_METHOD
- value: POST
- {{- end }}
- {{- if .Values.sidecar.dashboards.watchServerTimeout }}
- {{- if ne .Values.sidecar.dashboards.watchMethod "WATCH" }}
- {{- fail (printf "Cannot use .Values.sidecar.dashboards.watchServerTimeout with .Values.sidecar.dashboards.watchMethod %s" .Values.sidecar.dashboards.watchMethod) }}
- {{- end }}
- - name: WATCH_SERVER_TIMEOUT
- value: "{{ .Values.sidecar.dashboards.watchServerTimeout }}"
- {{- end }}
- {{- if .Values.sidecar.dashboards.watchClientTimeout }}
- {{- if ne .Values.sidecar.dashboards.watchMethod "WATCH" }}
- {{- fail (printf "Cannot use .Values.sidecar.dashboards.watchClientTimeout with .Values.sidecar.dashboards.watchMethod %s" .Values.sidecar.dashboards.watchMethod) }}
- {{- end }}
- - name: WATCH_CLIENT_TIMEOUT
- value: {{ .Values.sidecar.dashboards.watchClientTimeout | quote }}
- {{- end }}
- {{- with .Values.sidecar.livenessProbe }}
- livenessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.readinessProbe }}
- readinessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.resources }}
- resources:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.securityContext }}
- securityContext:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- volumeMounts:
- - name: sc-dashboard-volume
- mountPath: {{ .Values.sidecar.dashboards.folder | quote }}
- {{- with .Values.sidecar.dashboards.extraMounts }}
- {{- toYaml . | trim | nindent 6 }}
- {{- end }}
-{{- end}}
-{{- if .Values.sidecar.datasources.enabled }}
- - name: {{ include "grafana.name" . }}-sc-datasources
- {{- if .Values.sidecar.image.sha }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}@sha256:{{ .Values.sidecar.image.sha }}"
- {{- else }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}"
- {{- end }}
- imagePullPolicy: {{ .Values.sidecar.imagePullPolicy }}
- env:
- {{- range $key, $value := .Values.sidecar.datasources.env }}
- - name: "{{ $key }}"
- value: "{{ $value }}"
- {{- end }}
- {{- if .Values.sidecar.datasources.ignoreAlreadyProcessed }}
- - name: IGNORE_ALREADY_PROCESSED
- value: "true"
- {{- end }}
- - name: METHOD
- value: {{ .Values.sidecar.datasources.watchMethod }}
- - name: LABEL
- value: "{{ .Values.sidecar.datasources.label }}"
- {{- with .Values.sidecar.datasources.labelValue }}
- - name: LABEL_VALUE
- value: {{ quote . }}
- {{- end }}
- {{- if or .Values.sidecar.logLevel .Values.sidecar.datasources.logLevel }}
- - name: LOG_LEVEL
- value: {{ default .Values.sidecar.logLevel .Values.sidecar.datasources.logLevel }}
- {{- end }}
- - name: FOLDER
- value: "/etc/grafana/provisioning/datasources"
- - name: RESOURCE
- value: {{ quote .Values.sidecar.datasources.resource }}
- {{- with .Values.sidecar.enableUniqueFilenames }}
- - name: UNIQUE_FILENAMES
- value: "{{ . }}"
- {{- end }}
- {{- with .Values.sidecar.datasources.searchNamespace }}
- - name: NAMESPACE
- value: "{{ tpl (. | join ",") $root }}"
- {{- end }}
- {{- if .Values.sidecar.skipTlsVerify }}
- - name: SKIP_TLS_VERIFY
- value: "{{ .Values.sidecar.skipTlsVerify }}"
- {{- end }}
- {{- if .Values.sidecar.datasources.script }}
- - name: SCRIPT
- value: "{{ .Values.sidecar.datasources.script }}"
- {{- end }}
- {{- if and (not .Values.env.GF_SECURITY_ADMIN_USER) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- - name: REQ_USERNAME
- valueFrom:
- secretKeyRef:
- name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
- key: {{ .Values.admin.userKey | default "admin-user" }}
- {{- end }}
- {{- if and (not .Values.env.GF_SECURITY_ADMIN_PASSWORD) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD__FILE) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- - name: REQ_PASSWORD
- valueFrom:
- secretKeyRef:
- name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
- key: {{ .Values.admin.passwordKey | default "admin-password" }}
- {{- end }}
- {{- if not .Values.sidecar.datasources.skipReload }}
- - name: REQ_URL
- value: {{ .Values.sidecar.datasources.reloadURL }}
- - name: REQ_METHOD
- value: POST
- {{- end }}
- {{- if .Values.sidecar.datasources.watchServerTimeout }}
- {{- if ne .Values.sidecar.datasources.watchMethod "WATCH" }}
- {{- fail (printf "Cannot use .Values.sidecar.datasources.watchServerTimeout with .Values.sidecar.datasources.watchMethod %s" .Values.sidecar.datasources.watchMethod) }}
- {{- end }}
- - name: WATCH_SERVER_TIMEOUT
- value: "{{ .Values.sidecar.datasources.watchServerTimeout }}"
- {{- end }}
- {{- if .Values.sidecar.datasources.watchClientTimeout }}
- {{- if ne .Values.sidecar.datasources.watchMethod "WATCH" }}
- {{- fail (printf "Cannot use .Values.sidecar.datasources.watchClientTimeout with .Values.sidecar.datasources.watchMethod %s" .Values.sidecar.datasources.watchMethod) }}
- {{- end }}
- - name: WATCH_CLIENT_TIMEOUT
- value: "{{ .Values.sidecar.datasources.watchClientTimeout }}"
- {{- end }}
- {{- with .Values.sidecar.livenessProbe }}
- livenessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.readinessProbe }}
- readinessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.resources }}
- resources:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.securityContext }}
- securityContext:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- volumeMounts:
- - name: sc-datasources-volume
- mountPath: "/etc/grafana/provisioning/datasources"
-{{- end}}
-{{- if .Values.sidecar.notifiers.enabled }}
- - name: {{ include "grafana.name" . }}-sc-notifiers
- {{- if .Values.sidecar.image.sha }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}@sha256:{{ .Values.sidecar.image.sha }}"
- {{- else }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}"
- {{- end }}
- imagePullPolicy: {{ .Values.sidecar.imagePullPolicy }}
- env:
- {{- range $key, $value := .Values.sidecar.notifiers.env }}
- - name: "{{ $key }}"
- value: "{{ $value }}"
- {{- end }}
- {{- if .Values.sidecar.notifiers.ignoreAlreadyProcessed }}
- - name: IGNORE_ALREADY_PROCESSED
- value: "true"
- {{- end }}
- - name: METHOD
- value: {{ .Values.sidecar.notifiers.watchMethod }}
- - name: LABEL
- value: "{{ .Values.sidecar.notifiers.label }}"
- {{- with .Values.sidecar.notifiers.labelValue }}
- - name: LABEL_VALUE
- value: {{ quote . }}
- {{- end }}
- {{- if or .Values.sidecar.logLevel .Values.sidecar.notifiers.logLevel }}
- - name: LOG_LEVEL
- value: {{ default .Values.sidecar.logLevel .Values.sidecar.notifiers.logLevel }}
- {{- end }}
- - name: FOLDER
- value: "/etc/grafana/provisioning/notifiers"
- - name: RESOURCE
- value: {{ quote .Values.sidecar.notifiers.resource }}
- {{- if .Values.sidecar.enableUniqueFilenames }}
- - name: UNIQUE_FILENAMES
- value: "{{ .Values.sidecar.enableUniqueFilenames }}"
- {{- end }}
- {{- with .Values.sidecar.notifiers.searchNamespace }}
- - name: NAMESPACE
- value: "{{ tpl (. | join ",") $root }}"
- {{- end }}
- {{- with .Values.sidecar.skipTlsVerify }}
- - name: SKIP_TLS_VERIFY
- value: "{{ . }}"
- {{- end }}
- {{- if .Values.sidecar.notifiers.script }}
- - name: SCRIPT
- value: "{{ .Values.sidecar.notifiers.script }}"
- {{- end }}
- {{- if and (not .Values.env.GF_SECURITY_ADMIN_USER) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- - name: REQ_USERNAME
- valueFrom:
- secretKeyRef:
- name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
- key: {{ .Values.admin.userKey | default "admin-user" }}
- {{- end }}
- {{- if and (not .Values.env.GF_SECURITY_ADMIN_PASSWORD) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD__FILE) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- - name: REQ_PASSWORD
- valueFrom:
- secretKeyRef:
- name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
- key: {{ .Values.admin.passwordKey | default "admin-password" }}
- {{- end }}
- {{- if not .Values.sidecar.notifiers.skipReload }}
- - name: REQ_URL
- value: {{ .Values.sidecar.notifiers.reloadURL }}
- - name: REQ_METHOD
- value: POST
- {{- end }}
- {{- if .Values.sidecar.notifiers.watchServerTimeout }}
- {{- if ne .Values.sidecar.notifiers.watchMethod "WATCH" }}
- {{- fail (printf "Cannot use .Values.sidecar.notifiers.watchServerTimeout with .Values.sidecar.notifiers.watchMethod %s" .Values.sidecar.notifiers.watchMethod) }}
- {{- end }}
- - name: WATCH_SERVER_TIMEOUT
- value: "{{ .Values.sidecar.notifiers.watchServerTimeout }}"
- {{- end }}
- {{- if .Values.sidecar.notifiers.watchClientTimeout }}
- {{- if ne .Values.sidecar.notifiers.watchMethod "WATCH" }}
- {{- fail (printf "Cannot use .Values.sidecar.notifiers.watchClientTimeout with .Values.sidecar.notifiers.watchMethod %s" .Values.sidecar.notifiers.watchMethod) }}
- {{- end }}
- - name: WATCH_CLIENT_TIMEOUT
- value: "{{ .Values.sidecar.notifiers.watchClientTimeout }}"
- {{- end }}
- {{- with .Values.sidecar.livenessProbe }}
- livenessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.readinessProbe }}
- readinessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.resources }}
- resources:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.securityContext }}
- securityContext:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- volumeMounts:
- - name: sc-notifiers-volume
- mountPath: "/etc/grafana/provisioning/notifiers"
-{{- end}}
-{{- if .Values.sidecar.plugins.enabled }}
- - name: {{ include "grafana.name" . }}-sc-plugins
- {{- if .Values.sidecar.image.sha }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}@sha256:{{ .Values.sidecar.image.sha }}"
- {{- else }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}"
- {{- end }}
- imagePullPolicy: {{ .Values.sidecar.imagePullPolicy }}
- env:
- {{- range $key, $value := .Values.sidecar.plugins.env }}
- - name: "{{ $key }}"
- value: "{{ $value }}"
- {{- end }}
- {{- if .Values.sidecar.plugins.ignoreAlreadyProcessed }}
- - name: IGNORE_ALREADY_PROCESSED
- value: "true"
- {{- end }}
- - name: METHOD
- value: {{ .Values.sidecar.plugins.watchMethod }}
- - name: LABEL
- value: "{{ .Values.sidecar.plugins.label }}"
- {{- if .Values.sidecar.plugins.labelValue }}
- - name: LABEL_VALUE
- value: {{ quote .Values.sidecar.plugins.labelValue }}
- {{- end }}
- {{- if or .Values.sidecar.logLevel .Values.sidecar.plugins.logLevel }}
- - name: LOG_LEVEL
- value: {{ default .Values.sidecar.logLevel .Values.sidecar.plugins.logLevel }}
- {{- end }}
- - name: FOLDER
- value: "/etc/grafana/provisioning/plugins"
- - name: RESOURCE
- value: {{ quote .Values.sidecar.plugins.resource }}
- {{- with .Values.sidecar.enableUniqueFilenames }}
- - name: UNIQUE_FILENAMES
- value: "{{ . }}"
- {{- end }}
- {{- with .Values.sidecar.plugins.searchNamespace }}
- - name: NAMESPACE
- value: "{{ tpl (. | join ",") $root }}"
- {{- end }}
- {{- with .Values.sidecar.plugins.script }}
- - name: SCRIPT
- value: "{{ . }}"
- {{- end }}
- {{- with .Values.sidecar.skipTlsVerify }}
- - name: SKIP_TLS_VERIFY
- value: "{{ . }}"
- {{- end }}
- {{- if and (not .Values.env.GF_SECURITY_ADMIN_USER) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- - name: REQ_USERNAME
- valueFrom:
- secretKeyRef:
- name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
- key: {{ .Values.admin.userKey | default "admin-user" }}
- {{- end }}
- {{- if and (not .Values.env.GF_SECURITY_ADMIN_PASSWORD) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD__FILE) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- - name: REQ_PASSWORD
- valueFrom:
- secretKeyRef:
- name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
- key: {{ .Values.admin.passwordKey | default "admin-password" }}
- {{- end }}
- {{- if not .Values.sidecar.plugins.skipReload }}
- - name: REQ_URL
- value: {{ .Values.sidecar.plugins.reloadURL }}
- - name: REQ_METHOD
- value: POST
- {{- end }}
- {{- if .Values.sidecar.plugins.watchServerTimeout }}
- {{- if ne .Values.sidecar.plugins.watchMethod "WATCH" }}
- {{- fail (printf "Cannot use .Values.sidecar.plugins.watchServerTimeout with .Values.sidecar.plugins.watchMethod %s" .Values.sidecar.plugins.watchMethod) }}
- {{- end }}
- - name: WATCH_SERVER_TIMEOUT
- value: "{{ .Values.sidecar.plugins.watchServerTimeout }}"
- {{- end }}
- {{- if .Values.sidecar.plugins.watchClientTimeout }}
- {{- if ne .Values.sidecar.plugins.watchMethod "WATCH" }}
- {{- fail (printf "Cannot use .Values.sidecar.plugins.watchClientTimeout with .Values.sidecar.plugins.watchMethod %s" .Values.sidecar.plugins.watchMethod) }}
- {{- end }}
- - name: WATCH_CLIENT_TIMEOUT
- value: "{{ .Values.sidecar.plugins.watchClientTimeout }}"
- {{- end }}
- {{- with .Values.sidecar.livenessProbe }}
- livenessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.readinessProbe }}
- readinessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.resources }}
- resources:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.securityContext }}
- securityContext:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- volumeMounts:
- - name: sc-plugins-volume
- mountPath: "/etc/grafana/provisioning/plugins"
-{{- end}}
- - name: {{ .Chart.Name }}
- {{- if .Values.image.sha }}
- image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}@sha256:{{ .Values.image.sha }}"
- {{- else }}
- image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
- {{- end }}
- imagePullPolicy: {{ .Values.image.pullPolicy }}
- {{- if .Values.command }}
- command:
- {{- range .Values.command }}
- - {{ . | quote }}
- {{- end }}
- {{- end}}
- {{- with .Values.containerSecurityContext }}
- securityContext:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- volumeMounts:
- - name: config
- mountPath: "/etc/grafana/grafana.ini"
- subPath: grafana.ini
- {{- if .Values.ldap.enabled }}
- - name: ldap
- mountPath: "/etc/grafana/ldap.toml"
- subPath: ldap.toml
- {{- end }}
- {{- range .Values.extraConfigmapMounts }}
- - name: {{ tpl .name $root }}
- mountPath: {{ tpl .mountPath $root }}
- subPath: {{ (tpl .subPath $root) | default "" }}
- readOnly: {{ .readOnly }}
- {{- end }}
- - name: storage
- mountPath: "/var/lib/grafana"
- {{- with .Values.persistence.subPath }}
- subPath: {{ tpl . $root }}
- {{- end }}
- {{- with .Values.dashboards }}
- {{- range $provider, $dashboards := . }}
- {{- range $key, $value := $dashboards }}
- {{- if (or (hasKey $value "json") (hasKey $value "file")) }}
- - name: dashboards-{{ $provider }}
- mountPath: "/var/lib/grafana/dashboards/{{ $provider }}/{{ $key }}.json"
- subPath: "{{ $key }}.json"
- {{- end }}
- {{- end }}
- {{- end }}
- {{- end }}
- {{- with .Values.dashboardsConfigMaps }}
- {{- range (keys . | sortAlpha) }}
- - name: dashboards-{{ . }}
- mountPath: "/var/lib/grafana/dashboards/{{ . }}"
- {{- end }}
- {{- end }}
- {{- with .Values.datasources }}
- {{- range (keys . | sortAlpha) }}
- - name: config
- mountPath: "/etc/grafana/provisioning/datasources/{{ . }}"
- subPath: {{ . | quote }}
- {{- end }}
- {{- end }}
- {{- with .Values.notifiers }}
- {{- range (keys . | sortAlpha) }}
- - name: config
- mountPath: "/etc/grafana/provisioning/notifiers/{{ . }}"
- subPath: {{ . | quote }}
- {{- end }}
- {{- end }}
- {{- with .Values.alerting }}
- {{- range (keys . | sortAlpha) }}
- - name: config
- mountPath: "/etc/grafana/provisioning/alerting/{{ . }}"
- subPath: {{ . | quote }}
- {{- end }}
- {{- end }}
- {{- with .Values.dashboardProviders }}
- {{- range (keys . | sortAlpha) }}
- - name: config
- mountPath: "/etc/grafana/provisioning/dashboards/{{ . }}"
- subPath: {{ . | quote }}
- {{- end }}
- {{- end }}
- {{- with .Values.sidecar.alerts.enabled }}
- - name: sc-alerts-volume
- mountPath: "/etc/grafana/provisioning/alerting"
- {{- end}}
- {{- if .Values.sidecar.dashboards.enabled }}
- - name: sc-dashboard-volume
- mountPath: {{ .Values.sidecar.dashboards.folder | quote }}
- {{- if .Values.sidecar.dashboards.SCProvider }}
- - name: sc-dashboard-provider
- mountPath: "/etc/grafana/provisioning/dashboards/sc-dashboardproviders.yaml"
- subPath: provider.yaml
- {{- end}}
- {{- end}}
- {{- if .Values.sidecar.datasources.enabled }}
- - name: sc-datasources-volume
- mountPath: "/etc/grafana/provisioning/datasources"
- {{- end}}
- {{- if .Values.sidecar.plugins.enabled }}
- - name: sc-plugins-volume
- mountPath: "/etc/grafana/provisioning/plugins"
- {{- end}}
- {{- if .Values.sidecar.notifiers.enabled }}
- - name: sc-notifiers-volume
- mountPath: "/etc/grafana/provisioning/notifiers"
- {{- end}}
- {{- range .Values.extraSecretMounts }}
- - name: {{ .name }}
- mountPath: {{ .mountPath }}
- readOnly: {{ .readOnly }}
- subPath: {{ .subPath | default "" }}
- {{- end }}
- {{- range .Values.extraVolumeMounts }}
- - name: {{ .name }}
- mountPath: {{ .mountPath }}
- subPath: {{ .subPath | default "" }}
- readOnly: {{ .readOnly }}
- {{- end }}
- {{- range .Values.extraEmptyDirMounts }}
- - name: {{ .name }}
- mountPath: {{ .mountPath }}
- {{- end }}
- ports:
- - name: {{ .Values.podPortName }}
- containerPort: {{ .Values.service.targetPort }}
- protocol: TCP
- - name: {{ .Values.gossipPortName }}-tcp
- containerPort: 9094
- protocol: TCP
- - name: {{ .Values.gossipPortName }}-udp
- containerPort: 9094
- protocol: UDP
- env:
- - name: POD_IP
- valueFrom:
- fieldRef:
- fieldPath: status.podIP
- {{- if and (not .Values.env.GF_SECURITY_ADMIN_USER) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- - name: GF_SECURITY_ADMIN_USER
- valueFrom:
- secretKeyRef:
- name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
- key: {{ .Values.admin.userKey | default "admin-user" }}
- {{- end }}
- {{- if and (not .Values.env.GF_SECURITY_ADMIN_PASSWORD) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD__FILE) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- - name: GF_SECURITY_ADMIN_PASSWORD
- valueFrom:
- secretKeyRef:
- name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
- key: {{ .Values.admin.passwordKey | default "admin-password" }}
- {{- end }}
- {{- if .Values.plugins }}
- - name: GF_INSTALL_PLUGINS
- valueFrom:
- configMapKeyRef:
- name: {{ include "grafana.fullname" . }}
- key: plugins
- {{- end }}
- {{- if .Values.smtp.existingSecret }}
- - name: GF_SMTP_USER
- valueFrom:
- secretKeyRef:
- name: {{ .Values.smtp.existingSecret }}
- key: {{ .Values.smtp.userKey | default "user" }}
- - name: GF_SMTP_PASSWORD
- valueFrom:
- secretKeyRef:
- name: {{ .Values.smtp.existingSecret }}
- key: {{ .Values.smtp.passwordKey | default "password" }}
- {{- end }}
- {{- if .Values.imageRenderer.enabled }}
- - name: GF_RENDERING_SERVER_URL
- value: http://{{ include "grafana.fullname" . }}-image-renderer.{{ include "grafana.namespace" . }}:{{ .Values.imageRenderer.service.port }}/render
- - name: GF_RENDERING_CALLBACK_URL
- value: {{ .Values.imageRenderer.grafanaProtocol }}://{{ include "grafana.fullname" . }}.{{ include "grafana.namespace" . }}:{{ .Values.service.port }}/{{ .Values.imageRenderer.grafanaSubPath }}
- {{- end }}
- - name: GF_PATHS_DATA
- value: {{ (get .Values "grafana.ini").paths.data }}
- - name: GF_PATHS_LOGS
- value: {{ (get .Values "grafana.ini").paths.logs }}
- - name: GF_PATHS_PLUGINS
- value: {{ (get .Values "grafana.ini").paths.plugins }}
- - name: GF_PATHS_PROVISIONING
- value: {{ (get .Values "grafana.ini").paths.provisioning }}
- {{- range $key, $value := .Values.envValueFrom }}
- - name: {{ $key | quote }}
- valueFrom:
- {{- tpl (toYaml $value) $ | nindent 10 }}
- {{- end }}
- {{- range $key, $value := .Values.env }}
- - name: "{{ tpl $key $ }}"
- value: "{{ tpl (print $value) $ }}"
- {{- end }}
- {{- if or .Values.envFromSecret (or .Values.envRenderSecret .Values.envFromSecrets) .Values.envFromConfigMaps }}
- envFrom:
- {{- if .Values.envFromSecret }}
- - secretRef:
- name: {{ tpl .Values.envFromSecret . }}
- {{- end }}
- {{- if .Values.envRenderSecret }}
- - secretRef:
- name: {{ include "grafana.fullname" . }}-env
- {{- end }}
- {{- range .Values.envFromSecrets }}
- - secretRef:
- name: {{ tpl .name $ }}
- optional: {{ .optional | default false }}
- {{- end }}
- {{- range .Values.envFromConfigMaps }}
- - configMapRef:
- name: {{ tpl .name $ }}
- optional: {{ .optional | default false }}
- {{- end }}
- {{- end }}
- {{- with .Values.livenessProbe }}
- livenessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.readinessProbe }}
- readinessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.lifecycleHooks }}
- lifecycle:
- {{- tpl (toYaml .) $root | nindent 6 }}
- {{- end }}
- {{- with .Values.resources }}
- resources:
- {{- toYaml . | nindent 6 }}
- {{- end }}
-{{- with .Values.extraContainers }}
- {{- tpl . $ | nindent 2 }}
-{{- end }}
-{{- with .Values.nodeSelector }}
-nodeSelector:
- {{- toYaml . | nindent 2 }}
-{{- end }}
-{{- with .Values.affinity }}
-affinity:
- {{- tpl (toYaml .) $root | nindent 2 }}
-{{- end }}
-{{- with .Values.topologySpreadConstraints }}
-topologySpreadConstraints:
- {{- toYaml . | nindent 2 }}
-{{- end }}
-{{- with .Values.tolerations }}
-tolerations:
- {{- toYaml . | nindent 2 }}
-{{- end }}
-volumes:
- - name: config
- configMap:
- name: {{ include "grafana.fullname" . }}
- {{- range .Values.extraConfigmapMounts }}
- - name: {{ tpl .name $root }}
- configMap:
- name: {{ tpl .configMap $root }}
- {{- with .items }}
- items:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- end }}
- {{- if .Values.dashboards }}
- {{- range (keys .Values.dashboards | sortAlpha) }}
- - name: dashboards-{{ . }}
- configMap:
- name: {{ include "grafana.fullname" $ }}-dashboards-{{ . }}
- {{- end }}
- {{- end }}
- {{- if .Values.dashboardsConfigMaps }}
- {{- range $provider, $name := .Values.dashboardsConfigMaps }}
- - name: dashboards-{{ $provider }}
- configMap:
- name: {{ tpl $name $root }}
- {{- end }}
- {{- end }}
- {{- if .Values.ldap.enabled }}
- - name: ldap
- secret:
- {{- if .Values.ldap.existingSecret }}
- secretName: {{ .Values.ldap.existingSecret }}
- {{- else }}
- secretName: {{ include "grafana.fullname" . }}
- {{- end }}
- items:
- - key: ldap-toml
- path: ldap.toml
- {{- end }}
- {{- if and .Values.persistence.enabled (eq .Values.persistence.type "pvc") }}
- - name: storage
- persistentVolumeClaim:
- claimName: {{ tpl (.Values.persistence.existingClaim | default (include "grafana.fullname" .)) . }}
- {{- else if and .Values.persistence.enabled (has .Values.persistence.type $sts) }}
- {{/* nothing */}}
- {{- else }}
- - name: storage
- {{- if .Values.persistence.inMemory.enabled }}
- emptyDir:
- medium: Memory
- {{- with .Values.persistence.inMemory.sizeLimit }}
- sizeLimit: {{ . }}
- {{- end }}
- {{- else }}
- emptyDir: {}
- {{- end }}
- {{- end }}
- {{- if .Values.sidecar.alerts.enabled }}
- - name: sc-alerts-volume
- emptyDir:
- {{- with .Values.sidecar.alerts.sizeLimit }}
- sizeLimit: {{ . }}
- {{- else }}
- {}
- {{- end }}
- {{- end }}
- {{- if .Values.sidecar.dashboards.enabled }}
- - name: sc-dashboard-volume
- emptyDir:
- {{- with .Values.sidecar.dashboards.sizeLimit }}
- sizeLimit: {{ . }}
- {{- else }}
- {}
- {{- end }}
- {{- if .Values.sidecar.dashboards.SCProvider }}
- - name: sc-dashboard-provider
- configMap:
- name: {{ include "grafana.fullname" . }}-config-dashboards
- {{- end }}
- {{- end }}
- {{- if .Values.sidecar.datasources.enabled }}
- - name: sc-datasources-volume
- emptyDir:
- {{- with .Values.sidecar.datasources.sizeLimit }}
- sizeLimit: {{ . }}
- {{- else }}
- {}
- {{- end }}
- {{- end }}
- {{- if .Values.sidecar.plugins.enabled }}
- - name: sc-plugins-volume
- emptyDir:
- {{- with .Values.sidecar.plugins.sizeLimit }}
- sizeLimit: {{ . }}
- {{- else }}
- {}
- {{- end }}
- {{- end }}
- {{- if .Values.sidecar.notifiers.enabled }}
- - name: sc-notifiers-volume
- emptyDir:
- {{- with .Values.sidecar.notifiers.sizeLimit }}
- sizeLimit: {{ . }}
- {{- else }}
- {}
- {{- end }}
- {{- end }}
- {{- range .Values.extraSecretMounts }}
- {{- if .secretName }}
- - name: {{ .name }}
- secret:
- secretName: {{ .secretName }}
- defaultMode: {{ .defaultMode }}
- {{- with .items }}
- items:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- else if .projected }}
- - name: {{ .name }}
- projected:
- {{- toYaml .projected | nindent 6 }}
- {{- else if .csi }}
- - name: {{ .name }}
- csi:
- {{- toYaml .csi | nindent 6 }}
- {{- end }}
- {{- end }}
- {{- range .Values.extraVolumeMounts }}
- - name: {{ .name }}
- {{- if .existingClaim }}
- persistentVolumeClaim:
- claimName: {{ .existingClaim }}
- {{- else if .hostPath }}
- hostPath:
- path: {{ .hostPath }}
- {{- else if .csi }}
- csi:
- {{- toYaml .data | nindent 6 }}
- {{- else }}
- emptyDir: {}
- {{- end }}
- {{- end }}
- {{- range .Values.extraEmptyDirMounts }}
- - name: {{ .name }}
- emptyDir: {}
- {{- end }}
- {{- with .Values.extraContainerVolumes }}
- {{- tpl (toYaml .) $root | nindent 2 }}
- {{- end }}
-{{- end }}
diff --git a/charts/admin-stack/charts/grafana/templates/clusterrole.yaml b/charts/admin-stack/charts/grafana/templates/clusterrole.yaml
deleted file mode 100644
index 3396713..0000000
--- a/charts/admin-stack/charts/grafana/templates/clusterrole.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
-{{- if and .Values.rbac.create (not .Values.rbac.namespaced) (not .Values.rbac.useExistingRole) }}
-kind: ClusterRole
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
- labels:
- {{- include "grafana.labels" . | nindent 4 }}
- {{- with .Values.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
- name: {{ include "grafana.fullname" . }}-clusterrole
-{{- if or .Values.sidecar.dashboards.enabled (or .Values.rbac.extraClusterRoleRules (or .Values.sidecar.datasources.enabled .Values.sidecar.plugins.enabled)) }}
-rules:
- {{- if or .Values.sidecar.dashboards.enabled (or .Values.sidecar.datasources.enabled .Values.sidecar.plugins.enabled) }}
- - apiGroups: [""] # "" indicates the core API group
- resources: ["configmaps", "secrets"]
- verbs: ["get", "watch", "list"]
- {{- end}}
- {{- with .Values.rbac.extraClusterRoleRules }}
- {{- toYaml . | nindent 2 }}
- {{- end}}
-{{- else }}
-rules: []
-{{- end}}
-{{- end}}
diff --git a/charts/admin-stack/charts/grafana/templates/clusterrolebinding.yaml b/charts/admin-stack/charts/grafana/templates/clusterrolebinding.yaml
deleted file mode 100644
index 48411fe..0000000
--- a/charts/admin-stack/charts/grafana/templates/clusterrolebinding.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-{{- if and .Values.rbac.create (not .Values.rbac.namespaced) }}
-kind: ClusterRoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
- name: {{ include "grafana.fullname" . }}-clusterrolebinding
- labels:
- {{- include "grafana.labels" . | nindent 4 }}
- {{- with .Values.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
-subjects:
- - kind: ServiceAccount
- name: {{ include "grafana.serviceAccountName" . }}
- namespace: {{ include "grafana.namespace" . }}
-roleRef:
- kind: ClusterRole
- {{- if .Values.rbac.useExistingRole }}
- name: {{ .Values.rbac.useExistingRole }}
- {{- else }}
- name: {{ include "grafana.fullname" . }}-clusterrole
- {{- end }}
- apiGroup: rbac.authorization.k8s.io
-{{- end }}
diff --git a/charts/admin-stack/charts/grafana/templates/configmap-dashboard-provider.yaml b/charts/admin-stack/charts/grafana/templates/configmap-dashboard-provider.yaml
deleted file mode 100644
index 1f706a8..0000000
--- a/charts/admin-stack/charts/grafana/templates/configmap-dashboard-provider.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
-{{- if and .Values.sidecar.dashboards.enabled .Values.sidecar.dashboards.SCProvider }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- labels:
- {{- include "grafana.labels" . | nindent 4 }}
- {{- with .Values.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
- name: {{ include "grafana.fullname" . }}-config-dashboards
- namespace: {{ include "grafana.namespace" . }}
-data:
- provider.yaml: |-
- apiVersion: 1
- providers:
- - name: '{{ .Values.sidecar.dashboards.provider.name }}'
- orgId: {{ .Values.sidecar.dashboards.provider.orgid }}
- {{- if not .Values.sidecar.dashboards.provider.foldersFromFilesStructure }}
- folder: '{{ .Values.sidecar.dashboards.provider.folder }}'
- {{- end }}
- type: {{ .Values.sidecar.dashboards.provider.type }}
- disableDeletion: {{ .Values.sidecar.dashboards.provider.disableDelete }}
- allowUiUpdates: {{ .Values.sidecar.dashboards.provider.allowUiUpdates }}
- updateIntervalSeconds: {{ .Values.sidecar.dashboards.provider.updateIntervalSeconds | default 30 }}
- options:
- foldersFromFilesStructure: {{ .Values.sidecar.dashboards.provider.foldersFromFilesStructure }}
- path: {{ .Values.sidecar.dashboards.folder }}{{- with .Values.sidecar.dashboards.defaultFolderName }}/{{ . }}{{- end }}
-{{- end }}
diff --git a/charts/admin-stack/charts/grafana/templates/configmap.yaml b/charts/admin-stack/charts/grafana/templates/configmap.yaml
deleted file mode 100644
index b0735a2..0000000
--- a/charts/admin-stack/charts/grafana/templates/configmap.yaml
+++ /dev/null
@@ -1,125 +0,0 @@
-{{- if .Values.createConfigmap }}
-{{- $root := . -}}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: {{ include "grafana.fullname" . }}
- namespace: {{ include "grafana.namespace" . }}
- labels:
- {{- include "grafana.labels" . | nindent 4 }}
- {{- with .Values.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
-data:
- {{- with .Values.plugins }}
- plugins: {{ join "," . }}
- {{- end }}
- grafana.ini: |
- {{- range $elem, $elemVal := index .Values "grafana.ini" }}
- {{- if not (kindIs "map" $elemVal) }}
- {{- if kindIs "invalid" $elemVal }}
- {{ $elem }} =
- {{- else if kindIs "string" $elemVal }}
- {{ $elem }} = {{ tpl $elemVal $ }}
- {{- else }}
- {{ $elem }} = {{ $elemVal }}
- {{- end }}
- {{- end }}
- {{- end }}
- {{- range $key, $value := index .Values "grafana.ini" }}
- {{- if kindIs "map" $value }}
- [{{ $key }}]
- {{- range $elem, $elemVal := $value }}
- {{- if kindIs "invalid" $elemVal }}
- {{ $elem }} =
- {{- else if kindIs "string" $elemVal }}
- {{ $elem }} = {{ tpl $elemVal $ }}
- {{- else }}
- {{ $elem }} = {{ $elemVal }}
- {{- end }}
- {{- end }}
- {{- end }}
- {{- end }}
-
- {{- range $key, $value := .Values.datasources }}
- {{- $key | nindent 2 }}: |
- {{- tpl (toYaml $value | nindent 4) $root }}
- {{- end }}
-
- {{- range $key, $value := .Values.notifiers }}
- {{- $key | nindent 2 }}: |
- {{- toYaml $value | nindent 4 }}
- {{- end }}
-
- {{- range $key, $value := .Values.alerting }}
- {{- $key | nindent 2 }}: |
- {{- tpl (toYaml $value | nindent 4) $root }}
- {{- end }}
-
- {{- range $key, $value := .Values.dashboardProviders }}
- {{- $key | nindent 2 }}: |
- {{- toYaml $value | nindent 4 }}
- {{- end }}
-
-{{- if .Values.dashboards }}
- download_dashboards.sh: |
- #!/usr/bin/env sh
- set -euf
- {{- if .Values.dashboardProviders }}
- {{- range $key, $value := .Values.dashboardProviders }}
- {{- range $value.providers }}
- mkdir -p {{ .options.path }}
- {{- end }}
- {{- end }}
- {{- end }}
- {{ $dashboardProviders := .Values.dashboardProviders }}
- {{- range $provider, $dashboards := .Values.dashboards }}
- {{- range $key, $value := $dashboards }}
- {{- if (or (hasKey $value "gnetId") (hasKey $value "url")) }}
- curl -skf \
- --connect-timeout 60 \
- --max-time 60 \
- {{- if not $value.b64content }}
- -H "Accept: application/json" \
- {{- if $value.token }}
- -H "Authorization: token {{ $value.token }}" \
- {{- end }}
- {{- if $value.bearerToken }}
- -H "Authorization: Bearer {{ $value.bearerToken }}" \
- {{- end }}
- {{- if $value.gitlabToken }}
- -H "PRIVATE-TOKEN: {{ $value.gitlabToken }}" \
- {{- end }}
- -H "Content-Type: application/json;charset=UTF-8" \
- {{- end }}
- {{- $dpPath := "" -}}
- {{- range $kd := (index $dashboardProviders "dashboardproviders.yaml").providers }}
- {{- if eq $kd.name $provider }}
- {{- $dpPath = $kd.options.path }}
- {{- end }}
- {{- end }}
- {{- if $value.url }}
- "{{ $value.url }}" \
- {{- else }}
- "https://grafana.com/api/dashboards/{{ $value.gnetId }}/revisions/{{- if $value.revision -}}{{ $value.revision }}{{- else -}}1{{- end -}}/download" \
- {{- end }}
- {{- if $value.datasource }}
- {{- if kindIs "string" $value.datasource }}
- | sed '/-- .* --/! s/"datasource":.*,/"datasource": "{{ $value.datasource }}",/g' \
- {{- end }}
- {{- if kindIs "slice" $value.datasource }}
- {{- range $value.datasource }}
- | sed '/-- .* --/! s/${{"{"}}{{ .name }}}/{{ .value }}/g' \
- {{- end }}
- {{- end }}
- {{- end }}
- {{- if $value.b64content }}
- | base64 -d \
- {{- end }}
- > "{{- if $dpPath -}}{{ $dpPath }}{{- else -}}/var/lib/grafana/dashboards/{{ $provider }}{{- end -}}/{{ $key }}.json"
- {{ end }}
- {{- end }}
- {{- end }}
-{{- end }}
-{{- end }}
diff --git a/charts/admin-stack/charts/grafana/templates/dashboards-json-configmap.yaml b/charts/admin-stack/charts/grafana/templates/dashboards-json-configmap.yaml
deleted file mode 100644
index df0ed0d..0000000
--- a/charts/admin-stack/charts/grafana/templates/dashboards-json-configmap.yaml
+++ /dev/null
@@ -1,35 +0,0 @@
-{{- if .Values.dashboards }}
-{{ $files := .Files }}
-{{- range $provider, $dashboards := .Values.dashboards }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: {{ include "grafana.fullname" $ }}-dashboards-{{ $provider }}
- namespace: {{ include "grafana.namespace" $ }}
- labels:
- {{- include "grafana.labels" $ | nindent 4 }}
- dashboard-provider: {{ $provider }}
-{{- if $dashboards }}
-data:
-{{- $dashboardFound := false }}
-{{- range $key, $value := $dashboards }}
-{{- if (or (hasKey $value "json") (hasKey $value "file")) }}
-{{- $dashboardFound = true }}
- {{- print $key | nindent 2 }}.json:
- {{- if hasKey $value "json" }}
- |-
- {{- $value.json | nindent 6 }}
- {{- end }}
- {{- if hasKey $value "file" }}
- {{- toYaml ( $files.Get $value.file ) | nindent 4}}
- {{- end }}
-{{- end }}
-{{- end }}
-{{- if not $dashboardFound }}
- {}
-{{- end }}
-{{- end }}
----
-{{- end }}
-
-{{- end }}
diff --git a/charts/admin-stack/charts/grafana/templates/deployment.yaml b/charts/admin-stack/charts/grafana/templates/deployment.yaml
deleted file mode 100644
index 42bde46..0000000
--- a/charts/admin-stack/charts/grafana/templates/deployment.yaml
+++ /dev/null
@@ -1,52 +0,0 @@
-{{- if (and (not .Values.useStatefulSet) (or (not .Values.persistence.enabled) (eq .Values.persistence.type "pvc"))) }}
-{{- if .Values.enabled }}
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: {{ include "grafana.fullname" . }}
- namespace: {{ include "grafana.namespace" . }}
- labels:
- {{- include "grafana.labels" . | nindent 4 }}
- {{- with .Values.labels }}
- {{- toYaml . | nindent 4 }}
- {{- end }}
- {{- with .Values.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
-spec:
- {{- if and (not .Values.autoscaling.enabled) (.Values.replicas) }}
- replicas: {{ .Values.replicas }}
- {{- end }}
- revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
- selector:
- matchLabels:
- {{- include "grafana.selectorLabels" . | nindent 6 }}
- {{- with .Values.deploymentStrategy }}
- strategy:
- {{- toYaml . | trim | nindent 4 }}
- {{- end }}
- template:
- metadata:
- labels:
- {{- include "grafana.selectorLabels" . | nindent 8 }}
- {{- with .Values.podLabels }}
- {{- toYaml . | nindent 8 }}
- {{- end }}
- annotations:
- checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
- checksum/dashboards-json-config: {{ include (print $.Template.BasePath "/dashboards-json-configmap.yaml") . | sha256sum }}
- checksum/sc-dashboard-provider-config: {{ include (print $.Template.BasePath "/configmap-dashboard-provider.yaml") . | sha256sum }}
- {{- if and (or (and (not .Values.admin.existingSecret) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD__FILE) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD)) (and .Values.ldap.enabled (not .Values.ldap.existingSecret))) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- checksum/secret: {{ include (print $.Template.BasePath "/secret.yaml") . | sha256sum }}
- {{- end }}
- {{- if .Values.envRenderSecret }}
- checksum/secret-env: {{ include (print $.Template.BasePath "/secret-env.yaml") . | sha256sum }}
- {{- end }}
- {{- with .Values.podAnnotations }}
- {{- toYaml . | nindent 8 }}
- {{- end }}
- spec:
- {{- include "grafana.pod" . | nindent 6 }}
-{{- end }}
-{{- end }}
diff --git a/charts/admin-stack/charts/grafana/templates/headless-service.yaml b/charts/admin-stack/charts/grafana/templates/headless-service.yaml
deleted file mode 100644
index 3028589..0000000
--- a/charts/admin-stack/charts/grafana/templates/headless-service.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-{{- $sts := list "sts" "StatefulSet" "statefulset" -}}
-{{- if or .Values.headlessService (and .Values.persistence.enabled (not .Values.persistence.existingClaim) (has .Values.persistence.type $sts)) }}
-apiVersion: v1
-kind: Service
-metadata:
- name: {{ include "grafana.fullname" . }}-headless
- namespace: {{ include "grafana.namespace" . }}
- labels:
- {{- include "grafana.labels" . | nindent 4 }}
- {{- with .Values.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
-spec:
- clusterIP: None
- selector:
- {{- include "grafana.selectorLabels" . | nindent 4 }}
- type: ClusterIP
- ports:
- - name: {{ .Values.gossipPortName }}-tcp
- port: 9094
-{{- end }}
diff --git a/charts/admin-stack/charts/grafana/templates/ingress.yaml b/charts/admin-stack/charts/grafana/templates/ingress.yaml
deleted file mode 100644
index 063cdfa..0000000
--- a/charts/admin-stack/charts/grafana/templates/ingress.yaml
+++ /dev/null
@@ -1,78 +0,0 @@
-{{- if .Values.ingress.enabled -}}
-{{- $ingressApiIsStable := eq (include "grafana.ingress.isStable" .) "true" -}}
-{{- $ingressSupportsIngressClassName := eq (include "grafana.ingress.supportsIngressClassName" .) "true" -}}
-{{- $ingressSupportsPathType := eq (include "grafana.ingress.supportsPathType" .) "true" -}}
-{{- $fullName := include "grafana.fullname" . -}}
-{{- $servicePort := .Values.service.port -}}
-{{- $ingressPath := .Values.ingress.path -}}
-{{- $ingressPathType := .Values.ingress.pathType -}}
-{{- $extraPaths := .Values.ingress.extraPaths -}}
-apiVersion: {{ include "grafana.ingress.apiVersion" . }}
-kind: Ingress
-metadata:
- name: {{ $fullName }}
- namespace: {{ include "grafana.namespace" . }}
- labels:
- {{- include "grafana.labels" . | nindent 4 }}
- {{- with .Values.ingress.labels }}
- {{- toYaml . | nindent 4 }}
- {{- end }}
- {{- with .Values.ingress.annotations }}
- annotations:
- {{- range $key, $value := . }}
- {{ $key }}: {{ tpl $value $ | quote }}
- {{- end }}
- {{- end }}
-spec:
- {{- if and $ingressSupportsIngressClassName .Values.ingress.ingressClassName }}
- ingressClassName: {{ .Values.ingress.ingressClassName }}
- {{- end -}}
- {{- with .Values.ingress.tls }}
- tls:
- {{- tpl (toYaml .) $ | nindent 4 }}
- {{- end }}
- rules:
- {{- if .Values.ingress.hosts }}
- {{- range .Values.ingress.hosts }}
- - host: {{ tpl . $ }}
- http:
- paths:
- {{- with $extraPaths }}
- {{- toYaml . | nindent 10 }}
- {{- end }}
- - path: {{ $ingressPath }}
- {{- if $ingressSupportsPathType }}
- pathType: {{ $ingressPathType }}
- {{- end }}
- backend:
- {{- if $ingressApiIsStable }}
- service:
- name: {{ $fullName }}
- port:
- number: {{ $servicePort }}
- {{- else }}
- serviceName: {{ $fullName }}
- servicePort: {{ $servicePort }}
- {{- end }}
- {{- end }}
- {{- else }}
- - http:
- paths:
- - backend:
- {{- if $ingressApiIsStable }}
- service:
- name: {{ $fullName }}
- port:
- number: {{ $servicePort }}
- {{- else }}
- serviceName: {{ $fullName }}
- servicePort: {{ $servicePort }}
- {{- end }}
- {{- with $ingressPath }}
- path: {{ . }}
- {{- end }}
- {{- if $ingressSupportsPathType }}
- pathType: {{ $ingressPathType }}
- {{- end }}
- {{- end -}}
-{{- end }}
diff --git a/charts/admin-stack/charts/grafana/templates/networkpolicy.yaml b/charts/admin-stack/charts/grafana/templates/networkpolicy.yaml
deleted file mode 100644
index ea4578b..0000000
--- a/charts/admin-stack/charts/grafana/templates/networkpolicy.yaml
+++ /dev/null
@@ -1,52 +0,0 @@
-{{- if .Values.networkPolicy.enabled }}
-apiVersion: networking.k8s.io/v1
-kind: NetworkPolicy
-metadata:
- name: {{ include "grafana.fullname" . }}
- namespace: {{ include "grafana.namespace" . }}
- labels:
- {{- include "grafana.labels" . | nindent 4 }}
- {{- with .Values.labels }}
- {{- toYaml . | nindent 4 }}
- {{- end }}
- {{- with .Values.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
-spec:
- policyTypes:
- {{- if .Values.networkPolicy.ingress }}
- - Ingress
- {{- end }}
- {{- if .Values.networkPolicy.egress.enabled }}
- - Egress
- {{- end }}
- podSelector:
- matchLabels:
- {{- include "grafana.selectorLabels" . | nindent 6 }}
-
- {{- if .Values.networkPolicy.egress.enabled }}
- egress:
- - ports:
- {{ .Values.networkPolicy.egress.ports | toJson }}
- {{- end }}
- {{- if .Values.networkPolicy.ingress }}
- ingress:
- - ports:
- - port: {{ .Values.service.targetPort }}
- {{- if not .Values.networkPolicy.allowExternal }}
- from:
- - podSelector:
- matchLabels:
- {{ include "grafana.fullname" . }}-client: "true"
- {{- with .Values.networkPolicy.explicitNamespacesSelector }}
- - namespaceSelector:
- {{- toYaml . | nindent 12 }}
- {{- end }}
- - podSelector:
- matchLabels:
- {{- include "grafana.labels" . | nindent 14 }}
- role: read
- {{- end }}
- {{- end }}
-{{- end }}
diff --git a/charts/admin-stack/charts/grafana/templates/poddisruptionbudget.yaml b/charts/admin-stack/charts/grafana/templates/poddisruptionbudget.yaml
deleted file mode 100644
index 0525121..0000000
--- a/charts/admin-stack/charts/grafana/templates/poddisruptionbudget.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-{{- if .Values.podDisruptionBudget }}
-apiVersion: {{ include "grafana.podDisruptionBudget.apiVersion" . }}
-kind: PodDisruptionBudget
-metadata:
- name: {{ include "grafana.fullname" . }}
- namespace: {{ include "grafana.namespace" . }}
- labels:
- {{- include "grafana.labels" . | nindent 4 }}
- {{- with .Values.labels }}
- {{- toYaml . | nindent 4 }}
- {{- end }}
-spec:
- {{- with .Values.podDisruptionBudget.minAvailable }}
- minAvailable: {{ . }}
- {{- end }}
- {{- with .Values.podDisruptionBudget.maxUnavailable }}
- maxUnavailable: {{ . }}
- {{- end }}
- selector:
- matchLabels:
- {{- include "grafana.selectorLabels" . | nindent 6 }}
-{{- end }}
diff --git a/charts/admin-stack/charts/grafana/templates/pvc.yaml b/charts/admin-stack/charts/grafana/templates/pvc.yaml
deleted file mode 100644
index eb8f87f..0000000
--- a/charts/admin-stack/charts/grafana/templates/pvc.yaml
+++ /dev/null
@@ -1,36 +0,0 @@
-{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) (eq .Values.persistence.type "pvc")}}
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
- name: {{ include "grafana.fullname" . }}
- namespace: {{ include "grafana.namespace" . }}
- labels:
- {{- include "grafana.labels" . | nindent 4 }}
- {{- with .Values.persistence.extraPvcLabels }}
- {{- toYaml . | nindent 4 }}
- {{- end }}
- {{- with .Values.persistence.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
- {{- with .Values.persistence.finalizers }}
- finalizers:
- {{- toYaml . | nindent 4 }}
- {{- end }}
-spec:
- accessModes:
- {{- range .Values.persistence.accessModes }}
- - {{ . | quote }}
- {{- end }}
- resources:
- requests:
- storage: {{ .Values.persistence.size | quote }}
- {{- with .Values.persistence.storageClassName }}
- storageClassName: {{ . }}
- {{- end }}
- {{- with .Values.persistence.selectorLabels }}
- selector:
- matchLabels:
- {{- toYaml . | nindent 6 }}
- {{- end }}
-{{- end }}
diff --git a/charts/admin-stack/charts/grafana/templates/role.yaml b/charts/admin-stack/charts/grafana/templates/role.yaml
deleted file mode 100644
index ffdb16f..0000000
--- a/charts/admin-stack/charts/grafana/templates/role.yaml
+++ /dev/null
@@ -1,32 +0,0 @@
-{{- if and .Values.rbac.create (not .Values.rbac.useExistingRole) -}}
-apiVersion: {{ include "grafana.rbac.apiVersion" . }}
-kind: Role
-metadata:
- name: {{ include "grafana.fullname" . }}
- namespace: {{ include "grafana.namespace" . }}
- labels:
- {{- include "grafana.labels" . | nindent 4 }}
- {{- with .Values.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
-{{- if or .Values.rbac.pspEnabled (and .Values.rbac.namespaced (or .Values.sidecar.dashboards.enabled .Values.sidecar.datasources.enabled .Values.sidecar.plugins.enabled .Values.rbac.extraRoleRules)) }}
-rules:
- {{- if .Values.rbac.pspEnabled }}
- - apiGroups: ['extensions']
- resources: ['podsecuritypolicies']
- verbs: ['use']
- resourceNames: [{{ include "grafana.fullname" . }}]
- {{- end }}
- {{- if and .Values.rbac.namespaced (or .Values.sidecar.dashboards.enabled .Values.sidecar.datasources.enabled .Values.sidecar.plugins.enabled) }}
- - apiGroups: [""] # "" indicates the core API group
- resources: ["configmaps", "secrets"]
- verbs: ["get", "watch", "list"]
- {{- end }}
- {{- with .Values.rbac.extraRoleRules }}
- {{- toYaml . | nindent 2 }}
- {{- end}}
-{{- else }}
-rules: []
-{{- end }}
-{{- end }}
diff --git a/charts/admin-stack/charts/grafana/templates/rolebinding.yaml b/charts/admin-stack/charts/grafana/templates/rolebinding.yaml
deleted file mode 100644
index cc07bd9..0000000
--- a/charts/admin-stack/charts/grafana/templates/rolebinding.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
-{{- if .Values.rbac.create }}
-apiVersion: {{ include "grafana.rbac.apiVersion" . }}
-kind: RoleBinding
-metadata:
- name: {{ include "grafana.fullname" . }}
- namespace: {{ include "grafana.namespace" . }}
- labels:
- {{- include "grafana.labels" . | nindent 4 }}
- {{- with .Values.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- {{- if .Values.rbac.useExistingRole }}
- name: {{ .Values.rbac.useExistingRole }}
- {{- else }}
- name: {{ include "grafana.fullname" . }}
- {{- end }}
-subjects:
-- kind: ServiceAccount
- name: {{ include "grafana.serviceAccountName" . }}
- namespace: {{ include "grafana.namespace" . }}
-{{- end }}
diff --git a/charts/admin-stack/charts/grafana/templates/secret-env.yaml b/charts/admin-stack/charts/grafana/templates/secret-env.yaml
deleted file mode 100644
index c765567..0000000
--- a/charts/admin-stack/charts/grafana/templates/secret-env.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-{{- if .Values.envRenderSecret }}
-apiVersion: v1
-kind: Secret
-metadata:
- name: {{ include "grafana.fullname" . }}-env
- namespace: {{ include "grafana.namespace" . }}
- labels:
- {{- include "grafana.labels" . | nindent 4 }}
-type: Opaque
-data:
-{{- range $key, $val := .Values.envRenderSecret }}
- {{ $key }}: {{ $val | b64enc | quote }}
-{{- end }}
-{{- end }}
diff --git a/charts/admin-stack/charts/grafana/templates/secret.yaml b/charts/admin-stack/charts/grafana/templates/secret.yaml
deleted file mode 100644
index 5cbd527..0000000
--- a/charts/admin-stack/charts/grafana/templates/secret.yaml
+++ /dev/null
@@ -1,26 +0,0 @@
-{{- if or (and (not .Values.admin.existingSecret) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD__FILE) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION)) (and .Values.ldap.enabled (not .Values.ldap.existingSecret)) }}
-apiVersion: v1
-kind: Secret
-metadata:
- name: {{ include "grafana.fullname" . }}
- namespace: {{ include "grafana.namespace" . }}
- labels:
- {{- include "grafana.labels" . | nindent 4 }}
- {{- with .Values.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
-type: Opaque
-data:
- {{- if and (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) (not .Values.admin.existingSecret) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD__FILE) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD) }}
- admin-user: {{ .Values.adminUser | b64enc | quote }}
- {{- if .Values.adminPassword }}
- admin-password: {{ .Values.adminPassword | b64enc | quote }}
- {{- else }}
- admin-password: {{ include "grafana.password" . }}
- {{- end }}
- {{- end }}
- {{- if not .Values.ldap.existingSecret }}
- ldap-toml: {{ tpl .Values.ldap.config $ | b64enc | quote }}
- {{- end }}
-{{- end }}
diff --git a/charts/admin-stack/charts/grafana/templates/service.yaml b/charts/admin-stack/charts/grafana/templates/service.yaml
deleted file mode 100644
index 17b2c4b..0000000
--- a/charts/admin-stack/charts/grafana/templates/service.yaml
+++ /dev/null
@@ -1,51 +0,0 @@
-{{- if .Values.service.enabled }}
-{{- $root := . }}
-apiVersion: v1
-kind: Service
-metadata:
- name: {{ include "grafana.fullname" . }}
- namespace: {{ include "grafana.namespace" . }}
- labels:
- {{- include "grafana.labels" . | nindent 4 }}
- {{- with .Values.service.labels }}
- {{- toYaml . | nindent 4 }}
- {{- end }}
-spec:
- {{- if (or (eq .Values.service.type "ClusterIP") (empty .Values.service.type)) }}
- type: ClusterIP
- {{- with .Values.service.clusterIP }}
- clusterIP: {{ . }}
- {{- end }}
- {{- else if eq .Values.service.type "LoadBalancer" }}
- type: {{ .Values.service.type }}
- {{- with .Values.service.loadBalancerIP }}
- loadBalancerIP: {{ . }}
- {{- end }}
- {{- with .Values.service.loadBalancerSourceRanges }}
- loadBalancerSourceRanges:
- {{- toYaml . | nindent 4 }}
- {{- end }}
- {{- else }}
- type: {{ .Values.service.type }}
- {{- end }}
- {{- with .Values.service.externalIPs }}
- externalIPs:
- {{- toYaml . | nindent 4 }}
- {{- end }}
- ports:
- - name: {{ .Values.service.portName }}
- port: {{ .Values.service.port }}
- protocol: TCP
- targetPort: {{ .Values.service.targetPort }}
- {{- with .Values.service.appProtocol }}
- appProtocol: {{ . }}
- {{- end }}
- {{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort))) }}
- nodePort: {{ .Values.service.nodePort }}
- {{- end }}
- {{- with .Values.extraExposePorts }}
- {{- tpl (toYaml . | nindent 4) $root }}
- {{- end }}
- selector:
- {{- include "grafana.selectorLabels" . | nindent 4 }}
-{{- end }}
diff --git a/charts/admin-stack/charts/grafana/templates/serviceaccount.yaml b/charts/admin-stack/charts/grafana/templates/serviceaccount.yaml
deleted file mode 100644
index 784e71b..0000000
--- a/charts/admin-stack/charts/grafana/templates/serviceaccount.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-{{- if .Values.serviceAccount.create }}
-{{- $root := . -}}
-apiVersion: v1
-kind: ServiceAccount
-metadata:
- labels:
- {{- include "grafana.labels" . | nindent 4 }}
- {{- with .Values.serviceAccount.labels }}
- {{- toYaml . | nindent 4 }}
- {{- end }}
- {{- with .Values.serviceAccount.annotations }}
- annotations:
- {{- tpl (toYaml . | nindent 4) $root }}
- {{- end }}
- name: {{ include "grafana.serviceAccountName" . }}
- namespace: {{ include "grafana.namespace" . }}
-{{- end }}
diff --git a/charts/admin-stack/charts/grafana/templates/statefulset.yaml b/charts/admin-stack/charts/grafana/templates/statefulset.yaml
deleted file mode 100644
index da2a5c4..0000000
--- a/charts/admin-stack/charts/grafana/templates/statefulset.yaml
+++ /dev/null
@@ -1,57 +0,0 @@
-{{- if .Values.enabled }}
-{{- $sts := list "sts" "StatefulSet" "statefulset" -}}
-{{- if (or (.Values.useStatefulSet) (and .Values.persistence.enabled (not .Values.persistence.existingClaim) (has .Values.persistence.type $sts)))}}
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
- name: {{ include "grafana.fullname" . }}
- namespace: {{ include "grafana.namespace" . }}
- labels:
- {{- include "grafana.labels" . | nindent 4 }}
- {{- with .Values.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
-spec:
- replicas: {{ .Values.replicas }}
- selector:
- matchLabels:
- {{- include "grafana.selectorLabels" . | nindent 6 }}
- serviceName: {{ include "grafana.fullname" . }}-headless
- template:
- metadata:
- labels:
- {{- include "grafana.selectorLabels" . | nindent 8 }}
- {{- with .Values.podLabels }}
- {{- toYaml . | nindent 8 }}
- {{- end }}
- annotations:
- checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
- checksum/dashboards-json-config: {{ include (print $.Template.BasePath "/dashboards-json-configmap.yaml") . | sha256sum }}
- checksum/sc-dashboard-provider-config: {{ include (print $.Template.BasePath "/configmap-dashboard-provider.yaml") . | sha256sum }}
- {{- if and (or (and (not .Values.admin.existingSecret) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD__FILE) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD)) (and .Values.ldap.enabled (not .Values.ldap.existingSecret))) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- checksum/secret: {{ include (print $.Template.BasePath "/secret.yaml") . | sha256sum }}
- {{- end }}
- {{- with .Values.podAnnotations }}
- {{- toYaml . | nindent 8 }}
- {{- end }}
- spec:
- {{- include "grafana.pod" . | nindent 6 }}
- {{- if .Values.persistence.enabled}}
- volumeClaimTemplates:
- - metadata:
- name: storage
- spec:
- accessModes: {{ .Values.persistence.accessModes }}
- storageClassName: {{ .Values.persistence.storageClassName }}
- resources:
- requests:
- storage: {{ .Values.persistence.size }}
- {{- with .Values.persistence.selectorLabels }}
- selector:
- matchLabels:
- {{- toYaml . | nindent 10 }}
- {{- end }}
- {{- end }}
-{{- end }}
-{{- end }}
diff --git a/charts/admin-stack/charts/grafana/values.yaml b/charts/admin-stack/charts/grafana/values.yaml
deleted file mode 100644
index b2b5287..0000000
--- a/charts/admin-stack/charts/grafana/values.yaml
+++ /dev/null
@@ -1,1078 +0,0 @@
-image:
- repository: grafana/grafana
- # Overrides the Grafana image tag whose default is the chart appVersion
- tag: ""
- sha: ""
- pullPolicy: IfNotPresent
-
- ## Optionally specify an array of imagePullSecrets.
- ## Secrets must be manually created in the namespace.
- ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
- ## Can be templated.
- ##
- pullSecrets: []
- # - myRegistrKeySecretName
-
-replicas: 1
-
-persistence:
- enabled: false
- type: pvc
- # storageClassName: default
- accessModes:
- - ReadWriteOnce
- size: 10Gi
- # annotations: {}
- finalizers:
- - kubernetes.io/pvc-protection
- # selectorLabels: {}
- ## Sub-directory of the PV to mount. Can be templated.
- # subPath: ""
- ## Name of an existing PVC. Can be templated.
- # existingClaim:
- ## Extra labels to apply to a PVC.
- extraPvcLabels: {}
-
- ## If persistence is not enabled, this allows to mount the
- ## local storage in-memory to improve performance
- ##
- inMemory:
- enabled: false
- ## The maximum usage on memory medium EmptyDir would be
- ## the minimum value between the SizeLimit specified
- ## here and the sum of memory limits of all containers in a pod
- ##
- # sizeLimit: 300Mi
-
-
-## Expose the grafana service to be accessed from outside the cluster (LoadBalancer service).
-## or access it from within the cluster (ClusterIP service). Set the service type and the port to serve it.
-## ref: http://kubernetes.io/docs/user-guide/services/
-##
-service:
- enabled: true
- type: ClusterIP
- clusterIP: ""
- loadBalancerIP: ""
- loadBalancerSourceRanges: ""
- externalIPs: ""
- nodePort: ""
- port: 80
- targetPort: 3000
- # targetPort: 4181 To be used with a proxy extraContainer
- ## Service annotations. Can be templated.
- annotations: {}
- labels: {}
- portName: service
- # Adds the appProtocol field to the service. This allows to work with istio protocol selection. Ex: "http" or "tcp"
- appProtocol: ""
-
-downloadDashboardsImage:
- repository: curlimages/curl
- tag: 7.85.0
- sha: ""
- pullPolicy: IfNotPresent
-
-
-downloadDashboards:
- env: {}
- envFromSecret: ""
- resources: {}
- securityContext: {}
- envValueFrom: {}
- # ENV_NAME:
- # configMapKeyRef:
- # name: configmap-name
- # key: value_key
-
-
-## Pod Annotations
-# podAnnotations: {}
-
-
-## Pod Labels
-# podLabels: {}
-
-
-podPortName: grafana
-gossipPortName: gossip
-## Deployment annotations
-# annotations: {}
-
-
-# Enable creating the grafana configmap
-createConfigmap: true
-
-
-## See `kubectl explain poddisruptionbudget.spec` for more
-## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
-podDisruptionBudget:
-# minAvailable: 1
-# maxUnavailable: 1
-
-
-readinessProbe:
- httpGet:
- path: /api/health
- port: 3000
-
-livenessProbe:
- httpGet:
- path: /api/health
- port: 3000
- initialDelaySeconds: 60
- timeoutSeconds: 30
- failureThreshold: 10
-
-
-## Use an alternate scheduler, e.g. "stork".
-## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
-##
-# schedulerName: "default-scheduler"
-
-
-## See `kubectl explain deployment.spec.strategy` for more
-## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
-deploymentStrategy:
- type: RollingUpdate
-
-
-## Create HorizontalPodAutoscaler object for deployment type
-#
-autoscaling:
- enabled: false
- minReplicas: 1
- maxReplicas: 5
- targetCPU: "60"
- targetMemory: ""
- behavior: {}
-
-
-## Number of old ReplicaSets to retain
-##
-revisionHistoryLimit: 10
-
-
-rbac:
- create: true
- ## Use an existing ClusterRole/Role (depending on rbac.namespaced false/true)
- # useExistingRole: name-of-some-(cluster)role
- pspEnabled: true
- pspUseAppArmor: true
- namespaced: false
- extraRoleRules: []
- # - apiGroups: []
- # resources: []
- # verbs: []
- extraClusterRoleRules: []
- # - apiGroups: []
- # resources: []
- # verbs: []
-
-
-serviceAccount:
- create: true
- name:
- nameTest:
- ## ServiceAccount labels.
- labels: {}
- ## Service account annotations. Can be templated.
- # annotations:
- # eks.amazonaws.com/role-arn: arn:aws:iam::123456789000:role/iam-role-name-here
- autoMount: true
-
-
-## Create a headless service for the deployment
-headlessService: false
-
-
-# Administrator credentials when not using an existing secret (see below)
-adminUser: admin
-# adminPassword: strongpassword
-
-# Use an existing secret for the admin user.
-admin:
- ## Name of the secret. Can be templated.
- existingSecret: ""
- userKey: admin-user
- passwordKey: admin-password
-
-## Define command to be executed at startup by grafana container
-## Needed if using `vault-env` to manage secrets (ref: https://banzaicloud.com/blog/inject-secrets-into-pods-vault/)
-## Default is "run.sh" as defined in grafana's Dockerfile
-# command:
-# - "sh"
-# - "/run.sh"
-
-## Extra environment variables that will be pass onto deployment pods
-##
-## to provide grafana with access to CloudWatch on AWS EKS:
-## 1. create an iam role of type "Web identity" with provider oidc.eks.* (note the provider for later)
-## 2. edit the "Trust relationships" of the role, add a line inside the StringEquals clause using the
-## same oidc eks provider as noted before (same as the existing line)
-## also, replace NAMESPACE and prometheus-operator-grafana with the service account namespace and name
-##
-## "oidc.eks.us-east-1.amazonaws.com/id/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:sub": "system:serviceaccount:NAMESPACE:prometheus-operator-grafana",
-##
-## 3. attach a policy to the role, you can use a built in policy called CloudWatchReadOnlyAccess
-## 4. use the following env: (replace 123456789000 and iam-role-name-here with your aws account number and role name)
-##
-## env:
-## AWS_ROLE_ARN: arn:aws:iam::123456789000:role/iam-role-name-here
-## AWS_WEB_IDENTITY_TOKEN_FILE: /var/run/secrets/eks.amazonaws.com/serviceaccount/token
-## AWS_REGION: us-east-1
-##
-## 5. uncomment the EKS section in extraSecretMounts: below
-## 6. uncomment the annotation section in the serviceAccount: above
-## make sure to replace arn:aws:iam::123456789000:role/iam-role-name-here with your role arn
-
-env: {}
-
-## "valueFrom" environment variable references that will be added to deployment pods. Name is templated.
-## ref: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#envvarsource-v1-core
-## Renders in container spec as:
-## env:
-## ...
-## - name: <key>
-## valueFrom:
-## <value rendered as YAML>
-envValueFrom: {}
- # ENV_NAME:
- # configMapKeyRef:
- # name: configmap-name
-# key: value_key
-
-## The name of a secret in the same kubernetes namespace which contain values to be added to the environment
-## This can be useful for auth tokens, etc. Value is templated.
-envFromSecret: ""
-
-## Sensible environment variables that will be rendered as new secret object
-## This can be useful for auth tokens, etc
-envRenderSecret: {}
-
-## The names of secrets in the same kubernetes namespace which contain values to be added to the environment
-## Each entry should contain a name key, and can optionally specify whether the secret must be defined with an optional key.
-## Name is templated.
-envFromSecrets: []
-## - name: secret-name
-## optional: true
-
-## The names of conifgmaps in the same kubernetes namespace which contain values to be added to the environment
-## Each entry should contain a name key, and can optionally specify whether the configmap must be defined with an optional key.
-## Name is templated.
-## ref: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#configmapenvsource-v1-core
-envFromConfigMaps: []
-## - name: configmap-name
-## optional: true
-
-# Inject Kubernetes services as environment variables.
-# See https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/#environment-variables
-enableServiceLinks: true
-
-## Additional grafana server secret mounts
-# Defines additional mounts with secrets. Secrets must be manually created in the namespace.
-extraSecretMounts: []
- # - name: secret-files
- # mountPath: /etc/secrets
- # secretName: grafana-secret-files
- # readOnly: true
- # subPath: ""
- #
- # for AWS EKS (cloudwatch) use the following (see also instruction in env: above)
- # - name: aws-iam-token
- # mountPath: /var/run/secrets/eks.amazonaws.com/serviceaccount
- # readOnly: true
- # projected:
- # defaultMode: 420
- # sources:
- # - serviceAccountToken:
- # audience: sts.amazonaws.com
- # expirationSeconds: 86400
- # path: token
- #
- # for CSI e.g. Azure Key Vault use the following
- # - name: secrets-store-inline
- # mountPath: /run/secrets
- # readOnly: true
- # csi:
- # driver: secrets-store.csi.k8s.io
- # readOnly: true
- # volumeAttributes:
- # secretProviderClass: "akv-grafana-spc"
- # nodePublishSecretRef: # Only required when using service principal mode
-# name: grafana-akv-creds # Only required when using service principal mode
-
-## Additional grafana server volume mounts
-# Defines additional volume mounts.
-extraVolumeMounts: []
- # - name: extra-volume-0
- # mountPath: /mnt/volume0
- # readOnly: true
- # existingClaim: volume-claim
- # - name: extra-volume-1
- # mountPath: /mnt/volume1
- # readOnly: true
- # hostPath: /usr/shared/
- # - name: grafana-secrets
- # csi: true
- # data:
- # driver: secrets-store.csi.k8s.io
- # readOnly: true
- # volumeAttributes:
-# secretProviderClass: "grafana-env-spc"
-
-## Container Lifecycle Hooks. Execute a specific bash command or make an HTTP request
-lifecycleHooks: {}
- # postStart:
- # exec:
-# command: []
-
-## Pass the plugins you want installed as a list.
-##
-plugins: []
- # - digrich-bubblechart-panel
-# - grafana-clock-panel
-
-initChownData:
- ## If false, data ownership will not be reset at startup
- ## This allows the grafana-server to be run with an arbitrary user
- ##
- enabled: true
-
-
- ## initChownData container image
- ##
- image:
- repository: busybox
- tag: "1.31.1"
- sha: ""
- pullPolicy: IfNotPresent
-
- ## initChownData resource requests and limits
- ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
- ##
- resources: {}
- # limits:
- # cpu: 100m
- # memory: 128Mi
- # requests:
- # cpu: 100m
- # memory: 128Mi
- securityContext:
- runAsNonRoot: false
- runAsUser: 0
-
-
-# Administrator credentials when not using an existing secret (see below)
-adminUser: admin
-# adminPassword: strongpassword
-
-
-## Configure grafana datasources
-## ref: http://docs.grafana.org/administration/provisioning/#datasources
-##
-datasources: {}
-# datasources.yaml:
-# apiVersion: 1
-# datasources:
-# - name: Prometheus
-# type: prometheus
-# url: http://prometheus-prometheus-server
-# access: proxy
-# isDefault: true
-# - name: CloudWatch
-# type: cloudwatch
-# access: proxy
-# uid: cloudwatch
-# editable: false
-# jsonData:
-# authType: default
-# defaultRegion: us-east-1
-
-## Configure grafana alerting (can be templated)
-## ref: http://docs.grafana.org/administration/provisioning/#alerting
-##
-alerting: {}
- # rules.yaml:
- # apiVersion: 1
- # groups:
- # - orgId: 1
- # name: '{{ .Chart.Name }}_my_rule_group'
- # folder: my_first_folder
- # interval: 60s
- # rules:
- # - uid: my_id_1
- # title: my_first_rule
- # condition: A
- # data:
- # - refId: A
- # datasourceUid: '-100'
- # model:
- # conditions:
- # - evaluator:
- # params:
- # - 3
- # type: gt
- # operator:
- # type: and
- # query:
- # params:
- # - A
- # reducer:
- # type: last
- # type: query
- # datasource:
- # type: __expr__
- # uid: '-100'
- # expression: 1==0
- # intervalMs: 1000
- # maxDataPoints: 43200
- # refId: A
- # type: math
- # dashboardUid: my_dashboard
- # panelId: 123
- # noDataState: Alerting
- # for: 60s
- # annotations:
- # some_key: some_value
- # labels:
- # team: sre_team_1
- # contactpoints.yaml:
- # apiVersion: 1
- # contactPoints:
- # - orgId: 1
- # name: cp_1
- # receivers:
- # - uid: first_uid
- # type: pagerduty
- # settings:
- # integrationKey: XXX
- # severity: critical
- # class: ping failure
- # component: Grafana
- # group: app-stack
- # summary: |
-# {{ `{{ include "default.message" . }}` }}
-
-## Configure notifiers
-## ref: http://docs.grafana.org/administration/provisioning/#alert-notification-channels
-##
-notifiers: {}
-# notifiers.yaml:
-# notifiers:
-# - name: email-notifier
-# type: email
-# uid: email1
-# # either:
-# org_id: 1
-# # or
-# org_name: Main Org.
-# is_default: true
-# settings:
-# addresses: an_email_address@example.com
-# delete_notifiers:
-
-## Configure grafana dashboard providers
-## ref: http://docs.grafana.org/administration/provisioning/#dashboards
-##
-## `path` must be /var/lib/grafana/dashboards/<provider_name>
-##
-dashboardProviders: {}
-# dashboardproviders.yaml:
-# apiVersion: 1
-# providers:
-# - name: 'default'
-# orgId: 1
-# folder: ''
-# type: file
-# disableDeletion: false
-# editable: true
-# options:
-# path: /var/lib/grafana/dashboards/default
-
-## Configure grafana dashboard to import
-## NOTE: To use dashboards you must also enable/configure dashboardProviders
-## ref: https://grafana.com/dashboards
-##
-## dashboards per provider, use provider name as key.
-##
-dashboards: {}
- # default:
- # some-dashboard:
- # json: |
- # $RAW_JSON
- # custom-dashboard:
- # file: dashboards/custom-dashboard.json
- # prometheus-stats:
- # gnetId: 2
- # revision: 2
- # datasource: Prometheus
- # local-dashboard:
- # url: https://example.com/repository/test.json
- # token: ''
- # local-dashboard-base64:
- # url: https://example.com/repository/test-b64.json
- # token: ''
- # b64content: true
- # local-dashboard-gitlab:
- # url: https://example.com/repository/test-gitlab.json
- # gitlabToken: ''
- # local-dashboard-bitbucket:
- # url: https://example.com/repository/test-bitbucket.json
-# bearerToken: ''
-
-## Reference to external ConfigMap per provider. Use provider name as key and ConfigMap name as value.
-## A provider dashboards must be defined either by external ConfigMaps or in values.yaml, not in both.
-## ConfigMap data example:
-##
-## data:
-## example-dashboard.json: |
-## RAW_JSON
-##
-dashboardsConfigMaps: {}
-# default: ""
-
-## Grafana's primary configuration
-## NOTE: values in map will be converted to ini format
-## ref: http://docs.grafana.org/installation/configuration/
-##
-grafana.ini:
- paths:
- data: /var/lib/grafana/
- logs: /var/log/grafana
- plugins: /var/lib/grafana/plugins
- provisioning: /etc/grafana/provisioning
- analytics:
- check_for_updates: true
- log:
- mode: console
- grafana_net:
- url: https://grafana.net
- server:
- domain: "{{ if (and .Values.ingress.enabled .Values.ingress.hosts) }}{{ .Values.ingress.hosts | first }}{{ else }}''{{ end }}"
- ## grafana Authentication can be enabled with the following values on grafana.ini
- # server:
- # The full public facing url you use in browser, used for redirects and emails
- # root_url:
- # https://grafana.com/docs/grafana/latest/auth/github/#enable-github-in-grafana
- # auth.github:
- # enabled: false
- # allow_sign_up: false
- # scopes: user:email,read:org
- # auth_url: https://github.com/login/oauth/authorize
- # token_url: https://github.com/login/oauth/access_token
- # api_url: https://api.github.com/user
- # team_ids:
- # allowed_organizations:
- # client_id:
- # client_secret:
- ## LDAP Authentication can be enabled with the following values on grafana.ini
- ## NOTE: Grafana will fail to start if the value for ldap.toml is invalid
- # auth.ldap:
- # enabled: true
- # allow_sign_up: true
- # config_file: /etc/grafana/ldap.toml
-
-## Grafana's LDAP configuration
-## Templated by the template in _helpers.tpl
-## NOTE: To enable the grafana.ini must be configured with auth.ldap.enabled
-## ref: http://docs.grafana.org/installation/configuration/#auth-ldap
-## ref: http://docs.grafana.org/installation/ldap/#configuration
-ldap:
- enabled: false
- # `existingSecret` is a reference to an existing secret containing the ldap configuration
- # for Grafana in a key `ldap-toml`.
- existingSecret: ""
- # `config` is the content of `ldap.toml` that will be stored in the created secret
- config: ""
- # config: |-
- # verbose_logging = true
-
- # [[servers]]
- # host = "my-ldap-server"
- # port = 636
- # use_ssl = true
- # start_tls = false
- # ssl_skip_verify = false
- # bind_dn = "uid=%s,ou=users,dc=myorg,dc=com"
-
-## Grafana's SMTP configuration
-## NOTE: To enable, grafana.ini must be configured with smtp.enabled
-## ref: http://docs.grafana.org/installation/configuration/#smtp
-smtp:
- # `existingSecret` is a reference to an existing secret containing the smtp configuration
- # for Grafana.
- existingSecret: ""
- userKey: "user"
- passwordKey: "password"
-
-## Sidecars that collect the configmaps with specified label and stores the included files them into the respective folders
-## Requires at least Grafana 5 to work and can't be used together with parameters dashboardProviders, datasources and dashboards
-sidecar:
- image:
- repository: quay.io/kiwigrid/k8s-sidecar
- tag: 1.22.0
- sha: ""
- imagePullPolicy: IfNotPresent
- resources: {}
- # limits:
- # cpu: 100m
- # memory: 100Mi
- # requests:
- # cpu: 50m
- # memory: 50Mi
- securityContext: {}
- # skipTlsVerify Set to true to skip tls verification for kube api calls
- # skipTlsVerify: true
- enableUniqueFilenames: false
- readinessProbe: {}
- livenessProbe: {}
- # Log level default for all sidecars. Can be one of: DEBUG, INFO, WARN, ERROR, CRITICAL. Defaults to INFO
- # logLevel: INFO
- alerts:
- enabled: false
- # Additional environment variables for the alerts sidecar
- env: {}
- # Do not reprocess already processed unchanged resources on k8s API reconnect.
- # ignoreAlreadyProcessed: true
- # label that the configmaps with alert are marked with
- label: grafana_alert
- # value of label that the configmaps with alert are set to
- labelValue: ""
- # Log level. Can be one of: DEBUG, INFO, WARN, ERROR, CRITICAL.
- # logLevel: INFO
- # If specified, the sidecar will search for alert config-maps inside this namespace.
- # Otherwise the namespace in which the sidecar is running will be used.
- # It's also possible to specify ALL to search in all namespaces
- searchNamespace: null
- # Method to use to detect ConfigMap changes. With WATCH the sidecar will do a WATCH requests, with SLEEP it will list all ConfigMaps, then sleep for 60 seconds.
- watchMethod: WATCH
- # search in configmap, secret or both
- resource: both
- # watchServerTimeout: request to the server, asking it to cleanly close the connection after that.
- # defaults to 60sec; much higher values like 3600 seconds (1h) are feasible for non-Azure K8S
- # watchServerTimeout: 3600
- #
- # watchClientTimeout: is a client-side timeout, configuring your local socket.
- # If you have a network outage dropping all packets with no RST/FIN,
- # this is how long your client waits before realizing & dropping the connection.
- # defaults to 66sec (sic!)
- # watchClientTimeout: 60
- #
- # Endpoint to send request to reload alerts
- reloadURL: "http://localhost:3000/api/admin/provisioning/alerting/reload"
- # Absolute path to shell script to execute after a alert got reloaded
- script: null
- skipReload: false
- # Deploy the alert sidecar as an initContainer in addition to a container.
- # Sets the size limit of the alert sidecar emptyDir volume
- sizeLimit: {}
- dashboards:
- enabled: false
- # Additional environment variables for the dashboards sidecar
- env: {}
- # Do not reprocess already processed unchanged resources on k8s API reconnect.
- # ignoreAlreadyProcessed: true
- SCProvider: true
- # label that the configmaps with dashboards are marked with
- label: grafana_dashboard
- # value of label that the configmaps with dashboards are set to
- labelValue: ""
- # Log level. Can be one of: DEBUG, INFO, WARN, ERROR, CRITICAL.
- # logLevel: INFO
- # folder in the pod that should hold the collected dashboards (unless `defaultFolderName` is set)
- folder: /tmp/dashboards
- # The default folder name, it will create a subfolder under the `folder` and put dashboards in there instead
- defaultFolderName: null
- # Namespaces list. If specified, the sidecar will search for config-maps/secrets inside these namespaces.
- # Otherwise the namespace in which the sidecar is running will be used.
- # It's also possible to specify ALL to search in all namespaces.
- searchNamespace: null
- # Method to use to detect ConfigMap changes. With WATCH the sidecar will do a WATCH requests, with SLEEP it will list all ConfigMaps, then sleep for 60 seconds.
- watchMethod: WATCH
- # search in configmap, secret or both
- resource: both
- # If specified, the sidecar will look for annotation with this name to create folder and put graph here.
- # You can use this parameter together with `provider.foldersFromFilesStructure`to annotate configmaps and create folder structure.
- folderAnnotation: null
- # Endpoint to send request to reload alerts
- reloadURL: "http://localhost:3000/api/admin/provisioning/dashboards/reload"
- # Absolute path to shell script to execute after a configmap got reloaded
- script: null
- skipReload: false
- # watchServerTimeout: request to the server, asking it to cleanly close the connection after that.
- # defaults to 60sec; much higher values like 3600 seconds (1h) are feasible for non-Azure K8S
- # watchServerTimeout: 3600
- #
- # watchClientTimeout: is a client-side timeout, configuring your local socket.
- # If you have a network outage dropping all packets with no RST/FIN,
- # this is how long your client waits before realizing & dropping the connection.
- # defaults to 66sec (sic!)
- # watchClientTimeout: 60
- #
- # provider configuration that lets grafana manage the dashboards
- provider:
- # name of the provider, should be unique
- name: sidecarProvider
- # orgid as configured in grafana
- orgid: 1
- # folder in which the dashboards should be imported in grafana
- folder: ''
- # type of the provider
- type: file
- # disableDelete to activate a import-only behaviour
- disableDelete: false
- # allow updating provisioned dashboards from the UI
- allowUiUpdates: false
- # allow Grafana to replicate dashboard structure from filesystem
- foldersFromFilesStructure: false
- # Additional dashboard sidecar volume mounts
- extraMounts: []
- # Sets the size limit of the dashboard sidecar emptyDir volume
- sizeLimit: {}
- datasources:
- enabled: false
- # Additional environment variables for the datasourcessidecar
- env: {}
- # Do not reprocess already processed unchanged resources on k8s API reconnect.
- # ignoreAlreadyProcessed: true
- # label that the configmaps with datasources are marked with
- label: grafana_datasource
- # value of label that the configmaps with datasources are set to
- labelValue: ""
- # Log level. Can be one of: DEBUG, INFO, WARN, ERROR, CRITICAL.
- # logLevel: INFO
- # If specified, the sidecar will search for datasource config-maps inside this namespace.
- # Otherwise the namespace in which the sidecar is running will be used.
- # It's also possible to specify ALL to search in all namespaces
- searchNamespace: null
- # Method to use to detect ConfigMap changes. With WATCH the sidecar will do a WATCH requests, with SLEEP it will list all ConfigMaps, then sleep for 60 seconds.
- watchMethod: WATCH
- # search in configmap, secret or both
- resource: both
- # watchServerTimeout: request to the server, asking it to cleanly close the connection after that.
- # defaults to 60sec; much higher values like 3600 seconds (1h) are feasible for non-Azure K8S
- # watchServerTimeout: 3600
- #
- # watchClientTimeout: is a client-side timeout, configuring your local socket.
- # If you have a network outage dropping all packets with no RST/FIN,
- # this is how long your client waits before realizing & dropping the connection.
- # defaults to 66sec (sic!)
- # watchClientTimeout: 60
- #
- # Endpoint to send request to reload datasources
- reloadURL: "http://localhost:3000/api/admin/provisioning/datasources/reload"
- # Absolute path to shell script to execute after a datasource got reloaded
- script: null
- skipReload: false
- # Deploy the datasource sidecar as an initContainer in addition to a container.
- # This is needed if skipReload is true, to load any datasources defined at startup time.
- initDatasources: false
- # Sets the size limit of the datasource sidecar emptyDir volume
- sizeLimit: {}
- plugins:
- enabled: false
- # Additional environment variables for the plugins sidecar
- env: {}
- # Do not reprocess already processed unchanged resources on k8s API reconnect.
- # ignoreAlreadyProcessed: true
- # label that the configmaps with plugins are marked with
- label: grafana_plugin
- # value of label that the configmaps with plugins are set to
- labelValue: ""
- # Log level. Can be one of: DEBUG, INFO, WARN, ERROR, CRITICAL.
- # logLevel: INFO
- # If specified, the sidecar will search for plugin config-maps inside this namespace.
- # Otherwise the namespace in which the sidecar is running will be used.
- # It's also possible to specify ALL to search in all namespaces
- searchNamespace: null
- # Method to use to detect ConfigMap changes. With WATCH the sidecar will do a WATCH requests, with SLEEP it will list all ConfigMaps, then sleep for 60 seconds.
- watchMethod: WATCH
- # search in configmap, secret or both
- resource: both
- # watchServerTimeout: request to the server, asking it to cleanly close the connection after that.
- # defaults to 60sec; much higher values like 3600 seconds (1h) are feasible for non-Azure K8S
- # watchServerTimeout: 3600
- #
- # watchClientTimeout: is a client-side timeout, configuring your local socket.
- # If you have a network outage dropping all packets with no RST/FIN,
- # this is how long your client waits before realizing & dropping the connection.
- # defaults to 66sec (sic!)
- # watchClientTimeout: 60
- #
- # Endpoint to send request to reload plugins
- reloadURL: "http://localhost:3000/api/admin/provisioning/plugins/reload"
- # Absolute path to shell script to execute after a plugin got reloaded
- script: null
- skipReload: false
- # Deploy the datasource sidecar as an initContainer in addition to a container.
- # This is needed if skipReload is true, to load any plugins defined at startup time.
- initPlugins: false
- # Sets the size limit of the plugin sidecar emptyDir volume
- sizeLimit: {}
- notifiers:
- enabled: false
- # Additional environment variables for the notifierssidecar
- env: {}
- # Do not reprocess already processed unchanged resources on k8s API reconnect.
- # ignoreAlreadyProcessed: true
- # label that the configmaps with notifiers are marked with
- label: grafana_notifier
- # value of label that the configmaps with notifiers are set to
- labelValue: ""
- # Log level. Can be one of: DEBUG, INFO, WARN, ERROR, CRITICAL.
- # logLevel: INFO
- # If specified, the sidecar will search for notifier config-maps inside this namespace.
- # Otherwise the namespace in which the sidecar is running will be used.
- # It's also possible to specify ALL to search in all namespaces
- searchNamespace: null
- # Method to use to detect ConfigMap changes. With WATCH the sidecar will do a WATCH requests, with SLEEP it will list all ConfigMaps, then sleep for 60 seconds.
- watchMethod: WATCH
- # search in configmap, secret or both
- resource: both
- # watchServerTimeout: request to the server, asking it to cleanly close the connection after that.
- # defaults to 60sec; much higher values like 3600 seconds (1h) are feasible for non-Azure K8S
- # watchServerTimeout: 3600
- #
- # watchClientTimeout: is a client-side timeout, configuring your local socket.
- # If you have a network outage dropping all packets with no RST/FIN,
- # this is how long your client waits before realizing & dropping the connection.
- # defaults to 66sec (sic!)
- # watchClientTimeout: 60
- #
- # Endpoint to send request to reload notifiers
- reloadURL: "http://localhost:3000/api/admin/provisioning/notifications/reload"
- # Absolute path to shell script to execute after a notifier got reloaded
- script: null
- skipReload: false
- # Deploy the notifier sidecar as an initContainer in addition to a container.
- # This is needed if skipReload is true, to load any notifiers defined at startup time.
- initNotifiers: false
- # Sets the size limit of the notifier sidecar emptyDir volume
- sizeLimit: {}
-
-## Override the deployment namespace
-##
-namespaceOverride: ""
-
-
-## Add a seperate remote image renderer deployment/service
-imageRenderer:
- deploymentStrategy: {}
- # Enable the image-renderer deployment & service
- enabled: false
- replicas: 1
- autoscaling:
- enabled: false
- minReplicas: 1
- maxReplicas: 5
- targetCPU: "60"
- targetMemory: ""
- behavior: {}
- image:
- # image-renderer Image repository
- repository: grafana/grafana-image-renderer
- # image-renderer Image tag
- tag: latest
- # image-renderer Image sha (optional)
- sha: ""
- # image-renderer ImagePullPolicy
- pullPolicy: Always
- # extra environment variables
- env:
- HTTP_HOST: "0.0.0.0"
- # RENDERING_ARGS: --no-sandbox,--disable-gpu,--window-size=1280x758
- # RENDERING_MODE: clustered
- # IGNORE_HTTPS_ERRORS: true
- # image-renderer deployment serviceAccount
- serviceAccountName: ""
- # image-renderer deployment securityContext
- securityContext: {}
- # image-renderer deployment container securityContext
- containerSecurityContext:
- capabilities:
- drop: ['ALL']
- allowPrivilegeEscalation: false
- readOnlyRootFilesystem: true
- # image-renderer deployment Host Aliases
- hostAliases: []
- # image-renderer deployment priority class
- priorityClassName: ''
- service:
- # Enable the image-renderer service
- enabled: true
- # image-renderer service port name
- portName: 'http'
- # image-renderer service port used by both service and deployment
- port: 8081
- targetPort: 8081
- # Adds the appProtocol field to the image-renderer service. This allows to work with istio protocol selection. Ex: "http" or "tcp"
- appProtocol: ""
- serviceMonitor:
- ## If true, a ServiceMonitor CRD is created for a prometheus operator
- ## https://github.com/coreos/prometheus-operator
- ##
- enabled: false
- path: /metrics
- # namespace: monitoring (defaults to use the namespace this chart is deployed to)
- labels: {}
- interval: 1m
- scheme: http
- tlsConfig: {}
- scrapeTimeout: 30s
- relabelings: []
- # See: https://doc.crds.dev/github.com/prometheus-operator/kube-prometheus/monitoring.coreos.com/ServiceMonitor/v1@v0.11.0#spec-targetLabels
- targetLabels: []
- # - targetLabel1
- # - targetLabel2
- # If https is enabled in Grafana, this needs to be set as 'https' to correctly configure the callback used in Grafana
- grafanaProtocol: http
- # In case a sub_path is used this needs to be added to the image renderer callback
- grafanaSubPath: ""
- # name of the image-renderer port on the pod
- podPortName: http
- # number of image-renderer replica sets to keep
- revisionHistoryLimit: 10
- networkPolicy:
- # Enable a NetworkPolicy to limit inbound traffic to only the created grafana pods
- limitIngress: true
- # Enable a NetworkPolicy to limit outbound traffic to only the created grafana pods
- limitEgress: false
- # Allow additional services to access image-renderer (eg. Prometheus operator when ServiceMonitor is enabled)
- extraIngressSelectors: []
- resources: {}
- # limits:
- # cpu: 100m
- # memory: 100Mi
- # requests:
- # cpu: 50m
- # memory: 50Mi
- ## Node labels for pod assignment
- ## ref: https://kubernetes.io/docs/user-guide/node-selection/
- #
- nodeSelector: {}
-
- ## Tolerations for pod assignment
- ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
- ##
- tolerations: []
-
- ## Affinity for pod assignment (evaluated as template)
- ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
- ##
- affinity: {}
-
- ## Use an alternate scheduler, e.g. "stork".
- ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
- ##
- # schedulerName: "default-scheduler"
-
-
-# Enable backward compatibility of kubernetes where version below 1.13 doesn't have the enableServiceLinks option
-enableKubeBackwardCompatibility: false
-useStatefulSet: false
-# Create a dynamic manifests via values:
-extraObjects: []
- # - apiVersion: "kubernetes-client.io/v1"
- # kind: ExternalSecret
- # metadata:
- # name: grafana-secrets
- # spec:
- # backendType: gcpSecretsManager
- # data:
- # - key: grafana-admin-password
- # name: adminPassword
-
-
-ingress:
- enabled: false
- # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
- # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
- # ingressClassName: nginx
- # Values can be templated
- annotations: {}
- # kubernetes.io/ingress.class: nginx
- # kubernetes.io/tls-acme: "true"
- labels: {}
- path: /
-
- # pathType is only for k8s >= 1.1=
- pathType: Prefix
-
- hosts:
- - chart-example.local
- ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services.
- extraPaths: []
- # - path: /*
- # backend:
- # serviceName: ssl-redirect
- # servicePort: use-annotation
- ## Or for k8s > 1.19
- # - path: /*
- # pathType: Prefix
- # backend:
- # service:
- # name: ssl-redirect
- # port:
- # name: use-annotation
-
-
- tls: []
- # - secretName: chart-example-tls
- # hosts:
- # - chart-example.local
-
-
-networkPolicy:
- ## @param networkPolicy.enabled Enable creation of NetworkPolicy resources. Only Ingress traffic is filtered for now.
- ##
- enabled: false
- ## @param networkPolicy.allowExternal Don't require client label for connections
- ## The Policy model to apply. When set to false, only pods with the correct
- ## client label will have network access to grafana port defined.
- ## When true, grafana will accept connections from any source
- ## (with the correct destination port).
- ##
- ingress: true
- ## @param networkPolicy.ingress When true enables the creation
- ## an ingress network policy
- ##
- allowExternal: true
- ## @param networkPolicy.explicitNamespacesSelector A Kubernetes LabelSelector to explicitly select namespaces from which traffic could be allowed
- ## If explicitNamespacesSelector is missing or set to {}, only client Pods that are in the networkPolicy's namespace
- ## and that match other criteria, the ones that have the good label, can reach the grafana.
- ## But sometimes, we want the grafana to be accessible to clients from other namespaces, in this case, we can use this
- ## LabelSelector to select these namespaces, note that the networkPolicy's namespace should also be explicitly added.
- ##
- ## Example:
- ## explicitNamespacesSelector:
- ## matchLabels:
- ## role: frontend
- ## matchExpressions:
- ## - {key: role, operator: In, values: [frontend]}
- ##
- explicitNamespacesSelector: {}
- ##
- ##
- ##
- ##
- ##
- ##
- egress:
- ## @param networkPolicy.egress.enabled When enabled, an egress network policy will be
- ## created allowing grafana to connect to external data sources from kubernetes cluster.
- enabled: false
- ##
- ## @param networkPolicy.egress.ports Add individual ports to be allowed by the egress
- ports: []
- ## Add ports to the egress by specifying - port: <port number>
- ## E.X.
- ## ports:
- ## - port: 80
- ## - port: 443
- ##
- ##
- ##
- ##
- ##
- ##
diff --git a/charts/admin-stack/charts/nacos/.helmignore b/charts/admin-stack/charts/nacos/.helmignore
deleted file mode 100644
index 50af031..0000000
--- a/charts/admin-stack/charts/nacos/.helmignore
+++ /dev/null
@@ -1,22 +0,0 @@
-# Patterns to ignore when building packages.
-# This supports shell glob matching, relative path matching, and
-# negation (prefixed with !). Only one pattern per line.
-.DS_Store
-# Common VCS dirs
-.git/
-.gitignore
-.bzr/
-.bzrignore
-.hg/
-.hgignore
-.svn/
-# Common backup files
-*.swp
-*.bak
-*.tmp
-*~
-# Various IDEs
-.project
-.idea/
-*.tmproj
-.vscode/
diff --git a/charts/admin-stack/charts/nacos/Chart.yaml b/charts/admin-stack/charts/nacos/Chart.yaml
deleted file mode 100644
index 54abb3f..0000000
--- a/charts/admin-stack/charts/nacos/Chart.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-apiVersion: v2
-appVersion: "1.0"
-name: nacos
-description: an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.
-home: https://nacos.io
-kubeVersion: '>=1.20.0-0'
-maintainers:
- - email: dev@dubbo.apache.org
- name: dubbo
-sources:
- - https://github.com/alibaba/nacos
-type: application
-version: 0.1.5
diff --git a/charts/admin-stack/charts/nacos/templates/NOTES.txt b/charts/admin-stack/charts/nacos/templates/NOTES.txt
deleted file mode 100644
index e69de29..0000000
--- a/charts/admin-stack/charts/nacos/templates/NOTES.txt
+++ /dev/null
diff --git a/charts/admin-stack/charts/nacos/templates/_helpers.tpl b/charts/admin-stack/charts/nacos/templates/_helpers.tpl
deleted file mode 100644
index fd703f0..0000000
--- a/charts/admin-stack/charts/nacos/templates/_helpers.tpl
+++ /dev/null
@@ -1,61 +0,0 @@
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "nacos.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Expand the name of the chart.
-*/}}
-{{- define "nacos.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "nacos.fullname" -}}
-{{- if .Values.fullnameOverride -}}
-{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- $name := default .Chart.Name .Values.nameOverride -}}
-{{- if contains $name .Release.Name -}}
-{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-{{- end -}}
-
-
-{{/*
-Nacos Namespace to use
-*/}}
-{{- define "nacos.namespace" -}}
-{{- if .Values.namespaceOverride -}}
- {{- .Values.namespaceOverride -}}
-{{- else -}}
- {{- .Release.Namespace -}}
-{{- end -}}
-{{- end -}}
-
-{{- define "nacos.labels" -}}
-app.kubernetes.io/name: {{ include "nacos.name" . }}
-helm.sh/chart: {{ include "nacos.chart" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end -}}
-
-
-{{/*
-Labels to use on sts.spec.selector.matchLabels and svc.spec.selector
-*/}}
-{{- define "nacos.matchLabels" -}}
-app.kubernetes.io/name: {{ include "nacos.name" . }}
-{{- end -}}
\ No newline at end of file
diff --git a/charts/admin-stack/charts/nacos/templates/configmap.yaml b/charts/admin-stack/charts/nacos/templates/configmap.yaml
deleted file mode 100644
index f2243bf..0000000
--- a/charts/admin-stack/charts/nacos/templates/configmap.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-{{- if .Values.enabled }}
-{{- if eq .Values.storage.type "mysql"}}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: {{ template "nacos.fullname" . }}-configmap
- namespace: {{ template "nacos.namespace" . }}
-data:
- {{- with .Values.storage.db }}
- mysql.db.host: {{ .host }}
- mysql.db.name: {{ .name }}
- mysql.port: "{{ .port | default 3306 }}"
- mysql.user: {{ .username }}
- mysql.password: {{ .password }}
- mysql.param: {{ .param | default "characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false" }}
- {{- end }}
- {{- end }}
- {{- end }}
\ No newline at end of file
diff --git a/charts/admin-stack/charts/nacos/templates/networkpolicy.yaml b/charts/admin-stack/charts/nacos/templates/networkpolicy.yaml
deleted file mode 100644
index 195b068..0000000
--- a/charts/admin-stack/charts/nacos/templates/networkpolicy.yaml
+++ /dev/null
@@ -1,27 +0,0 @@
-{{- if .Values.networkPolicy.enabled }}
-kind: NetworkPolicy
-apiVersion: networking.k8s.io/v1 {{ include "nacos.networkPolicy.apiVersion" . }}
-metadata:
- name: {{ include "nacos.fullname" . }}
- namespace: {{ template "nacos.namespace" . }}
- labels: {{- include "nacos.labels" . | nindent 4 }}
-spec:
- podSelector:
- matchLabels: {{- include "nacos.matchLabels" . | nindent 6 }}
- policyTypes:
- - Ingress
- ingress:
- - ports:
- - port: {{ .Values.service.port }}
- from:
- - podSelector:
- matchLabels:
- {{ include "nacos.fullname" . }}-client: "true"
- - podSelector:
- matchLabels: {{- include "nacos.matchLabels" . | nindent 14 }}
- - ports:
- - port: {{ .Values.service.port }}
- from:
- - podSelector:
- matchLabels: {{- include "nacos.matchLabels" . | nindent 14 }}
- {{- end }}
\ No newline at end of file
diff --git a/charts/admin-stack/charts/nacos/templates/pdb.yaml b/charts/admin-stack/charts/nacos/templates/pdb.yaml
deleted file mode 100644
index 869906b..0000000
--- a/charts/admin-stack/charts/nacos/templates/pdb.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-{{- $replica := int .Values.replicas }}
-{{- if and .Values.podDisruptionBudget.enabled (gt $replica 1) }}
-apiVersion: {{ include "nacos.policy.apiVersion" . }}
-kind: PodDisruptionBudget
-metadata:
- name: {{ template "nacos.fullname" . }}
- namespace: {{ template "nacos.namespace" . }}
- labels: {{- include "nacos.labels" . | nindent 4 }}
-spec:
- {{- if .Values.podDisruptionBudget.minAvailable }}
- minAvailable: {{ .Values.podDisruptionBudget.minAvailable }}
- {{- end }}
- {{- if .Values.podDisruptionBudget.maxUnavailable }}
- maxUnavailable: {{ .Values.podDisruptionBudget.maxUnavailable }}
- {{- end }}
- selector:
- matchLabels: {{- include "nacos.matchLabels" . | nindent 6 }}
-{{- end }}
diff --git a/charts/admin-stack/charts/nacos/templates/statefulset.yaml b/charts/admin-stack/charts/nacos/templates/statefulset.yaml
deleted file mode 100644
index 563fc2e..0000000
--- a/charts/admin-stack/charts/nacos/templates/statefulset.yaml
+++ /dev/null
@@ -1,167 +0,0 @@
-{{- if .Values.enabled }}
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
- name: {{ template "nacos.fullname" . }}
- namespace: {{ template "nacos.namespace" . }}
-spec:
- replicas: {{ .Values.replicas }}
- {{- if eq .Values.global.mode "cluster" }}
- serviceName: nacos-headless
- {{- else }}
- serviceName: nacos
- {{- end }}
- selector:
- matchLabels: {{- include "nacos.matchLabels" . | nindent 6 }}
- template:
- metadata:
- labels:
- app.kubernetes.io/name: nacos
- spec:
- {{- with .Values.nodeSelector }}
- nodeSelector:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.affinity }}
- affinity:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.tolerations }}
- tolerations:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- if and (eq .Values.global.mode "cluster") (.Values.plugin.enable) }}
- initContainers:
- - name: peer-finder-plugin-install
- image: {{.Values.plugin.image.repository }}:{{.Values.plugin.image.tag }}
- imagePullPolicy: {{ .Values.plugin.image.pullPolicy }}
- volumeMounts:
- - mountPath: /home/nacos/plugins/peer-finder
- name: data
- subPath: peer-finder
- {{- end }}
- containers:
- - name: nacos
- image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
- imagePullPolicy: {{ .Values.image.pullPolicy }}
- startupProbe:
- initialDelaySeconds: 180
- periodSeconds: 5
- timeoutSeconds: 10
- httpGet:
- scheme: HTTP
- port: {{ .Values.nacos.service.port }}
- path: /nacos/v1/console/health/readiness
- livenessProbe:
- initialDelaySeconds: 10
- periodSeconds: 5
- timeoutSeconds: 10
- httpGet:
- scheme: HTTP
- port: {{ .Values.service.port }}
- path: /nacos/v1/console/health/liveness
- ports:
- - name: http
- containerPort: {{ .Values.service.port }}
- protocol: TCP
- - containerPort: {{ add .Values.service.port 1000 }}
- name: client-rpc
- - containerPort: {{ add .Values.service.port 1001 }}
- name: raft-rpc
- - containerPort: 7848
- name: old-raft-rpc
- resources:
- {{- toYaml .Values.resources | nindent 12 }}
- env:
- - name: NACOS_SERVER_PORT
- value: {{ .Values.service.port | quote }}
- - name: NACOS_APPLICATION_PORT
- value: {{ .Values.service.port | quote }}
- - name: PREFER_HOST_MODE
- value: {{ .Values.service.port | quote }}
- {{- if eq .Values.nacos.mode "standalone" }}
- - name: MODE
- value: "standalone"
-
- {{- else if eq .Values.global.mode "cluster" }}
- - name: SERVICE_NAME
- value: "nacos-hs"
- - name: DOMAIN_NAME
- value: {{ .Values.nacos.domainName | quote }}
- - name: POD_NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- {{- end }}
- {{- if eq .Values.storage.type "mysql" }}
- - name: SPRING_DATASOURCE_PLATFORM
- value: "mysql"
- - name: MYSQL_SERVICE_HOST
- valueFrom:
- configMapKeyRef:
- name: nacos-cm
- key: mysql.db.host
- - name: MYSQL_SERVICE_DB_NAME
- valueFrom:
- configMapKeyRef:
- name: nacos-cm
- key: mysql.db.name
- - name: MYSQL_SERVICE_PORT
- valueFrom:
- configMapKeyRef:
- name: nacos-cm
- key: mysql.port
- - name: MYSQL_SERVICE_USER
- valueFrom:
- configMapKeyRef:
- name: nacos-cm
- key: mysql.user
- - name: MYSQL_SERVICE_PASSWORD
- valueFrom:
- configMapKeyRef:
- name: nacos-cm
- key: mysql.password
- - name: MYSQL_SERVICE_DB_PARAM
- valueFrom:
- configMapKeyRef:
- name: nacos-cm
- key: mysql.param
- {{- else }}
- - name: EMBEDDED_STORAGE
- value: embedded
- {{- end }}
- volumeMounts:
- - name: data
- mountPath: /home/nacos/plugins/peer-finder
- subPath: peer-finder
- - name: data
- mountPath: /home/nacos/data
- subPath: data
- - name: data
- mountPath: /home/nacos/logs
- subPath: logs
- {{- if not .Values.persistence.enabled }}
- volumes:
- - name: data
- emptyDir: {}
- {{- end }}
- {{- if .Values.persistence.enabled }}
- volumeClaimTemplates:
- - metadata:
- name: data
- spec:
- accessModes:
- {{- range .Values.persistence.accessModes }}
- - {{ . | quote }}
- {{- end }}
- resources:
- requests:
- storage: {{ .Values.persistence.size }}
- {{ if .Values.persistence.ClaimName }}
- claimName: {{ .Values.persistence.ClaimName }}
- {{- else -}}
- emptyDir: {{ .Values.persistence.emptyDir }}
- {{- end }}
- {{- end }}
- {{- end }}
\ No newline at end of file
diff --git a/charts/admin-stack/charts/nacos/templates/svc-headless.yaml b/charts/admin-stack/charts/nacos/templates/svc-headless.yaml
deleted file mode 100644
index 4ac1bff..0000000
--- a/charts/admin-stack/charts/nacos/templates/svc-headless.yaml
+++ /dev/null
@@ -1,28 +0,0 @@
-{{- if .Values.enabled }}
-{{- if and (eq .Values.global.mode "cluster") }}
-apiVersion: v1
-kind: Service
-metadata:
- name: {{ template "nacos.name" . }}-headless
- namespace: {{ template "nacos.namespace" }}
- labels: {{- include "nacos.labels" . | nindent 4 }}
-spec:
- clusterIP: None
- ports:
- - port: {{ .Values.service.port }}
- targetPort: {{ .Values.service.port }}
- protocol: TCP
- name: http
- - port: {{ add .Values.service.port 1000 }}
- name: client-rpc
- targetPort: {{ add .Values.service.port 1000 }}
- - port: {{ add .Values.service.port 1001 }}
- name: raft-rpc
- targetPort: {{ add .Values.service.port 1001 }}
- - port: 7848
- name: old-raft-rpc
- targetPort: 7848
- protocol: TCP
- selector: {{- include "nacos.matchLabels" . | nindent 4 }}
- {{- end }}
- {{- end }}
\ No newline at end of file
diff --git a/charts/admin-stack/charts/nacos/templates/svc.yaml b/charts/admin-stack/charts/nacos/templates/svc.yaml
deleted file mode 100644
index bbcbb55..0000000
--- a/charts/admin-stack/charts/nacos/templates/svc.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
-{{- if .Values.enabled }}
-apiVersion: v1
-kind: Service
-metadata:
- name: {{ template "nacos.name" . }}
- namespace: {{ template "nacos.namespace" . }}
- labels: {{- include "nacos.labels" . | nindent 4 }}
-spec:
- type: {{ .Values.service.type }}
- ports:
- - port: {{ .Values.service.port }}
- targetPort: {{ .Values.service.port }}
- protocol: TCP
- name: http
- - port: {{ add .Values.service.port 1000 }}
- name: client-rpc
- targetPort: {{add .Values.service.port 1000 }}
- - port: {{add .Values.service.port 1001 }}
- name: raft-rpc
- targetPort: {{add .Values.service.port 1001 }}
- - port: 7848
- name: old-raft-rpc
- targetPort: 7848
- protocol: TCP
- {{- if eq .Values.service.type "NodePort" }}
- nodePort: {{ .Values.service.nodePort }}
- {{- end }}
- selector: {{- include "nacos.matchLabels" . | nindent 4 }}
- {{- end }}
\ No newline at end of file
diff --git a/charts/admin-stack/charts/nacos/values.yaml b/charts/admin-stack/charts/nacos/values.yaml
deleted file mode 100644
index 8bd3e6d..0000000
--- a/charts/admin-stack/charts/nacos/values.yaml
+++ /dev/null
@@ -1,162 +0,0 @@
-global:
- mode: standalone
- # mode: cluster
-
-
-image:
- registry: docker.io
- ## e.g registry.k8s.io
- repository: nacos/nacos-server
- tag: latest
- pullPolicy: IfNotPresent
-
-
-plugin:
- enable: true
- image:
- repository: nacos/nacos-peer-finder-plugin
- tag: 1.1
- pullPolicy: IfNotPresent
-
-
-replicas: 1
-
-
-domainName: cluster.local
-
-
-storage:
- type: ""
-# type: mysql
-# db:
-# host: localhost
-# name: nacos
-# port: 3306
-# username: usernmae
-# password: password
-# param: characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false
-
-
-service:
- name: http
- ##
- ## Service name.
- ##
- type: NodePort
- ##
- ## Service type.
- ##
- port: 8848
- ##
- ## Service port.
- ##
- nodePort: 30000
- ##
- ## Service nodePort.
- ##
- clusterIP: ""
- ##
- ## Service clusterIP.
- ##
- loadBalancerIP: ""
- ##
- ## Service loadBalancerIP.
- ##
- loadBalancerSourceRanges: ""
- ##
- ## Service loadBalancerSourceRanges.
- ##
- externalIPs: ""
- ##
- ## Service externalIPs.
-
-
-persistence:
- enabled: false
- accessModes:
- - ReadWriteOnce
- storageClassName: ""
- size: 5Gi
- ClaimName: {}
- ## persistence emptyDir
- emptyDir: {}
-
-
-## See `kubectl explain poddisruptionbudget.spec` for more
-## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
-podDisruptionBudget:
- enabled: false
- minAvailable: 1
- # maxUnavailable: 1
-
-
-ingress:
- enabled: false
- # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
- # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
- # ingressClassName: nginx
- # Values can be templated
- annotations: {}
- # kubernetes.io/ingress.class: nginx
- # kubernetes.io/tls-acme: "true"
- labels: {}
- path: /
- ##
- ##
- # pathType is only for k8s >= 1.1=
- pathType: Prefix
- ##
- ##
- hosts:
- - chart-example.local
- ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services.
- extraPaths: []
- # - path: /*
- # backend:
- # serviceName: ssl-redirect
- # servicePort: use-annotation
- ## Or for k8s > 1.19
- # - path: /*
- # pathType: Prefix
- # backend:
- # service:
- # name: ssl-redirect
- # port:
- # name: use-annotation
- ##
- ##
- tls: []
- # - secretName: chart-example-tls
- # hosts:
- # - chart-example.local
-
-
-networkPolicy:
- ## @param networkPolicy.enabled Enable creation of NetworkPolicy resources. Only Ingress traffic is filtered for now.
- ##
- enabled: false
- ## @param networkPolicy.allowExternal Don't require client label for connections
- ## The Policy model to apply. When set to false, only pods with the correct
- ## client label will have network access to dubbo-admin port defined.
- ## When true, dubbo-admin will accept connections from any source
- ## (with the correct destination port).
- ##
- ingress: true
- ## @param networkPolicy.ingress When true enables the creation
- ## an ingress network policy
- ##
- ##
- ##
- ##
- egress:
- ## @param networkPolicy.egress.enabled When enabled, an egress network policy will be
- ## created allowing dubbo-admin to connect to external data sources from kubernetes cluster.
- enabled: false
- ##
- ## @param networkPolicy.egress.ports Add individual ports to be allowed by the egress
- ports: []
- ## Add ports to the egress by specifying - port: <port number>
- ## E.X.
- ## ports:
- ## - port: 80
- ## - port: 443
\ No newline at end of file
diff --git a/charts/admin-stack/charts/zookeeper/.helmignore b/charts/admin-stack/charts/zookeeper/.helmignore
deleted file mode 100644
index 0e8a0eb..0000000
--- a/charts/admin-stack/charts/zookeeper/.helmignore
+++ /dev/null
@@ -1,23 +0,0 @@
-# Patterns to ignore when building packages.
-# This supports shell glob matching, relative path matching, and
-# negation (prefixed with !). Only one pattern per line.
-.DS_Store
-# Common VCS dirs
-.git/
-.gitignore
-.bzr/
-.bzrignore
-.hg/
-.hgignore
-.svn/
-# Common backup files
-*.swp
-*.bak
-*.tmp
-*.orig
-*~
-# Various IDEs
-.project
-.idea/
-*.tmproj
-.vscode/
diff --git a/charts/admin-stack/charts/zookeeper/Chart.yaml b/charts/admin-stack/charts/zookeeper/Chart.yaml
deleted file mode 100644
index 1cea2e7..0000000
--- a/charts/admin-stack/charts/zookeeper/Chart.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
-apiVersion: v2
-appVersion: 3.8.1
-description: Apache ZooKeeper provides a reliable, centralized register of configuration
- data and services for distributed applications.
-home: https://github.com/bitnami/charts/tree/main/bitnami/zookeeper
-maintainers:
- - name: Bitnami
- url: https://github.com/bitnami/charts
-name: zookeeper
-sources:
- - https://zookeeper.apache.org/
-version: 11.1.2
diff --git a/charts/admin-stack/charts/zookeeper/templates/NOTES.txt b/charts/admin-stack/charts/zookeeper/templates/NOTES.txt
deleted file mode 100644
index e69de29..0000000
--- a/charts/admin-stack/charts/zookeeper/templates/NOTES.txt
+++ /dev/null
diff --git a/charts/admin-stack/charts/zookeeper/templates/_helpers.tpl b/charts/admin-stack/charts/zookeeper/templates/_helpers.tpl
deleted file mode 100644
index 210ffd3..0000000
--- a/charts/admin-stack/charts/zookeeper/templates/_helpers.tpl
+++ /dev/null
@@ -1,62 +0,0 @@
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "zookeeper.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Expand the name of the chart.
-*/}}
-{{- define "zookeeper.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "zookeeper.fullname" -}}
-{{- if .Values.fullnameOverride -}}
-{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- $name := default .Chart.Name .Values.nameOverride -}}
-{{- if contains $name .Release.Name -}}
-{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-{{- end -}}
-
-
-{{/*
-Return ZooKeeper Namespace to use
-*/}}
-{{- define "zookeeper.namespace" -}}
-{{- if .Values.namespaceOverride -}}
- {{- .Values.namespaceOverride -}}
-{{- else -}}
- {{- .Release.Namespace -}}
-{{- end -}}
-{{- end -}}
-
-{{- define "zookeeper.labels" -}}
-app.kubernetes.io/name: {{ include "zookeeper.name" . }}
-helm.sh/chart: {{ include "zookeeper.chart" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end -}}
-
-
-
-{{/*
-Labels to use on sts.spec.selector.matchLabels and svc.spec.selector
-*/}}
-{{- define "zookeeper.matchLabels" -}}
-app.kubernetes.io/name: {{ include "zookeeper.name" . }}
-{{- end -}}
\ No newline at end of file
diff --git a/charts/admin-stack/charts/zookeeper/templates/configmap.yaml b/charts/admin-stack/charts/zookeeper/templates/configmap.yaml
deleted file mode 100644
index 8532f0d..0000000
--- a/charts/admin-stack/charts/zookeeper/templates/configmap.yaml
+++ /dev/null
@@ -1,27 +0,0 @@
-{{- if .Values.enabled }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: {{ printf "%s-scripts" (include "zookeeper.fullname" .) }}
- namespace: {{ template "zookeeper.namespace" . }}
-data:
- setup.sh: |-
- #!/bin/bash
-
- # Execute entrypoint as usual after obtaining ZOO_SERVER_ID
- # check ZOO_SERVER_ID in persistent volume via myid
- # if not present, set based on POD hostname
- if [[ -f "/bitnami/zookeeper/data/myid" ]]; then
- export ZOO_SERVER_ID="$(cat /bitnami/zookeeper/data/myid)"
- else
- HOSTNAME="$(hostname -s)"
- if [[ $HOSTNAME =~ (.*)-([0-9]+)$ ]]; then
- ORD=${BASH_REMATCH[2]}
- export ZOO_SERVER_ID="$((ORD + {{ .Values.minServerId }} ))"
- else
- echo "Failed to get index from hostname $HOST"
- exit 1
- fi
- fi
- exec /entrypoint.sh /run.sh
- {{- end }}
\ No newline at end of file
diff --git a/charts/admin-stack/charts/zookeeper/templates/networkpolicy.yaml b/charts/admin-stack/charts/zookeeper/templates/networkpolicy.yaml
deleted file mode 100644
index 7b48c66..0000000
--- a/charts/admin-stack/charts/zookeeper/templates/networkpolicy.yaml
+++ /dev/null
@@ -1,38 +0,0 @@
-{{- if .Values.networkPolicy.enabled }}
-kind: NetworkPolicy
-apiVersion: {{ include "zookeeper.networkPolicy.apiVersion" . }}
-metadata:
- name: {{ include "zookeeper.fullname" . }}
- namespace: {{ template "zookeeper.namespace" . }}
- labels: {{- include "zookeeper.labels" . | nindent 4 }}
- {{- if .Values.Labels }}
- {{- include "zookeeper.tplvalues" ( dict "value" .Values.Labels "context" $ ) | nindent 4 }}
- {{- end }}
- {{- if .Values.Annotations }}
- annotations: {{- include "zookeeper.tplvalues" ( dict "value" .Values.Annotations "context" $ ) | nindent 4 }}
- {{- end }}
-spec:
- podSelector:
- matchLabels: {{- include "zookeeper.matchLabels" . | nindent 6 }}
- policyTypes:
- - Ingress
- ingress:
- # Allow inbound connections to ZooKeeper
- - ports:
- - port: {{ .Values.containerPorts.client }}
- {{- if not .Values.networkPolicy.allowExternal }}
- from:
- - podSelector:
- matchLabels:
- {{ include "zookeeper.fullname" . }}-client: "true"
- - podSelector:
- matchLabels: {{- include "zookeeper.matchLabels" . | nindent 14 }}
- {{- end }}
- # Allow internal communications between nodes
- - ports:
- - port: {{ .Values.containerPorts.follower }}
- - port: {{ .Values.containerPorts.election }}
- from:
- - podSelector:
- matchLabels: {{- include "zookeeper.matchLabels" . | nindent 14 }}
-{{- end }}
diff --git a/charts/admin-stack/charts/zookeeper/templates/pdb.yaml b/charts/admin-stack/charts/zookeeper/templates/pdb.yaml
deleted file mode 100644
index c3d799e..0000000
--- a/charts/admin-stack/charts/zookeeper/templates/pdb.yaml
+++ /dev/null
@@ -1,26 +0,0 @@
-{{- $replica := int .Values.replicas }}
-{{- if and .Values.podDisruptionBudget.enabled (gt $replica 1) }}
-apiVersion: {{ include "zookeeper.policy.apiVersion" . }}
-kind: PodDisruptionBudget
-metadata:
- name: {{ template "zookeeper.fullname" . }}
- namespace: {{ template "zookeeper.namespace" . }}
- labels: {{- include "zookeeper.labels" . | nindent 4 }}
- app.kubernetes.io/component: zookeeper
- {{- if .Values.Labels }}
- {{- include "zookeeper.tplvalues" ( dict "value" .Values.Labels "context" $ ) | nindent 4 }}
- {{- end }}
- {{- if .Values.Annotations }}
- annotations: {{- include "zookeeper.tplvalues" ( dict "value" .Values.Annotations "context" $ ) | nindent 4 }}
- {{- end }}
-spec:
- {{- if .Values.podDisruptionBudget.minAvailable }}
- minAvailable: {{ .Values.podDisruptionBudget.minAvailable }}
- {{- end }}
- {{- if .Values.podDisruptionBudget.maxUnavailable }}
- maxUnavailable: {{ .Values.podDisruptionBudget.maxUnavailable }}
- {{- end }}
- selector:
- matchLabels: {{- include "zookeeper.matchLabels" . | nindent 6 }}
- app.kubernetes.io/component: zookeeper
-{{- end }}
diff --git a/charts/admin-stack/charts/zookeeper/templates/statefulset.yaml b/charts/admin-stack/charts/zookeeper/templates/statefulset.yaml
deleted file mode 100644
index 4d07bdf..0000000
--- a/charts/admin-stack/charts/zookeeper/templates/statefulset.yaml
+++ /dev/null
@@ -1,168 +0,0 @@
-{{- if .Values.enabled }}
-apiVersion: {{ include "zookeeper.statefulset.apiVersion" . }}
-kind: StatefulSet
-metadata:
- name: {{ template "zookeeper.fullname" . }}
- namespace: {{ template "zookeeper.namespace" . }}
-spec:
- replicas: {{ .Values.replicas }}
- selector:
- matchLabels: {{- include "zookeeper.matchLabels" . | nindent 6 }}
- serviceName: {{ printf "%s-%s" (include "zookeeper.fullname" .) (default "headless" .Values.service.headless.servicenameOverride) | trunc 63 | trimSuffix "-" }}
- template:
- metadata:
- labels:
- app.kubernetes.io/name: zookeeper
- spec:
- containers:
- - name: zookeeper
- image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
- imagePullPolicy: {{ .Values.image.pullPolicy | quote }}
- {{- if .Values.containerSecurityContext.enabled }}
- securityContext: {{- omit .Values.containerSecurityContext "enabled" | toYaml | nindent 12 }}
- {{- end }}
- {{- if .Values.resources }}
- resources: {{- toYaml .Values.extraresources | nindent 12 }}
- {{- end }}
- env:
- - name: BITNAMI_DEBUG
- value: {{ ternary "true" "false" (or .Values.image.debug .Values.diagnosticMode.enabled) | quote }}
- - name: ZOO_DATA_LOG_DIR
- value: {{ .Values.dataLogDir | quote }}
- - name: ZOO_PORT_NUMBER
- value: {{ .Values.containerPorts.client | quote }}
- - name: ZOO_TICK_TIME
- value: {{ .Values.tickTime | quote }}
- - name: ZOO_INIT_LIMIT
- value: {{ .Values.initLimit | quote }}
- - name: ZOO_SYNC_LIMIT
- value: {{ .Values.syncLimit | quote }}
- - name: ZOO_PRE_ALLOC_SIZE
- value: {{ .Values.preAllocSize | quote }}
- - name: ZOO_SNAPCOUNT
- value: {{ .Values.snapCount | quote }}
- - name: ZOO_MAX_CLIENT_CNXNS
- value: {{ .Values.maxClientCnxns | quote }}
- - name: ZOO_4LW_COMMANDS_WHITELIST
- value: {{ .Values.fourlwCommandsWhitelist | quote }}
- - name: ZOO_LISTEN_ALLIPS_ENABLED
- value: {{ ternary "yes" "no" .Values.listenOnAllIPs | quote }}
- - name: ZOO_AUTOPURGE_INTERVAL
- value: {{ .Values.autopurge.purgeInterval | quote }}
- - name: ZOO_AUTOPURGE_RETAIN_COUNT
- value: {{ .Values.autopurge.snapRetainCount | quote }}
- - name: ZOO_MAX_SESSION_TIMEOUT
- value: {{ .Values.maxSessionTimeout | quote }}
- - name: ZOO_ENABLE_AUTH
- value: {{ ternary "yes" "no" .Values.auth.client.enabled | quote }}
- - name: ZOO_SERVERS
- {{- $replicaCount := int .Values.replicas }}
- {{- $minServerId := int .Values.minServerId }}
- {{- $followerPort := int .Values.containerPorts.follower }}
- {{- $electionPort := int .Values.containerPorts.election }}
- {{- $releaseNamespace := include "zookeeper.namespace" . }}
- {{- $zookeeperFullname := include "zookeeper.fullname" . }}
- {{- $zookeeperHeadlessServiceName := printf "%s-%s" $zookeeperFullname "headless" | trunc 63 }}
- {{- $clusterDomain := .Values.clusterDomain }}
- value: {{ range $i, $e := until $replicaCount }}{{ $zookeeperFullname }}-{{ $e }}.{{ $zookeeperHeadlessServiceName }}.{{ $releaseNamespace }}.svc.{{ $clusterDomain }}:{{ $followerPort }}:{{ $electionPort }}::{{ add $e $minServerId }} {{ end }}
- - name: ZOO_HEAP_SIZE
- value: {{ .Values.heapSize | quote }}
- - name: ZOO_LOG_LEVEL
- value: {{ .Values.logLevel | quote }}
- - name: ALLOW_ANONYMOUS_LOGIN
- value: {{ ternary "no" "yes" .Values.auth.client.enabled | quote }}
- ports:
- {{- if not .Values.service.disableBaseClientPort }}
- - name: client
- containerPort: {{ .Values.containerPorts.client }}
- {{- end }}
- - name: follower
- containerPort: {{ .Values.containerPorts.follower }}
- - name: election
- containerPort: {{ .Values.containerPorts.election }}
- volumeMounts:
- - name: scripts
- mountPath: /scripts/setup.sh
- subPath: setup.sh
- - name: data
- mountPath: /bitnami/zookeeper
- {{- if .Values.dataLogDir }}
- - name: data-log
- mountPath: {{ .Values.dataLogDir }}
- {{- end }}
- {{- if or .Values.configuration .Values.existingConfigmap }}
- - name: config
- mountPath: /opt/bitnami/zookeeper/conf/zoo.cfg
- subPath: zoo.cfg
- {{- end }}
- volumes:
- - name: scripts
- configMap:
- name: {{ printf "%s-scripts" (include "zookeeper.fullname" .) }}
- defaultMode: 0755
- {{- if or .Values.configuration .Values.existingConfigmap }}
- - name: config
- configMap:
- name: {{ include "zookeeper.configmapName" . }}
- {{- end }}
- {{- if and .Values.persistence.enabled .Values.persistence.existingClaim }}
- - name: data
- persistentVolumeClaim:
- claimName: {{ printf "%s" (tpl .Values.persistence.existingClaim .) }}
- {{- else if not .Values.persistence.enabled }}
- - name: data
- emptyDir: {}
- {{- end }}
- {{- if and .Values.persistence.enabled .Values.persistence.dataLogDir.existingClaim }}
- - name: data-log
- persistentVolumeClaim:
- claimName: {{ printf "%s" (tpl .Values.persistence.dataLogDir.existingClaim .) }}
- {{- else if and ( not .Values.persistence.enabled ) .Values.dataLogDir }}
- - name: data-log
- emptyDir: {}
- {{- end }}
- {{- if .Values.extraVolumes }}
- {{- include "zookeeper.tplvalues" (dict "value" .Values.extraVolumes "context" $) | nindent 8 }}
- {{- end }}
- {{- if and .Values.persistence.enabled (not (and .Values.persistence.existingClaim .Values.persistence.dataLogDir.existingClaim) ) }}
- volumeClaimTemplates:
- {{- if not .Values.persistence.existingClaim }}
- - metadata:
- name: data
- {{- if .Values.persistence.annotations }}
- annotations: {{- include "zookeeper.tplvalues" (dict "value" .Values.persistence.annotations "context" $) | nindent 10 }}
- {{- end }}
- {{- if .Values.persistence.labels }}
- labels: {{- include "zookeeper.tplvalues" (dict "value" .Values.persistence.labels "context" $) | nindent 10 }}
- {{- end }}
- spec:
- accessModes:
- {{- range .Values.persistence.accessModes }}
- - {{ . | quote }}
- {{- end }}
- resources:
- requests:
- storage: {{ .Values.persistence.size | quote }}
- {{- include "zookeeper.storage.class" (dict "persistence" .Values.persistence "global" .Values.global) | nindent 8 }}
- {{- if .Values.persistence.selector }}
- selector: {{- include "zookeeper.tplvalues" (dict "value" .Values.persistence.selector "context" $) | nindent 10 }}
- {{- end }}
- {{- end }}
- {{- if and (not .Values.persistence.dataLogDir.existingClaim) .Values.dataLogDir }}
- - metadata:
- name: data-log
- spec:
- accessModes:
- {{- range .Values.persistence.accessModes }}
- - {{ . | quote }}
- {{- end }}
- resources:
- requests:
- storage: {{ .Values.persistence.dataLogDir.size | quote }}
- {{- include "zookeeper.storage.class" (dict "persistence" .Values.persistence "global" .Values.global) | nindent 8 }}
- {{- if .Values.persistence.dataLogDir.selector }}
- selector: {{- include "zookeeper.tplvalues" (dict "value" .Values.persistence.dataLogDir.selector "context" $) | nindent 10 }}
- {{- end }}
- {{- end }}
- {{- end }}
- {{- end }}
\ No newline at end of file
diff --git a/charts/admin-stack/charts/zookeeper/templates/svc-headless.yaml b/charts/admin-stack/charts/zookeeper/templates/svc-headless.yaml
deleted file mode 100644
index 008a04b..0000000
--- a/charts/admin-stack/charts/zookeeper/templates/svc-headless.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-{{- if .Values.enabled }}
-apiVersion: v1
-kind: Service
-metadata:
- name: {{ template "zookeeper.name" . }}-headless
- namespace: {{ template "zookeeper.namespace" . }}
- labels: {{- include "zookeeper.labels" . | nindent 4 }}
-spec:
- type: {{ .Values.service.type }}
- clusterIP: None
- ports:
- - name: tcp-client
- port: {{ .Values.service.ports.client }}
- targetPort: client
- - name: tcp-follower
- port: {{ .Values.service.ports.follower }}
- targetPort: follower
- - name: tcp-election
- port: {{ .Values.service.ports.election }}
- targetPort: election
- selector: {{- include "zookeeper.matchLabels" . | nindent 4 }}
- {{- end }}
\ No newline at end of file
diff --git a/charts/admin-stack/charts/zookeeper/templates/svc.yaml b/charts/admin-stack/charts/zookeeper/templates/svc.yaml
deleted file mode 100644
index a08c07b..0000000
--- a/charts/admin-stack/charts/zookeeper/templates/svc.yaml
+++ /dev/null
@@ -1,48 +0,0 @@
-{{- if .Values.enabled }}
-apiVersion: v1
-kind: Service
-metadata:
- name: {{ template "zookeeper.name" . }}
- namespace: {{ template "zookeeper.namespace" . }}
- labels: {{- include "zookeeper.labels" . | nindent 4 }}
-spec:
- type: {{ .Values.service.type }}
- {{- if and .Values.service.clusterIP (eq .Values.service.type "ClusterIP") }}
- clusterIP: {{ .Values.service.clusterIP }}
- {{- end }}
- {{- if or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort") }}
- externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy | quote }}
- {{- end }}
- {{- if and (eq .Values.service.type "LoadBalancer") (not (empty .Values.service.loadBalancerSourceRanges)) }}
- loadBalancerSourceRanges: {{ .Values.service.loadBalancerSourceRanges }}
- {{- end }}
- {{- if and (eq .Values.service.type "LoadBalancer") (not (empty .Values.service.loadBalancerIP)) }}
- loadBalancerIP: {{ .Values.service.loadBalancerIP }}
- {{- end }}
- {{- if .Values.service.sessionAffinity }}
- sessionAffinity: {{ .Values.service.sessionAffinity }}
- {{- end }}
- {{- if .Values.service.sessionAffinityConfig }}
- sessionAffinityConfig: {{- include "zookeeper.tplvalues" (dict "value" .Values.service.sessionAffinityConfig "context" $) | nindent 4 }}
- {{- end }}
- ports:
- {{- if not .Values.service.disableBaseClientPort }}
- - name: tcp-client
- port: {{ .Values.service.ports.client }}
- targetPort: client
- {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.client)) }}
- nodePort: {{ .Values.service.nodePorts.client }}
- {{- else if eq .Values.service.type "ClusterIP" }}
- {{- end }}
- {{- end }}
- - name: tcp-follower
- port: {{ .Values.service.ports.follower }}
- targetPort: follower
- - name: tcp-election
- port: {{ .Values.service.ports.election }}
- targetPort: election
- {{- if .Values.service.extraPorts }}
- {{- include "zookeeper.tplvalues" (dict "value" .Values.service.extraPorts "context" $) | nindent 4 }}
- {{- end }}
- selector: {{- include "zookeeper.matchLabels" . | nindent 4 }}
- {{- end }}
\ No newline at end of file
diff --git a/charts/admin-stack/charts/zookeeper/values.yaml b/charts/admin-stack/charts/zookeeper/values.yaml
deleted file mode 100644
index 670779e..0000000
--- a/charts/admin-stack/charts/zookeeper/values.yaml
+++ /dev/null
@@ -1,499 +0,0 @@
-image:
- repository: bitnami/zookeeper
- tag: 3.8.1-debian-11-r0
- digest: ""
- debug: false
- pullPolicy: IfNotPresent
-
-replicas: 1
-
-persistence:
- ## @param persistence.enabled Enable ZooKeeper data persistence using PVC. If false, use emptyDir
- ##
- enabled: false
- ## @param persistence.existingClaim Name of an existing PVC to use (only when deploying a single replica)
- ##
- existingClaim: ""
- ## @param persistence.storageClass PVC Storage Class for ZooKeeper data volume
- ## If defined, storageClassName: <storageClass>
- ## If set to "-", storageClassName: "", which disables dynamic provisioning
- ## If undefined (the default) or set to null, no storageClassName spec is
- ## set, choosing the default provisioner. (gp2 on AWS, standard on
- ## GKE, AWS & OpenStack)
- ##
- storageClass: ""
- ## @param persistence.accessModes PVC Access modes
- ##
- accessModes:
- - ReadWriteOnce
- ## @param persistence.size PVC Storage Request for ZooKeeper data volume
- ##
- size: 8Gi
- ## @param persistence.labels Labels for the PVC
- ##
- labels: {}
- ## @param persistence.selector Selector to match an existing Persistent Volume for ZooKeeper's data PVC
- ## If set, the PVC can't have a PV dynamically provisioned for it
- ## E.g.
- ## selector:
- ## matchLabels:
- ## app: my-app
- ##
- selector: {}
- ## Persistence for a dedicated data log directory
- ##
- dataLogDir:
- ## @param persistence.dataLogDir.size PVC Storage Request for ZooKeeper's dedicated data log directory
- ##
- size: 8Gi
- ## @param persistence.dataLogDir.existingClaim Provide an existing `PersistentVolumeClaim` for ZooKeeper's data log directory
- ## If defined, PVC must be created manually before volume will be bound
- ## The value is evaluated as a template
- ##
- existingClaim: ""
- ## @param persistence.dataLogDir.selector Selector to match an existing Persistent Volume for ZooKeeper's data log PVC
- ## If set, the PVC can't have a PV dynamically provisioned for it
- ## E.g.
- ## selector:
- ## matchLabels:
- ## app: my-app
- ##
- selector: {}
-
-
-## Create HorizontalPodAutoscaler object for deployment type
-autoscaling:
- enabled: false
- minReplicas: 1
- maxReplicas: 5
- targetCPU: "60"
- targetMemory: ""
- behavior: {}
-
-
-service:
- type: ClusterIP
- ports:
- client: 2181
- follower: 2888
- election: 3888
- ## Node ports to expose
- ## NOTE: choose port between <30000-32767>
- ## @param service.nodePorts.client Node port for clients
- ## @param service.nodePorts.tls Node port for TLS
- ##
- nodePorts:
- client: ""
- tls: ""
- ## @param service.disableBaseClientPort Remove client port from service definitions.
- ##
- disableBaseClientPort: false
- ## @param service.sessionAffinity Control where client requests go, to the same pod or round-robin
- ## Values: ClientIP or None
- ## ref: https://kubernetes.io/docs/user-guide/services/
- ##
- sessionAffinity: None
- ## @param service.sessionAffinityConfig Additional settings for the sessionAffinity
- ## sessionAffinityConfig:
- ## clientIP:
- ## timeoutSeconds: 300
- ##
- sessionAffinityConfig: {}
- ## @param service.clusterIP ZooKeeper service Cluster IP
- ## e.g.:
- ## clusterIP: None
- ##
- clusterIP: ""
- ## @param service.loadBalancerIP ZooKeeper service Load Balancer IP
- ## ref: https://kubernetes.io/docs/user-guide/services/#type-loadbalancer
- ##
- loadBalancerIP: ""
- ## @param service.loadBalancerSourceRanges ZooKeeper service Load Balancer sources
- ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
- ## e.g:
- ## loadBalancerSourceRanges:
- ## - 10.10.10.0/24
- ##
- loadBalancerSourceRanges: []
- ## @param service.externalTrafficPolicy ZooKeeper service external traffic policy
- ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
- ##
- externalTrafficPolicy: Cluster
- ## @param service.annotations Additional custom annotations for ZooKeeper service
- ##
- annotations: {}
- ## @param service.extraPorts Extra ports to expose in the ZooKeeper service (normally used with the `sidecar` value)
- ##
- extraPorts: []
- ## @param service.headless.annotations Annotations for the Headless Service
- ## @param service.headless.publishNotReadyAddresses If the ZooKeeper headless service should publish DNS records for not ready pods
- ## @param service.headless.servicenameOverride String to partially override headless service name
- ##
- headless:
- publishNotReadyAddresses: true
- annotations: {}
- servicenameOverride: ""
-
-
-## @param containerPorts.client ZooKeeper client container port
-## @param containerPorts.tls ZooKeeper TLS container port
-## @param containerPorts.follower ZooKeeper follower container port
-## @param containerPorts.election ZooKeeper election container port
-##
-containerPorts:
- client: 2181
- tls: 3181
- follower: 2888
- election: 3888
-## Configure extra options for ZooKeeper containers' liveness, readiness and startup probes
-## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
-## @param livenessProbe.enabled Enable livenessProbe on ZooKeeper containers
-## @param livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
-## @param livenessProbe.periodSeconds Period seconds for livenessProbe
-## @param livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
-## @param livenessProbe.failureThreshold Failure threshold for livenessProbe
-## @param livenessProbe.successThreshold Success threshold for livenessProbe
-## @param livenessProbe.probeCommandTimeout Probe command timeout for livenessProbe
-##
-livenessProbe:
- enabled: true
- initialDelaySeconds: 30
- periodSeconds: 10
- timeoutSeconds: 5
- failureThreshold: 6
- successThreshold: 1
- probeCommandTimeout: 2
-## @param readinessProbe.enabled Enable readinessProbe on ZooKeeper containers
-## @param readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
-## @param readinessProbe.periodSeconds Period seconds for readinessProbe
-## @param readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
-## @param readinessProbe.failureThreshold Failure threshold for readinessProbe
-## @param readinessProbe.successThreshold Success threshold for readinessProbe
-## @param readinessProbe.probeCommandTimeout Probe command timeout for readinessProbe
-##
-readinessProbe:
- enabled: true
- initialDelaySeconds: 5
- periodSeconds: 10
- timeoutSeconds: 5
- failureThreshold: 6
- successThreshold: 1
- probeCommandTimeout: 2
-## @param startupProbe.enabled Enable startupProbe on ZooKeeper containers
-## @param startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
-## @param startupProbe.periodSeconds Period seconds for startupProbe
-## @param startupProbe.timeoutSeconds Timeout seconds for startupProbe
-## @param startupProbe.failureThreshold Failure threshold for startupProbe
-## @param startupProbe.successThreshold Success threshold for startupProbe
-##
-startupProbe:
- enabled: false
- initialDelaySeconds: 30
- periodSeconds: 10
- timeoutSeconds: 1
- failureThreshold: 15
- successThreshold: 1
-## @param customLivenessProbe Custom livenessProbe that overrides the default one
-##
-customLivenessProbe: {}
-## @param customReadinessProbe Custom readinessProbe that overrides the default one
-##
-customReadinessProbe: {}
-## @param customStartupProbe Custom startupProbe that overrides the default one
-##
-customStartupProbe: {}
-## @param lifecycleHooks for the ZooKeeper container(s) to automate configuration before or after startup
-##
-lifecycleHooks: {}
-## ZooKeeper resource requests and limits
-## ref: https://kubernetes.io/docs/user-guide/compute-resources/
-## @param resources.limits The resources limits for the ZooKeeper containers
-## @param resources.requests.memory The requested memory for the ZooKeeper containers
-## @param resources.requests.cpu The requested cpu for the ZooKeeper containers
-##
-resources:
- limits: {}
- requests:
- memory: 256Mi
- cpu: 250m
-## Configure Pods Security Context
-## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
-## @param podSecurityContext.enabled Enabled ZooKeeper pods' Security Context
-## @param podSecurityContext.fsGroup Set ZooKeeper pod's Security Context fsGroup
-##
-podSecurityContext:
- enabled: true
- fsGroup: 1001
-## Configure Container Security Context
-## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
-## @param containerSecurityContext.enabled Enabled ZooKeeper containers' Security Context
-## @param containerSecurityContext.runAsUser Set ZooKeeper containers' Security Context runAsUser
-## @param containerSecurityContext.runAsNonRoot Set ZooKeeper containers' Security Context runAsNonRoot
-## @param containerSecurityContext.allowPrivilegeEscalation Force the child process to be run as nonprivilege
-##
-containerSecurityContext:
- enabled: true
- runAsUser: 1001
- runAsNonRoot: true
- allowPrivilegeEscalation: false
-## @param hostAliases ZooKeeper pods host aliases
-## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
-##
-hostAliases: []
-## @param podLabels Extra labels for ZooKeeper pods
-## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
-##
-
-
-extraVolumes: []
-## @param extraVolumeMounts Optionally specify extra list of additional volumeMounts for the ZooKeeper container(s)
-## Example Use Case: mount certificates to enable TLS
-## e.g:
-## extraVolumeMounts:
-## - name: zookeeper-keystore
-## mountPath: /certs/keystore
-## readOnly: true
-## - name: zookeeper-truststore
-## mountPath: /certs/truststore
-## readOnly: true
-##
-extraVolumeMounts: []
-## @param sidecars Add additional sidecar containers to the ZooKeeper pod(s)
-## e.g:
-## sidecars:
-## - name: your-image-name
-## image: your-image
-## imagePullPolicy: Always
-## ports:
-## - name: portname
-## containerPort: 1234
-##
-## @param tickTime Basic time unit (in milliseconds) used by ZooKeeper for heartbeats
-##
-##
-
-
-auth:
- client:
- ## @param auth.client.enabled Enable ZooKeeper client-server authentication. It uses SASL/Digest-MD5
- ##
- enabled: false
- ## @param auth.client.clientUser User that will use ZooKeeper clients to auth
- ##
- clientUser: ""
- ## @param auth.client.clientPassword Password that will use ZooKeeper clients to auth
- ##
- clientPassword: ""
- ## @param auth.client.serverUsers Comma, semicolon or whitespace separated list of user to be created
- ## Specify them as a string, for example: "user1,user2,admin"
- ##
- serverUsers: ""
- ## @param auth.client.serverPasswords Comma, semicolon or whitespace separated list of passwords to assign to users when created
- ## Specify them as a string, for example: "pass4user1, pass4user2, pass4admin"
- ##
- serverPasswords: ""
- ## @param auth.client.existingSecret Use existing secret (ignores previous passwords)
- ##
- existingSecret: ""
- quorum:
- ## @param auth.quorum.enabled Enable ZooKeeper server-server authentication. It uses SASL/Digest-MD5
- ##
- enabled: false
- ## @param auth.quorum.learnerUser User that the ZooKeeper quorumLearner will use to authenticate to quorumServers.
- ## Note: Make sure the user is included in auth.quorum.serverUsers
- ##
- learnerUser: ""
- ## @param auth.quorum.learnerPassword Password that the ZooKeeper quorumLearner will use to authenticate to quorumServers.
- ##
- learnerPassword: ""
- ## @param auth.quorum.serverUsers Comma, semicolon or whitespace separated list of users for the quorumServers.
- ## Specify them as a string, for example: "user1,user2,admin"
- ##
- serverUsers: ""
- ## @param auth.quorum.serverPasswords Comma, semicolon or whitespace separated list of passwords to assign to users when created
- ## Specify them as a string, for example: "pass4user1, pass4user2, pass4admin"
- ##
- serverPasswords: ""
- ## @param auth.quorum.existingSecret Use existing secret (ignores previous passwords)
- ##
- existingSecret: ""
-## @param tickTime Basic time unit (in milliseconds) used by ZooKeeper for heartbeats
-##
-tickTime: 2000
-## @param initLimit ZooKeeper uses to limit the length of time the ZooKeeper servers in quorum have to connect to a leader
-##
-initLimit: 10
-## @param syncLimit How far out of date a server can be from a leader
-##
-syncLimit: 5
-## @param preAllocSize Block size for transaction log file
-##
-preAllocSize: 65536
-## @param snapCount The number of transactions recorded in the transaction log before a snapshot can be taken (and the transaction log rolled)
-##
-snapCount: 100000
-## @param maxClientCnxns Limits the number of concurrent connections that a single client may make to a single member of the ZooKeeper ensemble
-##
-maxClientCnxns: 60
-## @param maxSessionTimeout Maximum session timeout (in milliseconds) that the server will allow the client to negotiate
-## Defaults to 20 times the tickTime
-##
-maxSessionTimeout: 40000
-## @param heapSize Size (in MB) for the Java Heap options (Xmx and Xms)
-## This env var is ignored if Xmx an Xms are configured via `jvmFlags`
-##
-heapSize: 1024
-## @param fourlwCommandsWhitelist A list of comma separated Four Letter Words commands that can be executed
-##
-fourlwCommandsWhitelist: srvr, mntr, ruok
-## @param minServerId Minimal SERVER_ID value, nodes increment their IDs respectively
-## Servers increment their ID starting at this minimal value.
-## E.g., with `minServerId=10` and 3 replicas, server IDs will be 10, 11, 12 for z-0, z-1 and z-2 respectively.
-##
-minServerId: 1
-## @param listenOnAllIPs Allow ZooKeeper to listen for connections from its peers on all available IP addresses
-##
-listenOnAllIPs: false
-## Ongoing data directory cleanup configuration
-##
-autopurge:
- ## @param autopurge.snapRetainCount The most recent snapshots amount (and corresponding transaction logs) to retain
- ##
- snapRetainCount: 3
- ## @param autopurge.purgeInterval The time interval (in hours) for which the purge task has to be triggered
- ## Set to a positive integer to enable the auto purging
- ##
- purgeInterval: 0
-## @param logLevel Log level for the ZooKeeper server. ERROR by default
-## Have in mind if you set it to INFO or WARN the ReadinessProve will produce a lot of logs
-##
-logLevel: ERROR
-## @param jvmFlags Default JVM flags for the ZooKeeper process
-##
-jvmFlags: ""
-## @param dataLogDir Dedicated data log directory
-## This allows a dedicated log device to be used, and helps avoid competition between logging and snapshots.
-## E.g.
-## dataLogDir: /bitnami/zookeeper/dataLog
-##
-dataLogDir: ""
-##
-##
-configuration: ""
-## @param existingConfigmap The name of an existing ConfigMap with your custom configuration for ZooKeeper
-## NOTE: When it's set the `configuration` parameter is ignored
-##
-existingConfigmap: ""
-## @param extraEnvVars Array with extra environment variables to add to ZooKeeper nodes
-## e.g:
-## extraEnvVars:
-## - name: FOO
-## value: "bar"
-##
-##
-## @param clusterDomain Kubernetes Cluster Domain
-##
-clusterDomain: cluster.local
-## @param extraDeploy Extra objects to deploy (evaluated as a template)
-##
-extraDeploy: []
-## @param commonLabels Add labels to all the deployed resources
-##
-Labels: {}
-## @param commonAnnotations Add annotations to all the deployed resources
-##
-Annotations: {}
-## @param namespaceOverride Override namespace for ZooKeeper resources
-## Useful when including ZooKeeper as a chart dependency, so it can be released into a different namespace than the parent
-##
-diagnosticMode:
- ## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden)
- ##
- enabled: false
- ## @param diagnosticMode.command Command to override all containers in the statefulset
- ##
- command:
- - sleep
- ## @param diagnosticMode.args Args to override all containers in the statefulset
- ##
- args:
- - infinity
-
-## See `kubectl explain poddisruptionbudget.spec` for more
-## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
-podDisruptionBudget:
- enabled: false
- minAvailable: 1
- # maxUnavailable: 1
-
-
-ingress:
- enabled: false
- # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
- # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
- # ingressClassName: nginx
- # Values can be templated
- annotations: {}
- # kubernetes.io/ingress.class: nginx
- # kubernetes.io/tls-acme: "true"
- labels: {}
- path: /
- ##
- ##
- # pathType is only for k8s >= 1.1=
- pathType: Prefix
- ##
- ##
- hosts:
- - chart-example.local
- ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services.
- extraPaths: []
- # - path: /*
- # backend:
- # serviceName: ssl-redirect
- # servicePort: use-annotation
- ## Or for k8s > 1.19
- # - path: /*
- # pathType: Prefix
- # backend:
- # service:
- # name: ssl-redirect
- # port:
- # name: use-annotation
- ##
- ##
- tls: []
- # - secretName: chart-example-tls
- # hosts:
- # - chart-example.local
-
-
-networkPolicy:
- ## @param networkPolicy.enabled Enable creation of NetworkPolicy resources. Only Ingress traffic is filtered for now.
- ##
- enabled: false
- ## @param networkPolicy.allowExternal Don't require client label for connections
- ## The Policy model to apply. When set to false, only pods with the correct
- ## client label will have network access to dubbo-admin port defined.
- ## When true, dubbo-admin will accept connections from any source
- ## (with the correct destination port).
- ##
- ingress: true
- ## @param networkPolicy.ingress When true enables the creation
- ## an ingress network policy
- ##
- ##
- ##
- ##
- egress:
- ## @param networkPolicy.egress.enabled When enabled, an egress network policy will be
- ## created allowing dubbo-admin to connect to external data sources from kubernetes cluster.
- enabled: false
- ##
- ## @param networkPolicy.egress.ports Add individual ports to be allowed by the egress
- ports: []
- ## Add ports to the egress by specifying - port: <port number>
- ## E.X.
- ## ports:
- ## - port: 80
- ## - port: 443
\ No newline at end of file
diff --git a/charts/admin-stack/templates/tpl/_helpers.tpl b/charts/admin-stack/templates/tpl/_helpers.tpl
deleted file mode 100644
index 9f30c93..0000000
--- a/charts/admin-stack/templates/tpl/_helpers.tpl
+++ /dev/null
@@ -1,27 +0,0 @@
-{{/*
-Formats imagePullSecrets. Input is (dict "root" . "imagePullSecrets" .{specific imagePullSecrets})
-*/}}
-{{- define "dubbo-admin.imagePullSecrets" -}}
-{{- $root := .root }}
-{{- range (concat .root.Values.global.imagePullSecrets .imagePullSecrets) }}
-{{- if eq (typeOf .) "map[string]interface {}" }}
-- {{ toYaml (dict "name" (tpl .name $root)) | trim }}
-{{- else }}
-- name: {{ tpl . $root }}
-{{- end }}
-{{- end }}
-{{- end }}
-
-
-{{/*
-Return the ZooKeeper configuration ConfigMap name
-*/}}
-{{- define "zookeeper.configmapName" -}}
-{{- if .Values.existingConfigmap -}}
- {{- printf "%s" (tpl .Values.existingConfigmap $) -}}
-{{- else -}}
- {{- printf "%s" (include "zookeeper.fullname" .) -}}
-{{- end -}}
-{{- end -}}
-
-
diff --git a/charts/admin-stack/templates/tpl/_ingress.tpl b/charts/admin-stack/templates/tpl/_ingress.tpl
deleted file mode 100644
index 0e63964..0000000
--- a/charts/admin-stack/templates/tpl/_ingress.tpl
+++ /dev/null
@@ -1,22 +0,0 @@
-{{/*
-Return if ingress is stable.
-*/}}
-{{- define "dubbo-admin.ingress.isStable" -}}
-{{- eq (include "dubbo-admin.ingress.apiVersion" .) "networking.k8s.io/v1" }}
-{{- end }}
-
-
-{{/*
-Return if ingress supports ingressClassName.
-*/}}
-{{- define "dubbo-admin.ingress.supportsIngressClassName" -}}
-{{- or (eq (include "dubbo-admin.ingress.isStable" .) "true") (and (eq (include "dubbo-admin.ingress.apiVersion" .) "networking.k8s.io/v1beta1") (semverCompare ">= 1.18-0" .Capabilities.KubeVersion.Version)) }}
-{{- end }}
-
-
-{{/*
-Return if ingress supports pathType.
-*/}}
-{{- define "dubbo-admin.ingress.supportsPathType" -}}
-{{- or (eq (include "dubbo-admin.ingress.isStable" .) "true") (and (eq (include "dubbo-admin.ingress.apiVersion" .) "networking.k8s.io/v1beta1") (semverCompare ">= 1.18-0" .Capabilities.KubeVersion.Version)) }}
-{{- end }}
\ No newline at end of file
diff --git a/charts/admin-stack/templates/tpl/_kubeversions.tpl b/charts/admin-stack/templates/tpl/_kubeversions.tpl
deleted file mode 100644
index f403a0c..0000000
--- a/charts/admin-stack/templates/tpl/_kubeversions.tpl
+++ /dev/null
@@ -1,33 +0,0 @@
-{{/*
-Return the target Kubernetes version
-*/}}
-{{- define "zookeeper.kubeVersion" -}}
-{{- if .Values.global }}
- {{- if .Values.global.kubeVersion }}
- {{- .Values.global.kubeVersion -}}
- {{- else }}
- {{- default .Capabilities.KubeVersion.Version .Values.kubeVersion -}}
- {{- end -}}
-{{- else }}
-{{- default .Capabilities.KubeVersion.Version .Values.kubeVersion -}}
-{{- end -}}
-{{- end -}}
-
-
-{{/*
-Return the target Kubernetes version
-*/}}
-{{- define "nacos.kubeVersion" -}}
-{{- if .Values.global }}
- {{- if .Values.global.kubeVersion }}
- {{- .Values.global.kubeVersion -}}
- {{- else }}
- {{- default .Capabilities.KubeVersion.Version .Values.kubeVersion -}}
- {{- end -}}
-{{- else }}
-{{- default .Capabilities.KubeVersion.Version .Values.kubeVersion -}}
-{{- end -}}
-{{- end -}}
-{{/*
-Return the appropriate apiVersion for statefulset.
-*/}}
\ No newline at end of file
diff --git a/charts/admin-stack/templates/tpl/_storages.tpl b/charts/admin-stack/templates/tpl/_storages.tpl
deleted file mode 100644
index b92c9ca..0000000
--- a/charts/admin-stack/templates/tpl/_storages.tpl
+++ /dev/null
@@ -1,23 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Return the proper Storage Class
-{{ include "common.storage.class" ( dict "persistence" .Values.path.to.the.persistence "global" $) }}
-*/}}
-{{- define "zookeeper.storage.class" -}}
-
-{{- $storageClass := .persistence.storageClass -}}
-{{- if .global -}}
- {{- if .global.storageClass -}}
- {{- $storageClass = .global.storageClass -}}
- {{- end -}}
-{{- end -}}
-
-{{- if $storageClass -}}
- {{- if (eq "-" $storageClass) -}}
- {{- printf "storageClassName: \"\"" -}}
- {{- else }}
- {{- printf "storageClassName: %s" $storageClass -}}
- {{- end -}}
-{{- end -}}
-
-{{- end -}}
\ No newline at end of file
diff --git a/charts/admin-stack/templates/tpl/_tplvalues.tpl b/charts/admin-stack/templates/tpl/_tplvalues.tpl
deleted file mode 100644
index 2fec362..0000000
--- a/charts/admin-stack/templates/tpl/_tplvalues.tpl
+++ /dev/null
@@ -1,13 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Renders a value that contains template.
-Usage:
-{{ include "zookeeper.tplvalues" ( dict "value" .Values.path.to.the.Value "context" $) }}
-*/}}
-{{- define "zookeeper.tplvalues" -}}
- {{- if typeIs "string" .value }}
- {{- tpl .value .context }}
- {{- else }}
- {{- tpl (.value | toYaml) .context }}
- {{- end }}
-{{- end -}}
\ No newline at end of file
diff --git a/charts/admin-stack/templates/tpl/_versions.tpl b/charts/admin-stack/templates/tpl/_versions.tpl
deleted file mode 100644
index 82611a4..0000000
--- a/charts/admin-stack/templates/tpl/_versions.tpl
+++ /dev/null
@@ -1,96 +0,0 @@
-{{/*
-Return the appropriate apiVersion for rbac.
-*/}}
-{{- define "dubbo-admin.rbac.apiVersion" -}}
-{{- if $.Capabilities.APIVersions.Has "rbac.authorization.k8s.io/v1" }}
-{{- print "rbac.authorization.k8s.io/v1" }}
-{{- else }}
-{{- print "rbac.authorization.k8s.io/v1beta1" }}
-{{- end }}
-{{- end }}
-
-
-{{/*
-Return the appropriate apiVersion for ingress.
-*/}}
-{{- define "dubbo-admin.ingress.apiVersion" -}}
-{{- if and ($.Capabilities.APIVersions.Has "networking.k8s.io/v1") (semverCompare ">= 1.19-0" .Capabilities.KubeVersion.Version) }}
-{{- print "networking.k8s.io/v1" }}
-{{- else if $.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }}
-{{- print "networking.k8s.io/v1beta1" }}
-{{- else }}
-{{- print "extensions/v1beta1" }}
-{{- end }}
-{{- end }}
-
-
-{{/*
-Return the appropriate apiVersion for podDisruptionBudget.
-*/}}
-{{- define "dubbo-admin.podDisruptionBudget.apiVersion" -}}
-{{- if $.Capabilities.APIVersions.Has "policy/v1/PodDisruptionBudget" }}
-{{- print "policy/v1" }}
-{{- else }}
-{{- print "policy/v1beta1" }}
-{{- end }}
-{{- end }}
-
-
-{{- define "zookeeper.statefulset.apiVersion" -}}
-{{- if semverCompare "<1.14-0" (include "zookeeper.kubeVersion" .) -}}
-{{- print "apps/v1beta1" -}}
-{{- else -}}
-{{- print "apps/v1" -}}
-{{- end -}}
-{{- end -}}
-
-
-{{/*
-Return the appropriate apiVersion for networkpolicy.
-*/}}
-{{- define "zookeeper.networkPolicy.apiVersion" -}}
-{{- if semverCompare "<1.7-0" (include "zookeeper.kubeVersion" .) -}}
-{{- print "extensions/v1beta1" -}}
-{{- else -}}
-{{- print "networking.k8s.io/v1" -}}
-{{- end -}}
-{{- end -}}
-
-
-{{/*
-Return the appropriate apiVersion for networkpolicy.
-*/}}
-{{- define "nacos.networkPolicy.apiVersion" -}}
-{{- if semverCompare "<1.7-0" (include "nacos.kubeVersion" .) -}}
-{{- print "extensions/v1beta1" -}}
-{{- else -}}
-{{- print "networking.k8s.io/v1" -}}
-{{- end -}}
-{{- end -}}
-
-
-{{/*
-Return the appropriate apiVersion for poddisruptionbudget.
-*/}}
-{{- define "zookeeper.policy.apiVersion" -}}
-{{- if semverCompare "<1.21-0" (include "zookeeper.kubeVersion" .) -}}
-{{- print "policy/v1beta1" -}}
-{{- else -}}
-{{- print "policy/v1" -}}
-{{- end -}}
-{{- end -}}
-
-
-{{/*
-Return the appropriate apiVersion for poddisruptionbudget.
-*/}}
-{{- define "nacos.policy.apiVersion" -}}
-{{- if semverCompare "<1.21-0" (include "nacos.kubeVersion" .) -}}
-{{- print "policy/v1beta1" -}}
-{{- else -}}
-{{- print "policy/v1" -}}
-{{- end -}}
-{{- end -}}
-
-
-
diff --git a/charts/admin-stack/values.yaml b/charts/admin-stack/values.yaml
deleted file mode 100644
index f26689c..0000000
--- a/charts/admin-stack/values.yaml
+++ /dev/null
@@ -1,66 +0,0 @@
-nacos:
- enabled: false
- default: false
-
-
-zookeeper:
- enabled: true
- default: true
-
-
-grafana:
- enabled: false
- default: false
-
-
-dubbo-admin:
- enabled: true
- default: true
- properties:
- admin.registry.address: zookeeper://zookeeper:2181
- admin.config-center: zookeeper://zookeeper:2181
- admin.metadata-report.address: zookeeper://zookeeper:2181
- admin.root.user.name: root
- admin.root.user.password: root
- admin.check.sessionTimeoutMilli: 3600000
- server.compression.enabled: true
- server.compression.mime-types: text/css,text/javascript,application/javascript
- server.compression.min-response-size: 10240
- admin.check.tokenTimeoutMilli: 3600000
- admin.check.signSecret: 86295dd0c4ef69a1036b0b0c15158d77
- dubbo.application.name: dubbo-admin
- dubbo.registry.address: ${admin.registry.address}
- spring.datasource.url: jdbc:h2:mem:~/dubbo-admin;MODE=MYSQL;
- spring.datasource.username: sa
- spring.datasource.password:
- mybatis-plus.global-config.db-config.id-type: none
- dubbo.application.logger: slf4j
-
- # nacos config, add parameters to url like username=nacos&password=nacos
- # admin.registry.address: nacos://nacos:8848?group=DEFAULT_GROUP&namespace=public
- # admin.config-center: nacos://nacos:8848?group=dubbo
- # admin.metadata-report.address: nacos://nacos:8848?group=dubbo
-
-
- # group (Deprecated it is recommended to use URL to add parameters,will be removed in the future)
- # admin.registry.group: dubbo
- # admin.config-center.group: dubbo
- # admin.metadata-report.group: dubbo
-
- # namespace used by nacos.(Deprecated it is recommended to use URL to add parameters,will be removed in the future)
- # admin.registry.namespace: public
- # admin.config-center.namespace: public
- # admin.metadata-report.namespace: public
-
- # apollo config
- # admin.config-center: apollo://localhost:8070?token=e16e5cd903fd0c97a116c873b448544b9d086de9&app.id=test&env=dev&cluster=default&namespace=dubbo
- # admin.apollo.token: e16e5cd903fd0c97a116c873b448544b9d086de9
- # admin.apollo.appId: test
- # admin.apollo.env: dev
- # admin.apollo.cluster: default
-
- # mysql
- # spring.datasource.driver-class-name: com.mysql.jdbc.Driver
- # spring.datasource.url: jdbc:mysql://localhost:3306/dubbo-admin?characterEncoding=utf8&connectTimeout=1000&socketTimeout=10000&autoReconnect=true
- # spring.datasource.username: root
- # spring.datasource.password: mysql
\ No newline at end of file
diff --git a/charts/admin-stack/.helmignore b/charts/dubbo-admin/.helmignore
similarity index 100%
rename from charts/admin-stack/.helmignore
rename to charts/dubbo-admin/.helmignore
diff --git a/charts/admin-stack/Chart.yaml b/charts/dubbo-admin/Chart.yaml
similarity index 100%
rename from charts/admin-stack/Chart.yaml
rename to charts/dubbo-admin/Chart.yaml
diff --git a/charts/dubbo-admin/README.md b/charts/dubbo-admin/README.md
new file mode 100644
index 0000000..070f9b3
--- /dev/null
+++ b/charts/dubbo-admin/README.md
@@ -0,0 +1,14 @@
+## 1. Project download to local
+```
+git clone https://github.com/apache/dubbo-admin.git
+```
+
+## 2. Switch project directory
+```
+cd dubbo-admin/deploy/charts/dubbo-admin
+```
+
+## 3. Install dubbo-admin
+```
+helm install dubbo-admin -f values.yaml .
+```
diff --git a/charts/dubbo-admin/templates/_helpers.tpl b/charts/dubbo-admin/templates/_helpers.tpl
new file mode 100644
index 0000000..91eab01
--- /dev/null
+++ b/charts/dubbo-admin/templates/_helpers.tpl
@@ -0,0 +1,41 @@
+{{/*
+*/}}
+{{- define "dubbo-admin.name" -}}
+{{- if .Values.nameOverride }}
+{{- else }}
+{{- printf "dubbo-admin" -}}
+{{- end -}}
+{{- end -}}
+
+{{- define "dubbo-admin.namespace" -}}
+{{- if .Values.namespaceOverride }}
+{{- else }}
+{{- printf "default" }}
+{{- end -}}
+{{- end -}}
+
+{{/*
+*/}}
+{{- define "dubbo-admin.labels" -}}
+app.kubernetes.io/name: {{ template "dubbo-admin.name" . }}
+helm.sh/chart: {{ include "dubbo-admin.name" . }}-{{ .Values.image.tag }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end -}}
+
+{{/*
+*/}}
+{{- define "dubbo-admin.matchLabels" -}}
+app.kubernetes.io/name: {{ template "dubbo-admin.name" . }}
+helm.sh/chart: {{ include "dubbo-admin.name" . }}-{{ .Values.image.tag }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end -}}
+
+{{- define "dubbo-admin.podDisruptionBudget.apiVersion" -}}
+{{- if $.Capabilities.APIVersions.Has "policy/v1/PodDisruptionBudget" }}
+{{- print "policy/v1" }}
+{{- else }}
+{{- print "policy/v1beta1" }}
+{{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/charts/dubbo-admin/templates/cm.yaml b/charts/dubbo-admin/templates/cm.yaml
new file mode 100644
index 0000000..410ecc4
--- /dev/null
+++ b/charts/dubbo-admin/templates/cm.yaml
@@ -0,0 +1,47 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "dubbo-admin.name" . }}-cm
+ namespace: {{ include "dubbo-admin.namespace" . }}
+data:
+ application.properties: |-
+ {{- if .Values.zookeeper.enabled }}
+ admin.registry.address: {{ .Values.zookeeper.address }}
+ admin.config-center: {{ .Values.zookeeper.address }}
+ admin.metadata-report.address: {{ .Values.zookeeper.address }}
+ {{- end }}
+ {{- if .Values.nacos.enabled }}
+ admin.registry.address: {{ .Values.nacos.address }}?group=DEFAULT_GROUP&namespace={{ .Values.nacos.namespace }}
+ admin.config-center: {{ .Values.nacos.address }}?group={{ .Values.nacos.group }}
+ admin.metadata-report.address: {{.Values.nacos.address }}?group={{ .Values.nacos.group }}
+ {{- end }}
+ admin.root.user.name: {{ .Values.user.name }}
+ admin.root.user.password: {{ .Values.user.password }}
+ admin.check.tokenTimeoutMilli: {{ .Values.check.tokenTimeoutMilli | int64 }}
+ admin.check.sessionTimeoutMilli: {{ .Values.check.sessionTimeoutMilli | int64 }}
+ admin.check.signSecret: {{ .Values.check.signSecret }}
+ {{- if .Values.apollo.enabled }}
+ admin.config-center: {{ .Values.apollo.address }}?token={{ .Values.apollo.token }}&app.id={{ .Values.apollo.appId }}&env={{ .Values.apollo.env }}&cluster={{ .Values.apollo.cluster }}&namespace={{ .Values.apollo.namespace }}
+ admin.apollo.token: {{ .Values.apollo.token }}
+ admin.apollo.appId: {{ .Values.apollo.appId }}
+ admin.apollo.env: {{ .Values.apollo.env }}
+ admin.apollo.cluster: {{ .Values.apollo.cluster }}
+ {{- end }}
+ server.compression.enabled: {{ .Values.serverCompression.enabled }}
+ server.compression.mime-types: {{ .Values.serverCompression.mimeTypes }}
+ server.compression.min-response-size: {{ .Values.serverCompression.minResponseSize }}
+ dubbo.application.name: {{ .Values.dubbo.name }}
+ dubbo.application.logger: {{ .Values.dubbo.logger }}
+ dubbo.registry.address: ${admin.registry.address}
+ {{- if .Values.mysql.enabled }}
+ spring.datasource.driver-class-name: {{ .Values.mysql.driverClassName }}
+ spring.datasource.url: jdbc:{{ .Values.mysql.address }}?characterEncoding={{ .Values.mysql.encode }}&connectTimeout={{ .Values.mysql.connectTimeout }}&socketTimeout={{ .Values.mysql.socketTimeout }}&autoReconnect={{ .Values.mysql.autoReconnect }}
+ spring.datasource.username: {{ .Values.mysql.username }}
+ spring.datasource.password: {{ .Values.mysql.password }}
+ {{- end }}
+ {{- if .Values.h2.enabled }}
+ spring.datasource.url: jdbc:h2:mem:{{ .Values.h2.mem }};MODE={{ .Values.h2.mode }};
+ spring.datasource.username: {{ .Values.mysql.username }}
+ spring.datasource.password: {{ .Values.mysql.password }}
+ {{- end }}
+ mybatis-plus.global-config.db-config.id-type: {{ .Values.mybatisPlus.global.db.idType }}
\ No newline at end of file
diff --git a/charts/admin-stack/charts/dubbo-admin/templates/deployment.yaml b/charts/dubbo-admin/templates/deploy.yaml
similarity index 64%
rename from charts/admin-stack/charts/dubbo-admin/templates/deployment.yaml
rename to charts/dubbo-admin/templates/deploy.yaml
index d7f1615..ffa0157 100644
--- a/charts/admin-stack/charts/dubbo-admin/templates/deployment.yaml
+++ b/charts/dubbo-admin/templates/deploy.yaml
@@ -1,54 +1,31 @@
apiVersion: apps/v1
kind: Deployment
metadata:
- name: {{ include "dubbo-admin.fullname" . }}
+ name: {{ include "dubbo-admin.name" . }}
namespace: {{ include "dubbo-admin.namespace" . }}
- labels:
- {{- include "dubbo-admin.labels" . | nindent 4 }}
- {{- with .Values.labels }}
- {{- toYaml . | nindent 4 }}
- {{- end }}
- {{- with .Values.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
spec:
- {{- if and (not .Values.autoscaling.enabled) (.Values.replicas) }}
replicas: {{ .Values.replicas }}
- {{- end }}
selector:
matchLabels:
- {{- include "dubbo-admin.selectorLabels" . | nindent 6 }}
- {{- with .Values.deploymentStrategy }}
- strategy:
- {{- toYaml . | trim | nindent 4 }}
- {{- end }}
+ {{ include "dubbo-admin.matchLabels" . | nindent 6 }}
template:
metadata:
labels:
- {{- include "dubbo-admin.selectorLabels" . | nindent 8 }}
+ {{ include "dubbo-admin.labels" . | nindent 8 }}
spec:
- {{- if .Values.imagePullSecrets }}
imagePullSecrets: {{ toYaml .Values.imagePullSecrets | nindent 8 }}
- {{- end }}
- {{- if .Values.nodeSelector }}
nodeSelector: {{- toYaml .Values.nodeSelector | nindent 8 }}
- {{- end }}
- {{- if .Values.affinity }}
affinity: {{- toYaml .Values.affinity | nindent 8 }}
- {{- end }}
- {{- if .Values.tolerations }}
tolerations: {{- toYaml .Values.tolerations | nindent 8 }}
- {{- end }}
- serviceAccountName: {{ include "dubbo-admin.serviceAccountName" . }}
+ {{- if .Values.rbac.enabled }}
+ serviceAccountName: {{ include "dubbo-admin.name" . }}
+ {{- end }}
containers:
- name: {{ .Chart.Name }}
- securityContext:
- {{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.Version }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- - name: {{ .Values.service.name }}
+ - name: http
containerPort: {{ .Values.service.containerPort }}
volumeMounts:
- mountPath: /config
@@ -87,15 +64,15 @@
resources:
{{- toYaml .Values.resources | nindent 12 }}
volumes:
- - name: application-properties
- secret:
- secretName: {{ include "dubbo-admin.fullname" . }}-secret
- - name: storage
- {{- if .Values.persistence.enabled }}
- persistentVolumeClaim:
- {{ if .Values.persistence.ClaimName }}
- claimName: {{ .Values.persistence.ClaimName }}
- {{- else -}}
- emptyDir: {{ .Values.persistence.emptyDir }}
- {{- end -}}
- {{- end -}}
+ - name: application-properties
+ configMap:
+ name: {{ include "dubbo-admin.name" . }}-cm
+ - name: storage
+ {{- if .Values.persistence.enabled }}
+ persistentVolumeClaim:
+ {{ if .Values.persistence.ClaimName }}
+ claimName: {{ .Values.persistence.ClaimName }}
+ {{- else }}
+ emptyDir: {{ .Values.persistence.emptyDir }}
+ {{- end -}}
+ {{- end -}}
diff --git a/charts/dubbo-admin/templates/netpol.yaml b/charts/dubbo-admin/templates/netpol.yaml
new file mode 100644
index 0000000..3cfd20c
--- /dev/null
+++ b/charts/dubbo-admin/templates/netpol.yaml
@@ -0,0 +1,11 @@
+{{- if .Values.networkPolicy.enabled }}
+apiVersion: networking.k8s.io/v1
+kind: NetworkPolicy
+metadata:
+ name: {{ include "dubbo-admin.name" . }}
+ namespace: {{ include "dubbo-admin.namespace" . }}
+spec:
+ policyTypes:
+ - Ingress
+ - Egress
+{{- end }}
\ No newline at end of file
diff --git a/charts/dubbo-admin/templates/pdb.yaml b/charts/dubbo-admin/templates/pdb.yaml
new file mode 100644
index 0000000..14efdd1
--- /dev/null
+++ b/charts/dubbo-admin/templates/pdb.yaml
@@ -0,0 +1,17 @@
+{{- if .Values.pdb.enabled }}
+apiVersion: {{ include "dubbo-admin.podDisruptionBudget.apiVersion" . }}
+kind: PodDisruptionBudget
+metadata:
+ name: {{ include "dubbo-admin.name" . }}
+ namespace: {{ include "dubbo-admin.namespace" . }}
+spec:
+ {{- with .Values.pdb.minAvailable }}
+ minAvailable: {{ . }}
+ {{- end }}
+ {{- with .Values.pdb.maxUnavailable }}
+ maxUnavailable: {{ . }}
+ {{- end }}
+ selector:
+ matchLabels:
+ {{- include "dubbo-admin.matchLabels" . | nindent 6 }}
+{{- end -}}
diff --git a/charts/dubbo-admin/templates/psp.yaml b/charts/dubbo-admin/templates/psp.yaml
new file mode 100644
index 0000000..1130df9
--- /dev/null
+++ b/charts/dubbo-admin/templates/psp.yaml
@@ -0,0 +1,32 @@
+{{- if .Values.psp.enabled }}
+apiVersion: policy/v1beta1
+kind: PodSecurityPolicy
+metadata:
+ name: {{ include "dubbo-admin.name" . }}
+ namespace: {{ include "dubbo-admin.namespace" . }}
+spec:
+ privileged: false
+ allowPrivilegeEscalation: false
+ requiredDropCapabilities:
+ - ALL
+ volumes:
+ - ALL
+ hostNetwork: false
+ hostIPC: false
+ hostPID: false
+ runAsUser:
+ rule: 'RunAsAny'
+ seLinux:
+ rule: 'RunAsAny'
+ supplementalGroups:
+ rule: 'MustRunAs'
+ ranges:
+ - min: 1
+ max: 65535
+ fsGroup:
+ rule: 'MustRunAs'
+ ranges:
+ - min: 1
+ max: 65535
+ readOnlyRootFilesystem: false
+{{- end -}}
\ No newline at end of file
diff --git a/charts/dubbo-admin/templates/pvc.yaml b/charts/dubbo-admin/templates/pvc.yaml
new file mode 100644
index 0000000..88dd9bd
--- /dev/null
+++ b/charts/dubbo-admin/templates/pvc.yaml
@@ -0,0 +1,15 @@
+{{- if .Values.persistence.enabled }}
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: {{ include "dubbo-admin.name" . }}
+ namespace: {{ include "dubbo-admin.namespace" . }}
+spec:
+ accessModes: {{ .Values.persistence.accessModes }}
+ resources:
+ requests:
+ storage: {{ .Values.persistence.size | quote }}
+ {{- with .Values.persistence.storageClass }}
+ storageClassName: {{ . }}
+ {{- end }}
+{{- end -}}
diff --git a/charts/dubbo-admin/templates/rbac.yaml b/charts/dubbo-admin/templates/rbac.yaml
new file mode 100644
index 0000000..65f1ff3
--- /dev/null
+++ b/charts/dubbo-admin/templates/rbac.yaml
@@ -0,0 +1,67 @@
+{{- if .Values.serviceAccount.enabled }}
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: {{ include "dubbo-admin.name" . }}
+ namespace: {{ include "dubbo-admin.namespace" . }}
+{{- end }}
+---
+{{- if and .Values.rbac.enabled -}}
+apiVersion: rbac.authorization.k8s.io/v1
+kind: Role
+metadata:
+ name: {{ include "dubbo-admin.name" . }}
+ namespace: {{ include "dubbo-admin.namespace" . }}
+rules:
+ - apiGroups:
+ - ""
+ resources:
+ - pods
+ - deployments
+ verbs:
+ - get
+ - watch
+ - list
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+ name: {{ include "dubbo-admin.name" . }}
+ namespace: default
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: Role
+ name: {{ include "dubbo-admin.name" . }}
+subjects:
+ - kind: ServiceAccount
+ name: {{ include "dubbo-admin.name" . }}
+ namespace: default
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: {{ include "dubbo-admin.name" . }}-clusterrole
+rules:
+ - apiGroups:
+ - ""
+ resources:
+ - pods
+ - deployments
+ verbs:
+ - get
+ - watch
+ - list
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: {{ include "dubbo-admin.name" . }}-clusterrolebinding
+subjects:
+ - kind: ServiceAccount
+ name: dubbo-admin
+ namespace: default
+roleRef:
+ kind: ClusterRole
+ name: {{ include "dubbo-admin.name" . }}-clusterrole
+ apiGroup: rbac.authorization.k8s.io
+{{- end -}}
\ No newline at end of file
diff --git a/charts/dubbo-admin/templates/svc.yaml b/charts/dubbo-admin/templates/svc.yaml
new file mode 100644
index 0000000..348fac6
--- /dev/null
+++ b/charts/dubbo-admin/templates/svc.yaml
@@ -0,0 +1,73 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "dubbo-admin.name" . }}
+ namespace: {{ include "dubbo-admin.namespace" . }}
+spec:
+ {{- if (or (eq .Values.service.type "ClusterIP") (empty .Values.service.type)) }}
+ type: {{ .Values.service.type }}
+ {{- with .Values.service.clusterIP }}
+ clusterIP: {{ . }}
+ {{- end }}
+ {{- else if eq .Values.service.type "LoadBalancer" }}
+ type: {{ .Values.service.type }}
+ {{- with .Values.service.loadBalancerIP }}
+ loadBalancerIP: {{ . }}
+ {{- end }}
+ {{- with .Values.service.loadBalancerSourceRanges }}
+ loadBalancerSourceRanges:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+ {{- else }}
+ type: {{ .Values.service.type }}
+ {{- end }}
+ {{- with .Values.service.externalIPs }}
+ externalIPs:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+ ports:
+ - name: http
+ port: {{ .Values.service.port }}
+ protocol: {{ .Values.service.protocol }}
+ targetPort: {{ .Values.service.targetPort }}
+ {{- with .Values.service.appProtocol }}
+ appProtocol: {{ . }}
+ {{- end }}
+ {{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort))) }}
+ nodePort: {{ .Values.service.nodePort }}
+ {{- end }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "dubbo-admin.name" . }}-headless
+ namespace: {{ include "dubbo-admin.namespace" . }}
+spec:
+ {{- if (or (eq .Values.service.type "ClusterIP") (empty .Values.service.type)) }}
+ type: {{ .Values.service.type }}
+ clusterIP: None
+ {{- else if eq .Values.service.type "LoadBalancer" }}
+ type: {{ .Values.service.type }}
+ {{- with .Values.service.loadBalancerIP }}
+ loadBalancerIP: {{ . }}
+ {{- end }}
+ {{- with .Values.service.loadBalancerSourceRanges }}
+ loadBalancerSourceRanges:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+ {{- else }}
+ type: {{ .Values.service.type }}
+ {{- end }}
+ {{- with .Values.service.externalIPs }}
+ externalIPs:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+ ports:
+ - name: http
+ port: {{ .Values.service.port }}
+ protocol: {{ .Values.service.protocol }}
+ targetPort: {{ .Values.service.targetPort }}
+ appProtocol: {{ .Values.service.appProtocol }}
+ {{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort))) }}
+ nodePort: {{ .Values.service.nodePort }}
+ {{- end }}
diff --git a/charts/dubbo-admin/values.yaml b/charts/dubbo-admin/values.yaml
new file mode 100644
index 0000000..21ad230
--- /dev/null
+++ b/charts/dubbo-admin/values.yaml
@@ -0,0 +1,168 @@
+nameOverride: ~
+
+namespaceOverride: ~
+
+nodeSelector: ~
+
+affinity: ~
+
+tolerations: ~
+
+replicas: 1
+
+imagePullSecrets: ~
+
+image:
+ registry: docker.io
+ repository: apache/dubbo-admin
+ tag: 0.5.0
+ pullPolicy: IfNotPresent
+
+serviceAccount:
+ enabled: false
+ labels: {}
+ annotations: {}
+
+rbac:
+ enabled: false
+
+psp:
+ enabled: false
+ labels: {}
+ annotations: {}
+
+pdb:
+ enabled: false
+ labels: {}
+ annotations: {}
+ minAvailable: 1
+ maxUnavailable: 1
+
+networkPolicy:
+ enabled: false
+
+readinessProbe:
+ httpGet:
+ path: /
+ port: 8080
+ initialDelaySeconds: 60
+ timeoutSeconds: 30
+ periodSeconds: 10
+ successThreshold: 1
+ failureThreshold: 3
+ probeCommandTimeout: 1
+
+livenessProbe:
+ httpGet:
+ path: /
+ port: 8080
+ initialDelaySeconds: 60
+ timeoutSeconds: 30
+ periodSeconds: 10
+ successThreshold: 1
+ failureThreshold: 3
+ probeCommandTimeout: 1
+
+startupProbe:
+ httpGet:
+ path: /
+ port: 8080
+ initialDelaySeconds: 60
+ timeoutSeconds: 30
+ periodSeconds: 10
+ successThreshold: 1
+ failureThreshold: 3
+
+resources: {}
+# limits:
+# cpu: 100m
+# memory: 128Mi
+# requests:
+# cpu: 100m
+# memory: 128Mi
+
+service:
+ labels: {}
+ annotations: {}
+ type: ClusterIP
+ clusterIP: ""
+ externalIPs: ""
+ loadBalancerIP: ""
+ loadBalancerSourceRanges: ""
+ nodePort: ""
+ port: 38080
+ targetPort: http
+ containerPort: 8080
+ protocol: TCP
+ appProtocol: ""
+
+persistence:
+ enabled: false
+ labels: {}
+ annotations: {}
+ storageClass: ""
+ accessModes: ReadWriteOnce
+ size: 10Gi
+ ClaimName: {}
+ emptyDir: {}
+
+user:
+ name: root
+ password: root
+
+dubbo:
+ name: dubbo-admin
+ logger: slf4j
+
+check:
+ sessionTimeoutMilli: 3600000
+ tokenTimeoutMilli: 3600000
+ signSecret: ~
+
+serverCompression:
+ enabled: true
+ mimeTypes: text/css,text/javascript,application/javascript
+ minResponseSize: 10240
+
+zookeeper:
+ enabled: false
+ address: zookeeper://zookeeper:2181
+
+nacos:
+ enabled: true
+ address: nacos://nacos:8848
+ group: DEFAULT_GROUP
+ namespace: public
+
+apollo:
+ enabled: false
+ address: apollo://apollo:8070
+ token: ~
+ appId: test
+ env: dev
+ cluster: default
+ namespace: dubbo
+
+mysql:
+ enabled: false
+ driverClassName: com.mysql.jdbc.Driver
+ address: mysql://mysql:3306/dubbo-admin
+ encode: utf8
+ connectTimeout: 1000
+ socketTimeout: 10000
+ autoReconnect: true
+ username: sa
+ password: ~
+
+h2:
+ enabled: true
+ mode: MYSQL
+ mem: ~/dubbo-admin
+ username: sa
+ password:
+
+mybatisPlus:
+ global:
+ db:
+ idType: none
+