Add wekan chart

This commit is contained in:
Jonny Ervine 2024-02-09 22:55:39 +08:00
parent b9e633bce1
commit d8d75be4be
19 changed files with 428 additions and 109 deletions

View File

@ -19,4 +19,4 @@
.project .project
.idea/ .idea/
*.tmproj *.tmproj
OWNERS #OWNERS

BIN
wekan/.values.home.yaml.swp Normal file

Binary file not shown.

6
wekan/Chart.lock Normal file
View File

@ -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"

View File

@ -1,13 +1,28 @@
name: wekan apiVersion: v2
version: 1.0.0 appVersion: "7.30"
appVersion: 2.x.x dependencies:
kubeVersion: "^1.8.0-0" - condition: mongodb.enabled
name: mongodb
repository: https://charts.bitnami.com/bitnami
version: 13.6.x
description: Open Source kanban description: Open Source kanban
home: https://wekan.github.io/ home: https://wekan.github.io
icon: https://wekan.github.io/wekan-logo.svg 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: sources:
- https://github.com/wekan/wekan - https://github.com/wekan/wekan
maintainers: type: application
- name: technotaff version: 7.30.0
email: github@randall.cc
engine: gotpl

View File

@ -1,4 +1,6 @@
approvers: approvers:
- xet7
- technotaff - technotaff
reviewers: reviewers:
- xet7
- technotaff - technotaff

View File

@ -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 ## 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 and scalable MongoDB deployment (or just set the replicas to 1 for
a single server install) 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. will scale automatically with increased CPU load.
## The configurable values (values.yaml) ## The configurable values (values.yaml)
@ -19,7 +45,9 @@ Scaling Wekan:
replicaCount: 1 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 ```yaml
## Configure an horizontal pod autoscaler ## Configure an horizontal pod autoscaler
@ -34,13 +62,17 @@ autoscaling:
## ##
targetCPUUtilizationPercentage: 80 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. **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 ```yaml
mongodb-replicaset: mongodb-replicaset:
@ -55,11 +87,16 @@ mongodb-replicaset:
This section controls the scale of the MongoDB redundant Replica Set. 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 ### 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:
If you use this chart to deploy Wekan on an OCP cluster, you can create route
instead of ingress with following command:
```bash ```bash
$ helm template --set route.enabled=true,ingress.enabled=false values.yaml . | oc apply -f- helm template --set route.enabled=true,ingress.enabled=false values.yaml . | \
oc apply -f-
``` ```

View File

@ -1 +0,0 @@

View File

@ -1,5 +0,0 @@
dependencies:
- name: mongodb-replicaset
version: 3.11.x
repository: "https://kubernetes-charts.storage.googleapis.com/"
condition: mongodb-replicaset.enabled

View File

@ -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. 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). We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
*/}} */}}
{{- define "wekan.mongodb-replicaset.fullname" -}} {{- define "wekan.mongodb.svcname" -}}
{{- $name := default "mongodb-replicaset" (index .Values "mongodb-replicaset" "nameOverride") -}} {{- $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 "-" -}} {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}} {{- end -}}
{{- end -}}
{{/* {{/*
Create the MongoDB URL. If MongoDB is installed as part of this chart, use k8s service discovery, Create the MongoDB URL. If MongoDB is installed as part of this chart, use k8s service discovery,
else use user-provided URL. else use user-provided URL.
*/}} */}}
{{- define "mongodb-replicaset.url" -}} {{- define "mongodb.url" -}}
{{- if (index .Values "mongodb-replicaset" "enabled") -}} {{- if (index .Values "mongodb" "enabled") -}}
{{- $count := (int (index .Values "mongodb-replicaset" "replicas")) -}} {{- $count := (int (index .Values "mongodb" "replicaCount")) -}}
{{- $release := .Release.Name -}} {{- $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 -}} {{- else -}}
{{- index .Values "mongodb-replicaset" "url" -}} {{- index .Values "mongodb" "url" -}}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}

View File

@ -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 }}

View File

