mirror of
https://github.com/wahyd4/charts.git
synced 2026-08-25 04:56:18 +10:00
[bitnami/mongodb] Add optional parameters to configure service names used for mongo and arbiter services (#5384)
* Update headless-svc.yaml Updated headless-svc.yaml to pull in the new servicename parameter. * Update _helpers.tpl * Update values.yaml * Update statefulset.yaml * Update statefulset.yaml * Update statefulset.yaml * Update headless-svc.yaml * Update _helpers.tpl * Update _helpers.tpl Added default mongo arbiter service name which can be overridden. * Update values.yaml Added Arbiter service name parameter * Update headless-svc.yaml Updated to use the mongodb.arbiterservicename parameter * Update statefulset.yaml Updated to use the new mongodb.arbiterservicename parameter * Update values.yaml Renamed "servicename" parameter to "name" in line with template changes. * Update Chart.yaml Bumped version * Update README.md Added new service name parameters to README * Update _helpers.tpl Fixed indentation to make it consistent * Update Chart.yaml Removed blank line * Update README.md Updated service.name to service.nameOverride and arbiter.service.name to arbiter.service.nameOverride * Update _helpers.tpl Updated service.name parameters to service.nameOverride * Update values.yaml Updated new 'name' parameters to 'nameOverride' * Update _helpers.tpl Updated definition for mongodb.servicename to be mongodb.service.nameOverride Updated definition for mongodb.arbiterservicename to be mongodb.arbiter.service.nameOverride * Update headless-svc.yaml Updated mongodb.arbiterservicename to mongodb.arbiter.service.name * Update headless-svc.yaml mongodb.arbiter.service.nameOverride * Update statefulset.yaml Updated mongodb.arbiterservicename to be mongodb.arbiter.service.nameOverride * Update statefulset.yaml Updated mongodb.servicename to be mongodb.service.nameOverride Updated mongodb.arbiterservicename to be mongodb.arbiter.service.nameOverride * Update headless-svc.yaml Updated mongodb.servicenameOverride to mongodb.service.nameOverride * Update statefulset.yaml Updated mongodb.servicename to be mongodb.service.nameOverride
This commit is contained in:
+42
-40
@@ -220,6 +220,7 @@ The following tables lists the configurable parameters of the MongoDB chart and
|
||||
| Parameter | Description | Default |
|
||||
|---------------------------------------------------|---------------------------------------------------------------------------------------------------|--------------------------------|
|
||||
| `service.type` | Kubernetes Service type | `ClusterIP` |
|
||||
| `service.nameOverride` | MongoDB service name | `{mongodb.fullname}-headless` |
|
||||
| `service.port` | MongoDB service port | `27017` |
|
||||
| `service.portName` | MongoDB service port name | `mongodb` |
|
||||
| `service.nodePort` | Port to bind to for NodePort and LoadBalancer service types | `""` |
|
||||
@@ -285,46 +286,47 @@ The following tables lists the configurable parameters of the MongoDB chart and
|
||||
|
||||
### Arbiter parameters
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|-------------------------------------|---------------------------------------------------------------------------------------------------|--------------------------------|
|
||||
| `arbiter.enabled` | Enable deploying the arbiter | `true` |
|
||||
| `arbiter.hostAliases` | Add deployment host aliases | `[]` |
|
||||
| `arbiter.configuration` | Arbiter configuration file to be used | `{}` |
|
||||
| `arbiter.existingConfigmap` | Name of existing ConfigMap with Arbiter configuration | `nil` |
|
||||
| `arbiter.command` | Override default container command (useful when using custom images) | `nil` |
|
||||
| `arbiter.args` | Override default container args (useful when using custom images) | `nil` |
|
||||
| `arbiter.extraFlags` | Arbiter additional command line flags | `[]` |
|
||||
| `arbiter.extraEnvVars` | Extra environment variables to add to Arbiter pods | `[]` |
|
||||
| `arbiter.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars | `nil` |
|
||||
| `arbiter.extraEnvVarsSecret` | Name of existing Secret containing extra env vars (in case of sensitive data) | `nil` |
|
||||
| `arbiter.labels` | Annotations to be added to the Arbiter statefulset | `{}` (evaluated as a template) |
|
||||
| `arbiter.annotations` | Additional labels to be added to the Arbiter statefulset | `{}` (evaluated as a template) |
|
||||
| `arbiter.podLabels` | Arbiter pod labels | `{}` (evaluated as a template) |
|
||||
| `arbiter.podAnnotations` | Arbiter Pod annotations | `{}` (evaluated as a template) |
|
||||
| `arbiter.priorityClassName` | Name of the existing priority class to be used by Arbiter pod(s) | `""` |
|
||||
| `arbiter.podAffinityPreset` | Arbiter Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
|
||||
| `arbiter.podAntiAffinityPreset` | Arbiter Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` |
|
||||
| `arbiter.nodeAffinityPreset.type` | Arbiter Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
|
||||
| `arbiter.nodeAffinityPreset.key` | Arbiter Node label key to match Ignored if `affinity` is set. | `""` |
|
||||
| `arbiter.nodeAffinityPreset.values` | Arbiter Node label values to match. Ignored if `affinity` is set. | `[]` |
|
||||
| `arbiter.affinity` | Arbiter Affinity for pod assignment | `{}` (evaluated as a template) |
|
||||
| `arbiter.nodeSelector` | Arbiter Node labels for pod assignment | `{}` (evaluated as a template) |
|
||||
| `arbiter.tolerations` | Arbiter Tolerations for pod assignment | `[]` (evaluated as a template) |
|
||||
| `arbiter.podSecurityContext` | Arbiter pod(s)' Security Context | Check `values.yaml` file |
|
||||
| `arbiter.containerSecurityContext` | Arbiter containers' Security Context | Check `values.yaml` file |
|
||||
| `arbiter.resources.limits` | The resources limits for Arbiter containers | `{}` |
|
||||
| `arbiter.resources.requests` | The requested resources for Arbiter containers | `{}` |
|
||||
| `arbiter.livenessProbe` | Liveness probe configuration for Arbiter | Check `values.yaml` file |
|
||||
| `arbiter.readinessProbe` | Readiness probe configuration for Arbiter | Check `values.yaml` file |
|
||||
| `arbiter.customLivenessProbe` | Override default liveness probe for Arbiter containers | `nil` |
|
||||
| `arbiter.customReadinessProbe` | Override default readiness probe for Arbiter containers | `nil` |
|
||||
| `arbiter.pdb.create` | Enable/disable a Pod Disruption Budget creation for Arbiter pod(s) | `false` |
|
||||
| `arbiter.pdb.minAvailable` | Minimum number/percentage of Arbiter pods that should remain scheduled | `1` |
|
||||
| `arbiter.pdb.maxUnavailable` | Maximum number/percentage of Arbiter pods that may be made unavailable | `nil` |
|
||||
| `arbiter.initContainers` | Add additional init containers for the Arbiter pod(s) | `{}` (evaluated as a template) |
|
||||
| `arbiter.sidecars` | Add additional sidecar containers for the Arbiter pod(s) | `{}` (evaluated as a template) |
|
||||
| `arbiter.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for the Arbiter container(s) | `{}` |
|
||||
| `arbiter.extraVolumes` | Optionally specify extra list of additional volumes to the Arbiter statefulset | `{}` |
|
||||
| Parameter | Description | Default |
|
||||
|-------------------------------------|---------------------------------------------------------------------------------------------------|----------------------------------------|
|
||||
| `arbiter.enabled` | Enable deploying the arbiter | `true` |
|
||||
| `arbiter.hostAliases` | Add deployment host aliases | `[]` |
|
||||
| `arbiter.configuration` | Arbiter configuration file to be used | `{}` |
|
||||
| `arbiter.existingConfigmap` | Name of existing ConfigMap with Arbiter configuration | `nil` |
|
||||
| `arbiter.command` | Override default container command (useful when using custom images) | `nil` |
|
||||
| `arbiter.args` | Override default container args (useful when using custom images) | `nil` |
|
||||
| `arbiter.extraFlags` | Arbiter additional command line flags | `[]` |
|
||||
| `arbiter.extraEnvVars` | Extra environment variables to add to Arbiter pods | `[]` |
|
||||
| `arbiter.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars | `nil` |
|
||||
| `arbiter.extraEnvVarsSecret` | Name of existing Secret containing extra env vars (in case of sensitive data) | `nil` |
|
||||
| `arbiter.labels` | Annotations to be added to the Arbiter statefulset | `{}` (evaluated as a template) |
|
||||
| `arbiter.annotations` | Additional labels to be added to the Arbiter statefulset | `{}` (evaluated as a template) |
|
||||
| `arbiter.podLabels` | Arbiter pod labels | `{}` (evaluated as a template) |
|
||||
| `arbiter.podAnnotations` | Arbiter Pod annotations | `{}` (evaluated as a template) |
|
||||
| `arbiter.priorityClassName` | Name of the existing priority class to be used by Arbiter pod(s) | `""` |
|
||||
| `arbiter.podAffinityPreset` | Arbiter Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
|
||||
| `arbiter.podAntiAffinityPreset` | Arbiter Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` |
|
||||
| `arbiter.nodeAffinityPreset.type` | Arbiter Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
|
||||
| `arbiter.nodeAffinityPreset.key` | Arbiter Node label key to match Ignored if `affinity` is set. | `""` |
|
||||
| `arbiter.nodeAffinityPreset.values` | Arbiter Node label values to match. Ignored if `affinity` is set. | `[]` |
|
||||
| `arbiter.affinity` | Arbiter Affinity for pod assignment | `{}` (evaluated as a template) |
|
||||
| `arbiter.nodeSelector` | Arbiter Node labels for pod assignment | `{}` (evaluated as a template) |
|
||||
| `arbiter.tolerations` | Arbiter Tolerations for pod assignment | `[]` (evaluated as a template) |
|
||||
| `arbiter.podSecurityContext` | Arbiter pod(s)' Security Context | Check `values.yaml` file |
|
||||
| `arbiter.containerSecurityContext` | Arbiter containers' Security Context | Check `values.yaml` file |
|
||||
| `arbiter.resources.limits` | The resources limits for Arbiter containers | `{}` |
|
||||
| `arbiter.resources.requests` | The requested resources for Arbiter containers | `{}` |
|
||||
| `arbiter.livenessProbe` | Liveness probe configuration for Arbiter | Check `values.yaml` file |
|
||||
| `arbiter.readinessProbe` | Readiness probe configuration for Arbiter | Check `values.yaml` file |
|
||||
| `arbiter.customLivenessProbe` | Override default liveness probe for Arbiter containers | `nil` |
|
||||
| `arbiter.customReadinessProbe` | Override default readiness probe for Arbiter containers | `nil` |
|
||||
| `arbiter.pdb.create` | Enable/disable a Pod Disruption Budget creation for Arbiter pod(s) | `false` |
|
||||
| `arbiter.pdb.minAvailable` | Minimum number/percentage of Arbiter pods that should remain scheduled | `1` |
|
||||
| `arbiter.pdb.maxUnavailable` | Maximum number/percentage of Arbiter pods that may be made unavailable | `nil` |
|
||||
| `arbiter.initContainers` | Add additional init containers for the Arbiter pod(s) | `{}` (evaluated as a template) |
|
||||
| `arbiter.sidecars` | Add additional sidecar containers for the Arbiter pod(s) | `{}` (evaluated as a template) |
|
||||
| `arbiter.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for the Arbiter container(s) | `{}` |
|
||||
| `arbiter.extraVolumes` | Optionally specify extra list of additional volumes to the Arbiter statefulset | `{}` |
|
||||
| `arbiter.service.nameOverride` | The arbiter service name | `{mongodb.fullname}-arbiter-headless` |
|
||||
|
||||
### Metrics parameters
|
||||
|
||||
|
||||
@@ -15,6 +15,36 @@ If release name contains chart name it will be used as a full name.
|
||||
{{- include "common.names.fullname" . -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default mongo service name which can be overridden.
|
||||
*/}}
|
||||
{{- define "mongodb.service.nameOverride" -}}
|
||||
{{- if .Values.service -}}
|
||||
{{- if .Values.service.nameOverride }}
|
||||
{{- .Values.service.nameOverride -}}
|
||||
{{- else -}}
|
||||
{{ include "mongodb.fullname" . }}-headless
|
||||
{{- end -}}
|
||||
{{- else -}}
|
||||
{{ include "mongodb.fullname" . }}-headless
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create a default mongo arbiter service name which can be overridden.
|
||||
*/}}
|
||||
{{- define "mongodb.arbiter.service.nameOverride" -}}
|
||||
{{- if .Values.arbiter.service -}}
|
||||
{{- if .Values.arbiter.service.nameOverride }}
|
||||
{{- .Values.arbiter.service.nameOverride -}}
|
||||
{{- else -}}
|
||||
{{ include "mongodb.fullname" . }}-arbiter-headless
|
||||
{{- end -}}
|
||||
{{- else -}}
|
||||
{{ include "mongodb.fullname" . }}-arbiter-headless
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Return the proper MongoDB image name
|
||||
*/}}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "mongodb.fullname" . }}-arbiter-headless
|
||||
name: {{ include "mongodb.arbiter.service.nameOverride" . }}
|
||||
namespace: {{ include "mongodb.namespace" . }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: arbiter
|
||||
|
||||
@@ -13,7 +13,7 @@ metadata:
|
||||
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.arbiter.annotations "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
serviceName: {{ include "mongodb.fullname" . }}-arbiter-headless
|
||||
serviceName: {{ include "mongodb.arbiter.service.nameOverride" . }}
|
||||
selector:
|
||||
matchLabels: {{- include "common.labels.matchLabels" . | nindent 6 }}
|
||||
app.kubernetes.io/component: arbiter
|
||||
@@ -145,11 +145,11 @@ spec:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
- name: K8S_SERVICE_NAME
|
||||
value: "{{ include "mongodb.fullname" . }}-arbiter-headless"
|
||||
value: "{{ include "mongodb.arbiter.service.nameOverride" . }}"
|
||||
- name: MONGODB_REPLICA_SET_MODE
|
||||
value: "arbiter"
|
||||
- name: MONGODB_INITIAL_PRIMARY_HOST
|
||||
value: "{{ include "mongodb.fullname" . }}-0.{{ include "mongodb.fullname" . }}-headless.$(MY_POD_NAMESPACE).svc.{{ .Values.clusterDomain }}"
|
||||
value: "{{ include "mongodb.fullname" . }}-0.{{ include "mongodb.service.nameOverride" . }}.$(MY_POD_NAMESPACE).svc.{{ .Values.clusterDomain }}"
|
||||
- name: MONGODB_REPLICA_SET_NAME
|
||||
value: {{ .Values.replicaSetName | quote }}
|
||||
- name: MONGODB_ADVERTISED_HOSTNAME
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "mongodb.fullname" . }}-headless
|
||||
name: {{ include "mongodb.service.nameOverride" . }}
|
||||
namespace: {{ include "mongodb.namespace" . }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: mongodb
|
||||
|
||||
@@ -16,7 +16,7 @@ metadata:
|
||||
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.annotations "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
serviceName: {{ include "mongodb.fullname" . }}-headless
|
||||
serviceName: {{ include "mongodb.service.nameOverride" . }}
|
||||
podManagementPolicy: {{ .Values.podManagementPolicy }}
|
||||
replicas: {{ .Values.replicaCount }}
|
||||
updateStrategy:
|
||||
@@ -215,7 +215,7 @@ spec:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
- name: K8S_SERVICE_NAME
|
||||
value: "{{ include "mongodb.fullname" . }}-headless"
|
||||
value: "{{ include "mongodb.service.nameOverride" . }}"
|
||||
- name: MONGODB_INITIAL_PRIMARY_HOST
|
||||
value: "{{ include "mongodb.fullname" . }}-0.$(K8S_SERVICE_NAME).$(MY_POD_NAMESPACE).svc.{{ .Values.clusterDomain }}"
|
||||
- name: MONGODB_REPLICA_SET_NAME
|
||||
|
||||
@@ -483,6 +483,9 @@ persistence:
|
||||
## Service parameters
|
||||
##
|
||||
service:
|
||||
## Service name
|
||||
##
|
||||
nameOverride: ""
|
||||
## Service type
|
||||
##
|
||||
type: ClusterIP
|
||||
@@ -839,6 +842,12 @@ arbiter:
|
||||
##
|
||||
# maxUnavailable: 1
|
||||
|
||||
## MongoDB Arbiter service parameters
|
||||
service:
|
||||
## Service name
|
||||
##
|
||||
nameOverride: ""
|
||||
|
||||
## ServiceAccount
|
||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
|
||||
##
|
||||
|
||||
Reference in New Issue
Block a user