diff --git a/wekan/.helmignore b/wekan/.helmignore index 7c04072..be121d3 100644 --- a/wekan/.helmignore +++ b/wekan/.helmignore @@ -19,4 +19,4 @@ .project .idea/ *.tmproj -OWNERS +#OWNERS diff --git a/wekan/.values.home.yaml.swp b/wekan/.values.home.yaml.swp new file mode 100644 index 0000000..8e6c467 Binary files /dev/null and b/wekan/.values.home.yaml.swp differ diff --git a/wekan/Chart.lock b/wekan/Chart.lock new file mode 100644 index 0000000..6f8413f --- /dev/null +++ b/wekan/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: mongodb + repository: https://charts.bitnami.com/bitnami + version: 13.6.8 +digest: sha256:f8ec7f31174e272828f048b7f64b8b211437c5982b1d71bea65a3f8f63e0a36f +generated: "2023-02-21T04:33:19.424480011+02:00" diff --git a/wekan/Chart.yaml b/wekan/Chart.yaml index ffd164b..3fa35d6 100644 --- a/wekan/Chart.yaml +++ b/wekan/Chart.yaml @@ -1,13 +1,28 @@ -name: wekan -version: 1.0.0 -appVersion: 2.x.x -kubeVersion: "^1.8.0-0" +apiVersion: v2 +appVersion: "7.30" +dependencies: + - condition: mongodb.enabled + name: mongodb + repository: https://charts.bitnami.com/bitnami + version: 13.6.x description: Open Source kanban -home: https://wekan.github.io/ +home: https://wekan.github.io icon: https://wekan.github.io/wekan-logo.svg +keywords: + - kanban +maintainers: + - email: support@wekan.team + name: wekan + - email: x@xet7.org + name: xet7 + - email: github@randall.cc + name: technotaff + - email: jiangyt.cn@gmail.com + name: jiangytcn + - email: varac@varac.net + name: varac +name: wekan sources: - https://github.com/wekan/wekan -maintainers: - - name: technotaff - email: github@randall.cc -engine: gotpl +type: application +version: 7.30.0 diff --git a/wekan/OWNERS b/wekan/OWNERS index 08f7d5d..191209e 100644 --- a/wekan/OWNERS +++ b/wekan/OWNERS @@ -1,4 +1,6 @@ approvers: +- xet7 - technotaff reviewers: +- xet7 - technotaff diff --git a/wekan/README.md b/wekan/README.md index 38cb5fe..3f11c78 100644 --- a/wekan/README.md +++ b/wekan/README.md @@ -1,12 +1,38 @@ -# Helm Chart for Wekan +# WeKan ® - Open Source kanban + +## Installing the Chart + +To install the chart with the release name `my-release`: + +```bash +helm repo add wekan https://wekan.github.io/charts +helm install my-release wekan/wekan +``` + +These commands deploy Wekan on the Kubernetes cluster in the default configuration. + +Tip: List all releases using `helm list` + +For all available values see `helm show values wekan/wekan`. + +## Uninstalling the Chart + +To uninstall/delete the my-release deployment: + +```bash +helm delete my-release +``` + +The command removes all the Kubernetes components associated with the chart and +deletes the release. ## Features -o Uses a MongoDB replica set by default - this allows fault-tolerant +* Uses a MongoDB replica set by default - this allows fault-tolerant and scalable MongoDB deployment (or just set the replicas to 1 for a single server install) -o Optional Horizontal Pod Autoscaler (HPA), so that your Wekan pods +* Optional Horizontal Pod Autoscaler (HPA), so that your Wekan pods will scale automatically with increased CPU load. ## The configurable values (values.yaml) @@ -19,7 +45,9 @@ Scaling Wekan: replicaCount: 1 ``` -**replicaCount** Will set the initial number of replicas for the Wekan pod (and container) + +**replicaCount** will set the initial number of replicas for the Wekan pod +(and container) ```yaml ## Configure an horizontal pod autoscaler @@ -34,13 +62,17 @@ autoscaling: ## targetCPUUtilizationPercentage: 80 ``` -This section (if *enabled* is set to **true**) will enable the Kubernetes Horizontal Pod Autoscaler (HPA). -**minReplicas:** this is the minimum number of pods to scale down to (We recommend setting this to the same value as **replicaCount**). +This section (if *enabled* is set to **true**) will enable the Kubernetes +Horizontal Pod Autoscaler (HPA). + +**minReplicas:** this is the minimum number of pods to scale down to +(We recommend setting this to the same value as **replicaCount**). **maxReplicas:** this is the maximum number of pods to scale up to. -**targetCPUUtilizationPercentage:** This is the CPU at which the HPA will scale-out the number of Wekan pods. +**targetCPUUtilizationPercentage:** This is the CPU at which the HPA will +scale-out the number of Wekan pods. ```yaml mongodb-replicaset: @@ -55,11 +87,16 @@ mongodb-replicaset: This section controls the scale of the MongoDB redundant Replica Set. -**replicas:** This is the number of MongoDB instances to include in the set. You can set this to 1 for a single server - this will still allow you to scale-up later with a helm upgrade. +**replicas:** This is the number of MongoDB instances to include in the set. +You can set this to 1 for a single server - this will still allow you to +scale-up later with a helm upgrade. ### Install OCP route -If you use this chart to deploy Wekan on an OCP cluster, you can create route instead of ingress with following command: -``` bash -$ helm template --set route.enabled=true,ingress.enabled=false values.yaml . | oc apply -f- +If you use this chart to deploy Wekan on an OCP cluster, you can create route +instead of ingress with following command: + +```bash +helm template --set route.enabled=true,ingress.enabled=false values.yaml . | \ + oc apply -f- ``` diff --git a/wekan/charts/.gitkeep b/wekan/charts/.gitkeep deleted file mode 100644 index 8b13789..0000000 --- a/wekan/charts/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - diff --git a/wekan/requirements.yaml b/wekan/requirements.yaml deleted file mode 100644 index d19fc63..0000000 --- a/wekan/requirements.yaml +++ /dev/null @@ -1,5 +0,0 @@ -dependencies: -- name: mongodb-replicaset - version: 3.11.x - repository: "https://kubernetes-charts.storage.googleapis.com/" - condition: mongodb-replicaset.enabled diff --git a/wekan/templates/_helpers.tpl b/wekan/templates/_helpers.tpl index 7f33330..5ee1b10 100644 --- a/wekan/templates/_helpers.tpl +++ b/wekan/templates/_helpers.tpl @@ -62,21 +62,27 @@ Create the name of the service account to use for the api component Create a default fully qualified mongodb-replicaset name. We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). */}} -{{- define "wekan.mongodb-replicaset.fullname" -}} -{{- $name := default "mongodb-replicaset" (index .Values "mongodb-replicaset" "nameOverride") -}} +{{- define "wekan.mongodb.svcname" -}} +{{- $name := default "mongodb" (index .Values "mongodb" "nameOverride") -}} +{{- if eq .Values.mongodb.architecture "replicaset" }} +{{- printf "%s-%s-headless" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- else -}} {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} {{- end -}} +{{- end -}} {{/* Create the MongoDB URL. If MongoDB is installed as part of this chart, use k8s service discovery, else use user-provided URL. */}} -{{- define "mongodb-replicaset.url" -}} -{{- if (index .Values "mongodb-replicaset" "enabled") -}} -{{- $count := (int (index .Values "mongodb-replicaset" "replicas")) -}} +{{- define "mongodb.url" -}} +{{- if (index .Values "mongodb" "enabled") -}} +{{- $count := (int (index .Values "mongodb" "replicaCount")) -}} {{- $release := .Release.Name -}} -mongodb://{{ $release }}-mongodb-replicaset:27017/admin?replicaSet={{ index .Values "mongodb-replicaset" "replicaSetName" }} +{{- $replicaSetName := (index .Values "mongodb" "replicaSetName") -}} +{{- $mongodbSvcName := include "wekan.mongodb.svcname" . -}} +mongodb://{{- range $v := until $count }}{{ $release }}-mongodb-{{ $v }}.{{ $mongodbSvcName }}:27017{{ if ne $v (sub $count 1) }},{{- end -}}{{- end -}}/{{ .Values.dbname }}?replicaSet={{ $replicaSetName }} {{- else -}} -{{- index .Values "mongodb-replicaset" "url" -}} +{{- index .Values "mongodb" "url" -}} {{- end -}} {{- end -}} diff --git a/wekan/templates/data-pvc.yaml b/wekan/templates/data-pvc.yaml new file mode 100644 index 0000000..4ab29e6 --- /dev/null +++ b/wekan/templates/data-pvc.yaml @@ -0,0 +1,26 @@ +{{- if .Values.sharedDataFolder.enabled }} +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: {{ template "wekan.fullname" . }}-shared-data + labels: + app: {{ template "wekan.name" . }} + chart: {{ template "wekan.chart" . }} + component: wekan + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} +spec: + accessModes: + {{- if .Values.sharedDataFolder.accessMode }} + - {{ .Values.sharedDataFolder.accessMode }} + {{- else }} + - ReadWriteMany + {{- end }} + {{- if .Values.sharedDataFolder.storageClass }} + storageClassName: {{ .Values.sharedDataFolder.storageClass | quote }} + {{- end }} + {{- with .Values.sharedDataFolder.resources }} + resources: + {{- toYaml . | nindent 4 }} + {{- end }} +{{ end }} diff --git a/wekan/templates/deployment.yaml b/wekan/templates/deployment.yaml index 68dbf75..931b400 100644 --- a/wekan/templates/deployment.yaml +++ b/wekan/templates/deployment.yaml @@ -8,6 +8,9 @@ metadata: component: wekan release: {{ .Release.Name }} heritage: {{ .Release.Service }} + {{- if .Values.deploymentLabels }} + {{- toYaml .Values.deploymentLabels | nindent 4 }} + {{- end }} spec: replicas: {{ .Values.replicaCount }} selector: @@ -22,8 +25,21 @@ spec: app: {{ template "wekan.name" . }} component: wekan release: {{ .Release.Name }} + {{- if .Values.podLabels }} + {{- toYaml .Values.podLabels | nindent 8 }} + {{- end }} spec: serviceAccountName: {{ template "wekan.serviceAccountName" . }} + {{- if ne .Values.platform "openshift" }} + initContainers: + - name: volume-permissions + image: busybox + imagePullPolicy: {{ .Values.image.pullPolicy }} + command: ['sh', '-c', 'chown -R 999:999 /data'] + volumeMounts: + - name: shared-data-volume + mountPath: /data + {{- end }} containers: - name: {{ .Chart.Name }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" @@ -31,23 +47,52 @@ spec: terminationMessagePolicy: FallbackToLogsOnError ports: - name: http - containerPort: 8080 + containerPort: {{ .Values.service.port }} env: - name: ROOT_URL - value: {{ .Values.root_url | default "https://wekan.local" | quote }} + value: {{ .Values.root_url | quote }} + {{- $mongo_url_is_secret := false }} + {{- range $key := .Values.secretEnv }} + {{- if eq .name "MONGO_URL" }} + {{- $mongo_url_is_secret = true }} + {{- end }} + {{- end }} + {{- if not $mongo_url_is_secret }} - name: MONGO_URL - value: "{{ template "mongodb-replicaset.url" . }}" + value: "{{ template "mongodb.url" . }}" + {{- end }} {{- range $key := .Values.env }} {{- if .value }} - name: {{ .name }} value: {{ .value | quote }} {{- end }} {{- end }} + {{- range $key := .Values.secretEnv }} + - name: {{ .name }} + valueFrom: + secretKeyRef: + name: {{ template "wekan.fullname" $ }}-secret + key: {{ .name }} + {{- end }} + envFrom: + {{- with .Values.extraEnvFrom }} + {{- tpl . $ | nindent 10 }} + {{- end }} + readinessProbe: + httpGet: + path: / + port: {{ .Values.service.port }} + initialDelaySeconds: 20 livenessProbe: httpGet: path: / - port: 8080 + port: {{ .Values.service.port }} initialDelaySeconds: 60 + {{ if .Values.sharedDataFolder.enabled }} + volumeMounts: + - name: shared-data-volume + mountPath: /data + {{ end }} resources: {{ toYaml .Values.resources | indent 12 }} {{- with .Values.nodeSelector }} @@ -62,3 +107,9 @@ spec: tolerations: {{ toYaml . | indent 8 }} {{- end }} + {{ if .Values.sharedDataFolder.enabled }} + volumes: + - name: shared-data-volume + persistentVolumeClaim: + claimName: {{ template "wekan.fullname" . }}-shared-data + {{ end }} diff --git a/wekan/templates/extra-list.yaml b/wekan/templates/extra-list.yaml new file mode 100644 index 0000000..ba7c9a6 --- /dev/null +++ b/wekan/templates/extra-list.yaml @@ -0,0 +1,4 @@ +{{- range .Values.extraDeploy }} +--- +{{ toYaml . }} +{{- end }} \ No newline at end of file diff --git a/wekan/templates/ingress.yaml b/wekan/templates/ingress.yaml index dd85ef5..67ef37d 100644 --- a/wekan/templates/ingress.yaml +++ b/wekan/templates/ingress.yaml @@ -2,7 +2,8 @@ {{- $fullName := include "wekan.fullname" . -}} {{- $servicePort := .Values.service.port -}} {{- $ingressPath := .Values.ingress.path -}} -apiVersion: extensions/v1beta1 +{{- $ingressPathType := .Values.ingress.pathtype -}} +apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: {{ $fullName }} @@ -33,8 +34,11 @@ spec: http: paths: - path: {{ $ingressPath }} + pathType: {{ $ingressPathType }} backend: - serviceName: {{ $fullName }} - servicePort: 80 + service: + name: {{ $fullName }} + port: + number: 8080 {{- end }} {{- end }} diff --git a/wekan/templates/secret.yaml b/wekan/templates/secret.yaml new file mode 100644 index 0000000..80f5c82 --- /dev/null +++ b/wekan/templates/secret.yaml @@ -0,0 +1,13 @@ +{{ if .Values.secretEnv }} +apiVersion: v1 +kind: Secret +metadata: + name: {{ template "wekan.fullname" $ }}-secret +type: Opaque +data: +{{- range $key := .Values.secretEnv -}} +{{ if $key.value }} +{{ $key.name | indent 2 }}: {{ $key.value | b64enc }} +{{- end }} +{{- end }} +{{ end }} diff --git a/wekan/templates/secrets.yaml b/wekan/templates/secrets.yaml deleted file mode 100644 index 79ae3d4..0000000 --- a/wekan/templates/secrets.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: {{ template "wekan.fullname" . }} - labels: - app: {{ template "wekan.name" . }} - chart: {{ template "wekan.chart" . }} - component: wekan - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} -type: Opaque -data: - accessKey: {{ .Values.credentials.accessKey | b64enc }} - secretKey: {{ .Values.credentials.secretKey | b64enc }} diff --git a/wekan/templates/tests/test-cloudserver.yaml b/wekan/templates/tests/test-cloudserver.yaml deleted file mode 100644 index a1db728..0000000 --- a/wekan/templates/tests/test-cloudserver.yaml +++ /dev/null @@ -1,27 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: {{ template "wekan.fullname" . }}-test - annotations: - "helm.sh/hook": test-success -spec: - containers: - - name: {{ template "wekan.fullname" . }}-test - imagePullPolicy: IfNotPresent - image: "docker.io/mesosphere/aws-cli:1.14.5" - command: - - sh - - -c - - aws s3 --endpoint-url=http://{{ include "wekan.fullname" . }} --region=us-east-1 ls - env: - - name: AWS_ACCESS_KEY_ID - valueFrom: - secretKeyRef: - name: {{ template "wekan.fullname" . }} - key: accessKey - - name: AWS_SECRET_ACCESS_KEY - valueFrom: - secretKeyRef: - name: {{ template "wekan.fullname" . }} - key: secretKey - restartPolicy: Never diff --git a/wekan/templates/tests/test-http.yaml b/wekan/templates/tests/test-http.yaml new file mode 100644 index 0000000..2ed7e75 --- /dev/null +++ b/wekan/templates/tests/test-http.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Pod +metadata: + name: "{{ template "wekan.fullname" . }}-test-http" + labels: + app: {{ template "wekan.name" . }} + chart: {{ template "wekan.chart" . }} + component: wekan + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} + annotations: + "helm.sh/hook": test +spec: + containers: + - name: wget + image: busybox + command: ['wget', '-O', '/dev/stdout'] + args: ['{{ template "wekan.fullname" . }}:{{ .Values.service.port }}'] + restartPolicy: Never diff --git a/wekan/values.home.yaml b/wekan/values.home.yaml new file mode 100644 index 0000000..2459660 --- /dev/null +++ b/wekan/values.home.yaml @@ -0,0 +1,150 @@ +# ------------------------------------------------------------------------------ +# Wekan: +# ------------------------------------------------------------------------------ +## Define platform where helm chart is deployed (set to 'openshift' to disable initContainer with chown command) +platform: kubernetes + +## Define serviceAccount names to create or use. Defaults to component's fully +## qualified name. +## +serviceAccounts: + create: true + name: "" + annotations: "" + +## Wekan image configuration +## +image: + repository: ghcr.io/wekan/wekan + tag: v7.30 + pullPolicy: IfNotPresent + +## Configuration for wekan component +## + +replicaCount: 1 +dbname: wekan + +## Specify additional environmental variables for the Deployment +## +env: + - name: "" + value: "" + +# Additional environment variables for Wekan mapped from Secret or ConfigMap +extraEnvFrom: "" +# extraEnvFrom: | +# - secretRef: +# name: "{{ template "wekan.fullname" $ }}-test-secret" + +## Specify additional secret environmental variables for the +## Deployment. These can e.g. be provided by a Secret and allow +## to store passwords separately +## +secretEnv: {} + # - name: "" + ## value: "" + +service: + type: ClusterIP + port: 8080 + annotations: {} + prometheus.io/scrape: "true" + prometheus.io/port: "8000" + prometheus.io/path: "/_/monitoring/metrics" + +## Comma-separated string of allowed virtual hosts for external access. +## This should match the ingress hosts +## +endpoint: wekan.wekan,kan.k8s.ipa.champion,kan.ervine.cloud,wekan.local + +## Main URL (including http:// or https://) where your Wekan +## instance is accessible +## +root_url: https://kan.ervine.cloud + +ingress: + enabled: false + annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + path: / + pathtype: ImplementationSpecific + # This must match 'endpoint', unless your client supports different + # hostnames. + hosts: [ wekan.local ] + # - wekan.local + tls: [] + # - secretName: wekan-example-tls + # hosts: + # - wekan-example.local + +route: + enabled: false + +resources: + requests: + memory: 128Mi + cpu: 300m + limits: + memory: 1Gi + +## Node labels for pod assignment +## ref: https://kubernetes.io/docs/user-guide/node-selection/ +## +nodeSelector: + location: bedRoom + +## Tolerations for pod assignment +## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ +## +tolerations: [] + +## Affinity for pod assignment +## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity +## +affinity: {} + +## Configure an horizontal pod autoscaler +## +autoscaling: + enabled: true + config: + minReplicas: 1 + maxReplicas: 16 + ## Note: when setting this, a `resources.request.cpu` is required. You + ## likely want to set it to `1` or some lower value. + ## + targetCPUUtilizationPercentage: 80 + +# Optional custom labels for the deployment resource. +deploymentLabels: {} + +# Optional custom labels for the pods created by the deployment. +podLabels: {} + +sharedDataFolder: + enabled: true + path: /data + accessMode: ReadWriteOnce + storageClass: + resources: + requests: + storage: 5Gi + +extraDeploy: [] +# ------------------------------------------------------------------------------ +# MongoDB: +# ref: https://github.com/bitnami/charts/blob/master/bitnami/mongodb/values.yaml +# ------------------------------------------------------------------------------ + +mongodb: + enabled: true + architecture: replicaset + replicaCount: 1 + replicaSetName: rs0 + auth: + enabled: false + # Optional specify an existing PVC + persistence: + existingClaim: "wekan-mongodb" diff --git a/wekan/values.yaml b/wekan/values.yaml index 2c72ead..cc12553 100644 --- a/wekan/values.yaml +++ b/wekan/values.yaml @@ -1,6 +1,8 @@ # ------------------------------------------------------------------------------ # Wekan: # ------------------------------------------------------------------------------ +## Define platform where helm chart is deployed (set to 'openshift' to disable initContainer with chown command) +platform: kubernetes ## Define serviceAccount names to create or use. Defaults to component's fully ## qualified name. @@ -13,20 +15,15 @@ serviceAccounts: ## Wekan image configuration ## image: - repository: quay.io/wekan/wekan - tag: latest + repository: ghcr.io/wekan/wekan + tag: v7.30 pullPolicy: IfNotPresent ## Configuration for wekan component ## replicaCount: 1 - -## Specify wekan credentials -## -credentials: - accessKey: access-key - secretKey: secret-key +dbname: wekan ## Specify additional environmental variables for the Deployment ## @@ -34,25 +31,45 @@ env: - name: "" value: "" +# Additional environment variables for Wekan mapped from Secret or ConfigMap +extraEnvFrom: "" +# extraEnvFrom: | +# - secretRef: +# name: "{{ template "wekan.fullname" $ }}-test-secret" + +## Specify additional secret environmental variables for the +## Deployment. These can e.g. be provided by a Secret and allow +## to store passwords separately +## +secretEnv: {} + # - name: "" + ## value: "" + service: type: ClusterIP - port: 80 - annotations: - prometheus.io/scrape: "true" - prometheus.io/port: "8000" - prometheus.io/path: "/_/monitoring/metrics" + port: 8080 + annotations: {} + # prometheus.io/scrape: "true" + # prometheus.io/port: "8000" + # prometheus.io/path: "/_/monitoring/metrics" ## Comma-separated string of allowed virtual hosts for external access. ## This should match the ingress hosts ## -endpoint: wekan.wekan,kan.k8s.ipa.champion,kan.ervine.cloud +endpoint: wekan.local + +## Main URL (including http:// or https://) where your Wekan +## instance is accessible +## +root_url: https://wekan.local ingress: - enabled: false + enabled: true annotations: {} # kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: "true" - path: /* + path: / + pathtype: ImplementationSpecific # This must match 'endpoint', unless your client supports different # hostnames. hosts: [ wekan.local ] @@ -76,8 +93,7 @@ resources: ## Node labels for pod assignment ## ref: https://kubernetes.io/docs/user-guide/node-selection/ ## -nodeSelector: - location: bedRoom +nodeSelector: {} ## Tolerations for pod assignment ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ @@ -95,23 +111,40 @@ autoscaling: enabled: true config: minReplicas: 1 - maxReplicas: 4 + maxReplicas: 16 ## Note: when setting this, a `resources.request.cpu` is required. You ## likely want to set it to `1` or some lower value. ## targetCPUUtilizationPercentage: 80 +# Optional custom labels for the deployment resource. +deploymentLabels: {} + +# Optional custom labels for the pods created by the deployment. +podLabels: {} + +sharedDataFolder: + enabled: true + path: /data + accessMode: ReadWriteOnce + storageClass: + resources: + requests: + storage: 5Gi + +extraDeploy: [] # ------------------------------------------------------------------------------ # MongoDB: +# ref: https://github.com/bitnami/charts/blob/master/bitnami/mongodb/values.yaml # ------------------------------------------------------------------------------ -mongodb-replicaset: +mongodb: enabled: true - replicas: 1 + architecture: replicaset + replicaCount: 3 replicaSetName: rs0 - securityContext: - runAsUser: 1000 - fsGroup: 1000 - runAsNonRoot: true - #image: - # tag: 3.2.21 + auth: + enabled: false + # Optional specify an existing PVC + persistence: + existingClaim: ""