mirror of
https://github.com/bitnami/charts.git
synced 2026-03-07 08:07:55 +08:00
[bitnami/mysql] feat: ✨ Add ServiceBinding-compatible secrets (#14912)
* [bitnami/mysql] feat: ✨ Add ServiceBinding-compatible secrets Signed-off-by: Javier Salmeron Garcia <jsalmeron@vmware.com> * Update README.md with readme-generator-for-helm Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com> --------- Signed-off-by: Javier Salmeron Garcia <jsalmeron@vmware.com> Signed-off-by: Javier J. Salmerón-García <jsalmeron@vmware.com> Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com> Co-authored-by: Bitnami Containers <bitnami-bot@vmware.com>
This commit is contained in:
committed by
GitHub
parent
ff47617288
commit
4e923323b1
@@ -25,4 +25,4 @@ name: mysql
|
||||
sources:
|
||||
- https://github.com/bitnami/containers/tree/main/bitnami/mysql
|
||||
- https://mysql.com
|
||||
version: 9.4.9
|
||||
version: 9.5.0
|
||||
|
||||
@@ -62,19 +62,20 @@ The command removes all the Kubernetes components associated with the chart and
|
||||
|
||||
### Common parameters
|
||||
|
||||
| Name | Description | Value |
|
||||
| ------------------------ | --------------------------------------------------------------------------------------------------------- | --------------- |
|
||||
| `kubeVersion` | Force target Kubernetes version (using Helm capabilities if not set) | `""` |
|
||||
| `nameOverride` | String to partially override common.names.fullname template (will maintain the release name) | `""` |
|
||||
| `fullnameOverride` | String to fully override common.names.fullname template | `""` |
|
||||
| `namespaceOverride` | String to fully override common.names.namespace | `""` |
|
||||
| `clusterDomain` | Cluster domain | `cluster.local` |
|
||||
| `commonAnnotations` | Common annotations to add to all MySQL resources (sub-charts are not considered). Evaluated as a template | `{}` |
|
||||
| `commonLabels` | Common labels to add to all MySQL resources (sub-charts are not considered). Evaluated as a template | `{}` |
|
||||
| `extraDeploy` | Array with extra yaml to deploy with the chart. Evaluated as a template | `[]` |
|
||||
| `diagnosticMode.enabled` | Enable diagnostic mode (all probes will be disabled and the command will be overridden) | `false` |
|
||||
| `diagnosticMode.command` | Command to override all containers in the deployment | `["sleep"]` |
|
||||
| `diagnosticMode.args` | Args to override all containers in the deployment | `["infinity"]` |
|
||||
| Name | Description | Value |
|
||||
| ------------------------- | --------------------------------------------------------------------------------------------------------- | --------------- |
|
||||
| `kubeVersion` | Force target Kubernetes version (using Helm capabilities if not set) | `""` |
|
||||
| `nameOverride` | String to partially override common.names.fullname template (will maintain the release name) | `""` |
|
||||
| `fullnameOverride` | String to fully override common.names.fullname template | `""` |
|
||||
| `namespaceOverride` | String to fully override common.names.namespace | `""` |
|
||||
| `clusterDomain` | Cluster domain | `cluster.local` |
|
||||
| `commonAnnotations` | Common annotations to add to all MySQL resources (sub-charts are not considered). Evaluated as a template | `{}` |
|
||||
| `commonLabels` | Common labels to add to all MySQL resources (sub-charts are not considered). Evaluated as a template | `{}` |
|
||||
| `extraDeploy` | Array with extra yaml to deploy with the chart. Evaluated as a template | `[]` |
|
||||
| `serviceBindings.enabled` | Create secret for service binding (Experimental) | `false` |
|
||||
| `diagnosticMode.enabled` | Enable diagnostic mode (all probes will be disabled and the command will be overridden) | `false` |
|
||||
| `diagnosticMode.command` | Command to override all containers in the deployment | `["sleep"]` |
|
||||
| `diagnosticMode.args` | Args to override all containers in the deployment | `["infinity"]` |
|
||||
|
||||
### MySQL common parameters
|
||||
|
||||
@@ -356,6 +357,7 @@ The command removes all the Kubernetes components associated with the chart and
|
||||
| `metrics.prometheusRule.additionalLabels` | Additional labels that can be used so prometheusRule will be discovered by Prometheus | `{}` |
|
||||
| `metrics.prometheusRule.rules` | Prometheus Rule definitions | `[]` |
|
||||
|
||||
|
||||
The above parameters map to the env variables defined in [bitnami/mysql](https://github.com/bitnami/containers/tree/main/bitnami/mysql). For more information please refer to the [bitnami/mysql](https://github.com/bitnami/containers/tree/main/bitnami/mysql) image documentation.
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
{{- $host := include "mysql.primary.fullname" . }}
|
||||
{{- $port := print .Values.primary.service.ports.mysql }}
|
||||
{{- $rootPassword := include "common.secrets.passwords.manage" (dict "secret" (include "mysql.secretName" .) "key" "mysql-root-password" "length" 10 "providedValues" (list "auth.rootPassword") "context" $) | trimAll "\"" | b64dec }}
|
||||
{{- $password := include "common.secrets.passwords.manage" (dict "secret" (include "mysql.secretName" .) "key" "mysql-password" "length" 10 "providedValues" (list "auth.password") "context" $) | trimAll "\"" | b64dec }}
|
||||
{{- if eq (include "mysql.createSecret" .) "true" }}
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
@@ -13,9 +17,62 @@ metadata:
|
||||
{{- end }}
|
||||
type: Opaque
|
||||
data:
|
||||
mysql-root-password: {{ include "common.secrets.passwords.manage" (dict "secret" (include "common.names.fullname" .) "key" "mysql-root-password" "length" 10 "providedValues" (list "auth.rootPassword") "context" $) }}
|
||||
mysql-password: {{ include "common.secrets.passwords.manage" (dict "secret" (include "common.names.fullname" .) "key" "mysql-password" "length" 10 "providedValues" (list "auth.password") "context" $) }}
|
||||
mysql-root-password: {{ print $rootPassword | b64enc | quote }}
|
||||
mysql-password: {{ print $password | b64enc | quote }}
|
||||
{{- if eq .Values.architecture "replication" }}
|
||||
mysql-replication-password: {{ include "common.secrets.passwords.manage" (dict "secret" (include "common.names.fullname" .) "key" "mysql-replication-password" "length" 10 "providedValues" (list "auth.replicationPassword") "context" $) }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.serviceBindings.enabled }}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: {{ include "common.names.fullname" . }}-svcbind-root
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.commonAnnotations }}
|
||||
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
type: servicebinding.io/mysql
|
||||
data:
|
||||
provider: {{ print "bitnami" | b64enc | quote }}
|
||||
type: {{ print "mysql" | b64enc | quote }}
|
||||
host: {{ print $host | b64enc | quote }}
|
||||
port: {{ print $port | b64enc | quote }}
|
||||
user: {{ print "root" | b64enc | quote }}
|
||||
password: {{ print $rootPassword | b64enc | quote }}
|
||||
uri: {{ printf "mysql://root:%s@%s:%s" $rootPassword $host $port | b64enc | quote }}
|
||||
|
||||
{{- if .Values.auth.username }}
|
||||
{{- $database := .Values.auth.database }}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: {{ include "common.names.fullname" . }}-svcbind-custom-user
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.commonAnnotations }}
|
||||
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
type: servicebinding.io/mysql
|
||||
data:
|
||||
provider: {{ print "bitnami" | b64enc | quote }}
|
||||
type: {{ print "mysql" | b64enc | quote }}
|
||||
host: {{ print $host | b64enc | quote }}
|
||||
port: {{ print $port | b64enc | quote }}
|
||||
user: {{ print .Values.auth.username | b64enc | quote }}
|
||||
{{- if $database }}
|
||||
database: {{ print $database | b64enc | quote }}
|
||||
{{- end }}
|
||||
password: {{ print $password | b64enc | quote }}
|
||||
uri: {{ printf "mysql://%s:%s@%s:%s/%s" .Values.auth.username $password $host $port $database | b64enc | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
## Global Docker image parameters
|
||||
## Please, note that this will override the image parameters, including dependencies, configured to use the global value
|
||||
## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass
|
||||
##
|
||||
|
||||
## @param global.imageRegistry Global Docker image registry
|
||||
## @param global.imagePullSecrets Global Docker registry secret names as an array
|
||||
@@ -17,6 +18,7 @@ global:
|
||||
storageClass: ""
|
||||
|
||||
## @section Common parameters
|
||||
##
|
||||
|
||||
## @param kubeVersion Force target Kubernetes version (using Helm capabilities if not set)
|
||||
##
|
||||
@@ -43,6 +45,12 @@ commonLabels: {}
|
||||
##
|
||||
extraDeploy: []
|
||||
|
||||
## @param serviceBindings.enabled Create secret for service binding (Experimental)
|
||||
## Ref: https://servicebinding.io/service-provider/
|
||||
##
|
||||
serviceBindings:
|
||||
enabled: false
|
||||
|
||||
## Enable diagnostic mode in the deployment
|
||||
##
|
||||
diagnosticMode:
|
||||
@@ -59,6 +67,7 @@ diagnosticMode:
|
||||
- infinity
|
||||
|
||||
## @section MySQL common parameters
|
||||
##
|
||||
|
||||
## Bitnami MySQL image
|
||||
## ref: https://hub.docker.com/r/bitnami/mysql/tags/
|
||||
@@ -152,6 +161,7 @@ initdbScripts: {}
|
||||
initdbScriptsConfigMap: ""
|
||||
|
||||
## @section MySQL Primary parameters
|
||||
##
|
||||
|
||||
primary:
|
||||
## @param primary.name Name of the primary database (eg primary, master, leader, ...)
|
||||
@@ -312,11 +322,13 @@ primary:
|
||||
## limits:
|
||||
## cpu: 250m
|
||||
## memory: 256Mi
|
||||
##
|
||||
limits: {}
|
||||
## Examples:
|
||||
## requests:
|
||||
## cpu: 250m
|
||||
## memory: 256Mi
|
||||
##
|
||||
requests: {}
|
||||
## Configure extra options for liveness probe
|
||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
|
||||
@@ -522,6 +534,7 @@ primary:
|
||||
podLabels: {}
|
||||
|
||||
## @section MySQL Secondary parameters
|
||||
##
|
||||
|
||||
secondary:
|
||||
## @param secondary.name Name of the secondary database (eg secondary, slave, ...)
|
||||
@@ -686,11 +699,13 @@ secondary:
|
||||
## limits:
|
||||
## cpu: 250m
|
||||
## memory: 256Mi
|
||||
##
|
||||
limits: {}
|
||||
## Examples:
|
||||
## requests:
|
||||
## cpu: 250m
|
||||
## memory: 256Mi
|
||||
##
|
||||
requests: {}
|
||||
## Configure extra options for liveness probe
|
||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
|
||||
@@ -896,6 +911,7 @@ secondary:
|
||||
podLabels: {}
|
||||
|
||||
## @section RBAC parameters
|
||||
##
|
||||
|
||||
## MySQL pods ServiceAccount
|
||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
|
||||
@@ -936,6 +952,7 @@ rbac:
|
||||
rules: []
|
||||
|
||||
## @section Network Policy
|
||||
##
|
||||
|
||||
## MySQL Nework Policy configuration
|
||||
##
|
||||
@@ -966,6 +983,7 @@ networkPolicy:
|
||||
explicitNamespacesSelector: {}
|
||||
|
||||
## @section Volume Permissions parameters
|
||||
##
|
||||
|
||||
## Init containers parameters:
|
||||
## volumePermissions: Change the owner and group of the persistent volume mountpoint to runAsUser:fsGroup values from the securityContext section.
|
||||
@@ -1000,6 +1018,7 @@ volumePermissions:
|
||||
resources: {}
|
||||
|
||||
## @section Metrics parameters
|
||||
##
|
||||
|
||||
## Mysqld Prometheus exporter parameters
|
||||
##
|
||||
@@ -1097,11 +1116,13 @@ metrics:
|
||||
## limits:
|
||||
## cpu: 100m
|
||||
## memory: 256Mi
|
||||
##
|
||||
limits: {}
|
||||
## Examples:
|
||||
## requests:
|
||||
## cpu: 100m
|
||||
## memory: 256Mi
|
||||
##
|
||||
requests: {}
|
||||
## Mysqld Prometheus exporter liveness probe
|
||||
## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
|
||||
|
||||
Reference in New Issue
Block a user