@ -8,6 +8,9 @@ metadata:
component: wekan component: wekan
release: {{ .Release.Name }} release: {{ .Release.Name }}
heritage: {{ .Release.Service }} heritage: {{ .Release.Service }}
{{- if .Values.deploymentLabels }}
{{- toYaml .Values.deploymentLabels | nindent 4 }}
{{- end }}
spec: spec:
replicas: {{ .Values.replicaCount }} replicas: {{ .Values.replicaCount }}
selector: selector:
@ -22,8 +25,21 @@ spec:
app: {{ template "wekan.name" . }} app: {{ template "wekan.name" . }}
component: wekan component: wekan
release: {{ .Release.Name }} release: {{ .Release.Name }}
{{- if .Values.podLabels }}
{{- toYaml .Values.podLabels | nindent 8 }}
{{- end }}
spec: spec:
serviceAccountName: {{ template "wekan.serviceAccountName" . }} 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: containers:
- name: {{ .Chart.Name }} - name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
@ -31,23 +47,52 @@ spec:
terminationMessagePolicy: FallbackToLogsOnError terminationMessagePolicy: FallbackToLogsOnError
ports: ports:
- name: http - name: http
containerPort: 8080 containerPort: {{ .Values.service.port }}
env: env:
- name: ROOT_URL - 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 - name: MONGO_URL
value: "{{ template "mongodb-replicaset.url" . }}" value: "{{ template "mongodb.url" . }}"
{{- end }}
{{- range $key := .Values.env }} {{- range $key := .Values.env }}
{{- if .value }} {{- if .value }}
- name: {{ .name }} - name: {{ .name }}
value: {{ .value | quote }} value: {{ .value | quote }}
{{- end }} {{- end }}
{{- 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: livenessProbe:
httpGet: httpGet:
path: / path: /
port: 8080 port: {{ .Values.service.port }}
initialDelaySeconds: 60 initialDelaySeconds: 60
{{ if .Values.sharedDataFolder.enabled }}
volumeMounts:
- name: shared-data-volume
mountPath: /data
{{ end }}
resources: resources:
{{ toYaml .Values.resources | indent 12 }} {{ toYaml .Values.resources | indent 12 }}
{{- with .Values.nodeSelector }} {{- with .Values.nodeSelector }}
@ -62,3 +107,9 @@ spec:
tolerations: tolerations:
{{ toYaml . | indent 8 }} {{ toYaml . | indent 8 }}
{{- end }} {{- end }}
{{ if .Values.sharedDataFolder.enabled }}
volumes:
- name: shared-data-volume
persistentVolumeClaim:
claimName: {{ template "wekan.fullname" . }}-shared-data
{{ end }}

View File

@ -0,0 +1,4 @@
{{- range .Values.extraDeploy }}
---
{{ toYaml . }}
{{- end }}

View File

@ -2,7 +2,8 @@
{{- $fullName := include "wekan.fullname" . -}} {{- $fullName := include "wekan.fullname" . -}}
{{- $servicePort := .Values.service.port -}} {{- $servicePort := .Values.service.port -}}
{{- $ingressPath := .Values.ingress.path -}} {{- $ingressPath := .Values.ingress.path -}}
apiVersion: extensions/v1beta1 {{- $ingressPathType := .Values.ingress.pathtype -}}
apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: {{ $fullName }} name: {{ $fullName }}
@ -33,8 +34,11 @@ spec:
http: http:
paths: paths:
- path: {{ $ingressPath }} - path: {{ $ingressPath }}
pathType: {{ $ingressPathType }}
backend: backend:
serviceName: {{ $fullName }} service:
servicePort: 80 name: {{ $fullName }}
port:
number: 8080
{{- end }} {{- end }}
{{- end }} {{- end }}

View File

@ -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 }}

View File

@ -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 }}

View File

@ -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

View File

@ -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

150
wekan/values.home.yaml Normal file
View File

@ -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"

View File

@ -1,6 +1,8 @@
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# Wekan: # 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 ## Define serviceAccount names to create or use. Defaults to component's fully
## qualified name. ## qualified name.
@ -13,20 +15,15 @@ serviceAccounts:
## Wekan image configuration ## Wekan image configuration
## ##
image: image:
repository: quay.io/wekan/wekan repository: ghcr.io/wekan/wekan
tag: latest tag: v7.30
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
## Configuration for wekan component ## Configuration for wekan component
## ##
replicaCount: 1 replicaCount: 1
dbname: wekan
## Specify wekan credentials
##
credentials:
accessKey: access-key
secretKey: secret-key
## Specify additional environmental variables for the Deployment ## Specify additional environmental variables for the Deployment
## ##
@ -34,25 +31,45 @@ env:
- name: "" - name: ""
value: "" 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: service:
type: ClusterIP type: ClusterIP
port: 80 port: 8080
annotations: annotations: {}
prometheus.io/scrape: "true" # prometheus.io/scrape: "true"
prometheus.io/port: "8000" # prometheus.io/port: "8000"
prometheus.io/path: "/_/monitoring/metrics" # prometheus.io/path: "/_/monitoring/metrics"
## Comma-separated string of allowed virtual hosts for external access. ## Comma-separated string of allowed virtual hosts for external access.
## This should match the ingress hosts ## 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: ingress:
enabled: false enabled: true
annotations: {} annotations: {}
# kubernetes.io/ingress.class: nginx # kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true" # kubernetes.io/tls-acme: "true"
path: /* path: /
pathtype: ImplementationSpecific
# This must match 'endpoint', unless your client supports different # This must match 'endpoint', unless your client supports different
# hostnames. # hostnames.
hosts: [ wekan.local ] hosts: [ wekan.local ]
@ -76,8 +93,7 @@ resources:
## Node labels for pod assignment ## Node labels for pod assignment
## ref: https://kubernetes.io/docs/user-guide/node-selection/ ## ref: https://kubernetes.io/docs/user-guide/node-selection/
## ##
nodeSelector: nodeSelector: {}
location: bedRoom
## Tolerations for pod assignment ## Tolerations for pod assignment
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
@ -95,23 +111,40 @@ autoscaling:
enabled: true enabled: true
config: config:
minReplicas: 1 minReplicas: 1
maxReplicas: 4 maxReplicas: 16
## Note: when setting this, a `resources.request.cpu` is required. You ## Note: when setting this, a `resources.request.cpu` is required. You
## likely want to set it to `1` or some lower value. ## likely want to set it to `1` or some lower value.
## ##
targetCPUUtilizationPercentage: 80 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: # MongoDB:
# ref: https://github.com/bitnami/charts/blob/master/bitnami/mongodb/values.yaml
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
mongodb-replicaset: mongodb:
enabled: true enabled: true
replicas: 1 architecture: replicaset
replicaCount: 3
replicaSetName: rs0 replicaSetName: rs0
securityContext: auth:
runAsUser: 1000 enabled: false
fsGroup: 1000 # Optional specify an existing PVC
runAsNonRoot: true persistence:
#image: existingClaim: ""
# tag: 3.2.21