mirror of
https://github.com/bitnami/charts.git
synced 2026-03-16 14:57:08 +08:00
[bitnami/mysql] Chart standardised (#10046)
* [bitnami/mysql] Chart standardised Signed-off-by: Miguel Ruiz <miruiz@vmware.com> * [bitnami/mysql] Chart standardised Signed-off-by: Miguel Ruiz <miruiz@vmware.com> * Bump Chart.yaml Signed-off-by: Miguel Ruiz <miruiz@vmware.com> * Fix linting Signed-off-by: Miguel Ruiz <miruiz@vmware.com> * Update NOTES Signed-off-by: Miguel Ruiz <miruiz@vmware.com> * Quote namespace Signed-off-by: Miguel Ruiz <miruiz@vmware.com> * [bitnami/mysql] Update components versions Signed-off-by: Bitnami Containers <containers@bitnami.com> Co-authored-by: Bitnami Containers <containers@bitnami.com>
This commit is contained in:
@@ -25,4 +25,4 @@ name: mysql
|
||||
sources:
|
||||
- https://github.com/bitnami/bitnami-docker-mysql
|
||||
- https://mysql.com
|
||||
version: 8.9.6
|
||||
version: 9.0.0
|
||||
|
||||
@@ -65,13 +65,14 @@ The command removes all the Kubernetes components associated with the chart and
|
||||
|
||||
| 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 | `[]` |
|
||||
| `schedulerName` | Use an alternate scheduler, e.g. "stork". | `""` |
|
||||
| `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"]` |
|
||||
@@ -83,7 +84,7 @@ The command removes all the Kubernetes components associated with the chart and
|
||||
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- |
|
||||
| `image.registry` | MySQL image registry | `docker.io` |
|
||||
| `image.repository` | MySQL image repository | `bitnami/mysql` |
|
||||
| `image.tag` | MySQL image tag (immutable tags are recommended) | `8.0.29-debian-10-r0` |
|
||||
| `image.tag` | MySQL image tag (immutable tags are recommended) | `8.0.29-debian-10-r2` |
|
||||
| `image.pullPolicy` | MySQL image pull policy | `IfNotPresent` |
|
||||
| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
|
||||
| `image.debug` | Specify if debug logs should be enabled | `false` |
|
||||
@@ -95,7 +96,6 @@ The command removes all the Kubernetes components associated with the chart and
|
||||
| `auth.replicationUser` | MySQL replication user | `replicator` |
|
||||
| `auth.replicationPassword` | MySQL replication user password. Ignored if existing secret is provided | `""` |
|
||||
| `auth.existingSecret` | Use existing secret for password details. The secret has to contain the keys `mysql-root-password`, `mysql-replication-password` and `mysql-password` | `""` |
|
||||
| `auth.forcePassword` | Force users to specify required passwords | `false` |
|
||||
| `auth.usePasswordFiles` | Mount credentials as files instead of using an environment variable | `false` |
|
||||
| `auth.customPasswordFiles` | Use custom password files when `auth.usePasswordFiles` is set to `true`. Define path for keys `root` and `user`, also define `replicator` if `architecture` is set to `replication` | `{}` |
|
||||
| `initdbScripts` | Dictionary of initdb scripts | `{}` |
|
||||
@@ -104,164 +104,184 @@ The command removes all the Kubernetes components associated with the chart and
|
||||
|
||||
### MySQL Primary parameters
|
||||
|
||||
| Name | Description | Value |
|
||||
| -------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | ------------------- |
|
||||
| `primary.command` | Override default container command on MySQL Primary container(s) (useful when using custom images) | `[]` |
|
||||
| `primary.args` | Override default container args on MySQL Primary container(s) (useful when using custom images) | `[]` |
|
||||
| `primary.hostAliases` | Deployment pod host aliases | `[]` |
|
||||
| `primary.configuration` | Configure MySQL Primary with a custom my.cnf file | `""` |
|
||||
| `primary.existingConfigmap` | Name of existing ConfigMap with MySQL Primary configuration. | `""` |
|
||||
| `primary.updateStrategy` | Update strategy type for the MySQL primary statefulset | `RollingUpdate` |
|
||||
| `primary.rollingUpdatePartition` | Partition update strategy for MySQL Primary statefulset | `""` |
|
||||
| `primary.podAnnotations` | Additional pod annotations for MySQL primary pods | `{}` |
|
||||
| `primary.podAffinityPreset` | MySQL primary pod affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard` | `""` |
|
||||
| `primary.podAntiAffinityPreset` | MySQL primary pod anti-affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard` | `soft` |
|
||||
| `primary.nodeAffinityPreset.type` | MySQL primary node affinity preset type. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard` | `""` |
|
||||
| `primary.nodeAffinityPreset.key` | MySQL primary node label key to match Ignored if `primary.affinity` is set. | `""` |
|
||||
| `primary.nodeAffinityPreset.values` | MySQL primary node label values to match. Ignored if `primary.affinity` is set. | `[]` |
|
||||
| `primary.affinity` | Affinity for MySQL primary pods assignment | `{}` |
|
||||
| `primary.nodeSelector` | Node labels for MySQL primary pods assignment | `{}` |
|
||||
| `primary.tolerations` | Tolerations for MySQL primary pods assignment | `[]` |
|
||||
| `primary.podSecurityContext.enabled` | Enable security context for MySQL primary pods | `true` |
|
||||
| `primary.podSecurityContext.fsGroup` | Group ID for the mounted volumes' filesystem | `1001` |
|
||||
| `primary.containerSecurityContext.enabled` | MySQL primary container securityContext | `true` |
|
||||
| `primary.containerSecurityContext.runAsUser` | User ID for the MySQL primary container | `1001` |
|
||||
| `primary.resources.limits` | The resources limits for MySQL primary containers | `{}` |
|
||||
| `primary.resources.requests` | The requested resources for MySQL primary containers | `{}` |
|
||||
| `primary.livenessProbe.enabled` | Enable livenessProbe | `true` |
|
||||
| `primary.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `5` |
|
||||
| `primary.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `10` |
|
||||
| `primary.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `1` |
|
||||
| `primary.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `3` |
|
||||
| `primary.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` |
|
||||
| `primary.readinessProbe.enabled` | Enable readinessProbe | `true` |
|
||||
| `primary.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `5` |
|
||||
| `primary.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `10` |
|
||||
| `primary.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `1` |
|
||||
| `primary.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `3` |
|
||||
| `primary.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` |
|
||||
| `primary.startupProbe.enabled` | Enable startupProbe | `true` |
|
||||
| `primary.startupProbe.initialDelaySeconds` | Initial delay seconds for startupProbe | `15` |
|
||||
| `primary.startupProbe.periodSeconds` | Period seconds for startupProbe | `10` |
|
||||
| `primary.startupProbe.timeoutSeconds` | Timeout seconds for startupProbe | `1` |
|
||||
| `primary.startupProbe.failureThreshold` | Failure threshold for startupProbe | `10` |
|
||||
| `primary.startupProbe.successThreshold` | Success threshold for startupProbe | `1` |
|
||||
| `primary.customLivenessProbe` | Override default liveness probe for MySQL primary containers | `{}` |
|
||||
| `primary.customReadinessProbe` | Override default readiness probe for MySQL primary containers | `{}` |
|
||||
| `primary.customStartupProbe` | Override default startup probe for MySQL primary containers | `{}` |
|
||||
| `primary.extraFlags` | MySQL primary additional command line flags | `""` |
|
||||
| `primary.extraEnvVars` | Extra environment variables to be set on MySQL primary containers | `[]` |
|
||||
| `primary.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars for MySQL primary containers | `""` |
|
||||
| `primary.extraEnvVarsSecret` | Name of existing Secret containing extra env vars for MySQL primary containers | `""` |
|
||||
| `primary.persistence.enabled` | Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir | `true` |
|
||||
| `primary.persistence.existingClaim` | Name of an existing `PersistentVolumeClaim` for MySQL primary replicas | `""` |
|
||||
| `primary.persistence.storageClass` | MySQL primary persistent volume storage Class | `""` |
|
||||
| `primary.persistence.annotations` | MySQL primary persistent volume claim annotations | `{}` |
|
||||
| `primary.persistence.accessModes` | MySQL primary persistent volume access Modes | `["ReadWriteOnce"]` |
|
||||
| `primary.persistence.size` | MySQL primary persistent volume size | `8Gi` |
|
||||
| `primary.persistence.selector` | Selector to match an existing Persistent Volume | `{}` |
|
||||
| `primary.extraVolumes` | Optionally specify extra list of additional volumes to the MySQL Primary pod(s) | `[]` |
|
||||
| `primary.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for the MySQL Primary container(s) | `[]` |
|
||||
| `primary.initContainers` | Add additional init containers for the MySQL Primary pod(s) | `[]` |
|
||||
| `primary.sidecars` | Add additional sidecar containers for the MySQL Primary pod(s) | `[]` |
|
||||
| `primary.service.type` | MySQL Primary K8s service type | `ClusterIP` |
|
||||
| `primary.service.port` | MySQL Primary K8s service port | `3306` |
|
||||
| `primary.service.nodePort` | MySQL Primary K8s service node port | `""` |
|
||||
| `primary.service.clusterIP` | MySQL Primary K8s service clusterIP IP | `""` |
|
||||
| `primary.service.loadBalancerIP` | MySQL Primary loadBalancerIP if service type is `LoadBalancer` | `""` |
|
||||
| `primary.service.externalTrafficPolicy` | Enable client source IP preservation | `Cluster` |
|
||||
| `primary.service.loadBalancerSourceRanges` | Addresses that are allowed when MySQL Primary service is LoadBalancer | `[]` |
|
||||
| `primary.service.annotations` | Provide any additional annotations which may be required | `{}` |
|
||||
| `primary.pdb.enabled` | Enable/disable a Pod Disruption Budget creation for MySQL primary pods | `false` |
|
||||
| `primary.pdb.minAvailable` | Minimum number/percentage of MySQL primary pods that should remain scheduled | `1` |
|
||||
| `primary.pdb.maxUnavailable` | Maximum number/percentage of MySQL primary pods that may be made unavailable | `""` |
|
||||
| `primary.podLabels` | MySQL Primary pod label. If labels are same as commonLabels , this will take precedence | `{}` |
|
||||
| Name | Description | Value |
|
||||
| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | ------------------- |
|
||||
| `primary.command` | Override default container command on MySQL Primary container(s) (useful when using custom images) | `[]` |
|
||||
| `primary.args` | Override default container args on MySQL Primary container(s) (useful when using custom images) | `[]` |
|
||||
| `primary.lifecycleHooks` | for the MySQL Primary container(s) to automate configuration before or after startup | `{}` |
|
||||
| `primary.hostAliases` | Deployment pod host aliases | `[]` |
|
||||
| `primary.configuration` | Configure MySQL Primary with a custom my.cnf file | `""` |
|
||||
| `primary.existingConfigmap` | Name of existing ConfigMap with MySQL Primary configuration. | `""` |
|
||||
| `primary.updateStrategy.type` | Update strategy type for the MySQL primary statefulset | `RollingUpdate` |
|
||||
| `primary.podAnnotations` | Additional pod annotations for MySQL primary pods | `{}` |
|
||||
| `primary.podAffinityPreset` | MySQL primary pod affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard` | `""` |
|
||||
| `primary.podAntiAffinityPreset` | MySQL primary pod anti-affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard` | `soft` |
|
||||
| `primary.nodeAffinityPreset.type` | MySQL primary node affinity preset type. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard` | `""` |
|
||||
| `primary.nodeAffinityPreset.key` | MySQL primary node label key to match Ignored if `primary.affinity` is set. | `""` |
|
||||
| `primary.nodeAffinityPreset.values` | MySQL primary node label values to match. Ignored if `primary.affinity` is set. | `[]` |
|
||||
| `primary.affinity` | Affinity for MySQL primary pods assignment | `{}` |
|
||||
| `primary.nodeSelector` | Node labels for MySQL primary pods assignment | `{}` |
|
||||
| `primary.tolerations` | Tolerations for MySQL primary pods assignment | `[]` |
|
||||
| `primary.priorityClassName` | MySQL primary pods' priorityClassName | `""` |
|
||||
| `primary.schedulerName` | Name of the k8s scheduler (other than default) | `""` |
|
||||
| `primary.terminationGracePeriodSeconds` | In seconds, time the given to the MySQL primary pod needs to terminate gracefully | `""` |
|
||||
| `primary.topologySpreadConstraints` | Topology Spread Constraints for pod assignment | `[]` |
|
||||
| `primary.podManagementPolicy` | podManagementPolicy to manage scaling operation of MySQL primary pods | `""` |
|
||||
| `primary.podSecurityContext.enabled` | Enable security context for MySQL primary pods | `true` |
|
||||
| `primary.podSecurityContext.fsGroup` | Group ID for the mounted volumes' filesystem | `1001` |
|
||||
| `primary.containerSecurityContext.enabled` | MySQL primary container securityContext | `true` |
|
||||
| `primary.containerSecurityContext.runAsUser` | User ID for the MySQL primary container | `1001` |
|
||||
| `primary.containerSecurityContext.runAsNonRoot` | Set MySQL primary container's Security Context runAsNonRoot | `true` |
|
||||
| `primary.resources.limits` | The resources limits for MySQL primary containers | `{}` |
|
||||
| `primary.resources.requests` | The requested resources for MySQL primary containers | `{}` |
|
||||
| `primary.livenessProbe.enabled` | Enable livenessProbe | `true` |
|
||||
| `primary.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `5` |
|
||||
| `primary.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `10` |
|
||||
| `primary.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `1` |
|
||||
| `primary.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `3` |
|
||||
| `primary.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` |
|
||||
| `primary.readinessProbe.enabled` | Enable readinessProbe | `true` |
|
||||
| `primary.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `5` |
|
||||
| `primary.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `10` |
|
||||
| `primary.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `1` |
|
||||
| `primary.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `3` |
|
||||
| `primary.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` |
|
||||
| `primary.startupProbe.enabled` | Enable startupProbe | `true` |
|
||||
| `primary.startupProbe.initialDelaySeconds` | Initial delay seconds for startupProbe | `15` |
|
||||
| `primary.startupProbe.periodSeconds` | Period seconds for startupProbe | `10` |
|
||||
| `primary.startupProbe.timeoutSeconds` | Timeout seconds for startupProbe | `1` |
|
||||
| `primary.startupProbe.failureThreshold` | Failure threshold for startupProbe | `10` |
|
||||
| `primary.startupProbe.successThreshold` | Success threshold for startupProbe | `1` |
|
||||
| `primary.customLivenessProbe` | Override default liveness probe for MySQL primary containers | `{}` |
|
||||
| `primary.customReadinessProbe` | Override default readiness probe for MySQL primary containers | `{}` |
|
||||
| `primary.customStartupProbe` | Override default startup probe for MySQL primary containers | `{}` |
|
||||
| `primary.extraFlags` | MySQL primary additional command line flags | `""` |
|
||||
| `primary.extraEnvVars` | Extra environment variables to be set on MySQL primary containers | `[]` |
|
||||
| `primary.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars for MySQL primary containers | `""` |
|
||||
| `primary.extraEnvVarsSecret` | Name of existing Secret containing extra env vars for MySQL primary containers | `""` |
|
||||
| `primary.persistence.enabled` | Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir | `true` |
|
||||
| `primary.persistence.existingClaim` | Name of an existing `PersistentVolumeClaim` for MySQL primary replicas | `""` |
|
||||
| `primary.persistence.storageClass` | MySQL primary persistent volume storage Class | `""` |
|
||||
| `primary.persistence.annotations` | MySQL primary persistent volume claim annotations | `{}` |
|
||||
| `primary.persistence.accessModes` | MySQL primary persistent volume access Modes | `["ReadWriteOnce"]` |
|
||||
| `primary.persistence.size` | MySQL primary persistent volume size | `8Gi` |
|
||||
| `primary.persistence.selector` | Selector to match an existing Persistent Volume | `{}` |
|
||||
| `primary.extraVolumes` | Optionally specify extra list of additional volumes to the MySQL Primary pod(s) | `[]` |
|
||||
| `primary.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for the MySQL Primary container(s) | `[]` |
|
||||
| `primary.initContainers` | Add additional init containers for the MySQL Primary pod(s) | `[]` |
|
||||
| `primary.sidecars` | Add additional sidecar containers for the MySQL Primary pod(s) | `[]` |
|
||||
| `primary.service.type` | MySQL Primary K8s service type | `ClusterIP` |
|
||||
| `primary.service.ports.mysql` | MySQL Primary K8s service port | `3306` |
|
||||
| `primary.service.nodePorts.mysql` | MySQL Primary K8s service node port | `""` |
|
||||
| `primary.service.clusterIP` | MySQL Primary K8s service clusterIP IP | `""` |
|
||||
| `primary.service.loadBalancerIP` | MySQL Primary loadBalancerIP if service type is `LoadBalancer` | `""` |
|
||||
| `primary.service.externalTrafficPolicy` | Enable client source IP preservation | `Cluster` |
|
||||
| `primary.service.loadBalancerSourceRanges` | Addresses that are allowed when MySQL Primary service is LoadBalancer | `[]` |
|
||||
| `primary.service.extraPorts` | Extra ports to expose (normally used with the `sidecar` value) | `[]` |
|
||||
| `primary.service.annotations` | Additional custom annotations for MySQL primary service | `{}` |
|
||||
| `primary.service.sessionAffinity` | Session Affinity for Kubernetes service, can be "None" or "ClientIP" | `None` |
|
||||
| `primary.service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` |
|
||||
| `primary.pdb.create` | Enable/disable a Pod Disruption Budget creation for MySQL primary pods | `false` |
|
||||
| `primary.pdb.minAvailable` | Minimum number/percentage of MySQL primary pods that should remain scheduled | `1` |
|
||||
| `primary.pdb.maxUnavailable` | Maximum number/percentage of MySQL primary pods that may be made unavailable | `""` |
|
||||
| `primary.podLabels` | MySQL Primary pod label. If labels are same as commonLabels , this will take precedence | `{}` |
|
||||
|
||||
|
||||
### MySQL Secondary parameters
|
||||
|
||||
| Name | Description | Value |
|
||||
| ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------- |
|
||||
| `secondary.replicaCount` | Number of MySQL secondary replicas | `1` |
|
||||
| `secondary.hostAliases` | Deployment pod host aliases | `[]` |
|
||||
| `secondary.command` | Override default container command on MySQL Secondary container(s) (useful when using custom images) | `[]` |
|
||||
| `secondary.args` | Override default container args on MySQL Secondary container(s) (useful when using custom images) | `[]` |
|
||||
| `secondary.configuration` | Configure MySQL Secondary with a custom my.cnf file | `""` |
|
||||
| `secondary.existingConfigmap` | Name of existing ConfigMap with MySQL Secondary configuration. | `""` |
|
||||
| `secondary.updateStrategy` | Update strategy type for the MySQL secondary statefulset | `RollingUpdate` |
|
||||
| `secondary.rollingUpdatePartition` | Partition update strategy for MySQL Secondary statefulset | `""` |
|
||||
| `secondary.podAnnotations` | Additional pod annotations for MySQL secondary pods | `{}` |
|
||||
| `secondary.podAffinityPreset` | MySQL secondary pod affinity preset. Ignored if `secondary.affinity` is set. Allowed values: `soft` or `hard` | `""` |
|
||||
| `secondary.podAntiAffinityPreset` | MySQL secondary pod anti-affinity preset. Ignored if `secondary.affinity` is set. Allowed values: `soft` or `hard` | `soft` |
|
||||
| `secondary.nodeAffinityPreset.type` | MySQL secondary node affinity preset type. Ignored if `secondary.affinity` is set. Allowed values: `soft` or `hard` | `""` |
|
||||
| `secondary.nodeAffinityPreset.key` | MySQL secondary node label key to match Ignored if `secondary.affinity` is set. | `""` |
|
||||
| `secondary.nodeAffinityPreset.values` | MySQL secondary node label values to match. Ignored if `secondary.affinity` is set. | `[]` |
|
||||
| `secondary.affinity` | Affinity for MySQL secondary pods assignment | `{}` |
|
||||
| `secondary.nodeSelector` | Node labels for MySQL secondary pods assignment | `{}` |
|
||||
| `secondary.tolerations` | Tolerations for MySQL secondary pods assignment | `[]` |
|
||||
| `secondary.podSecurityContext.enabled` | Enable security context for MySQL secondary pods | `true` |
|
||||
| `secondary.podSecurityContext.fsGroup` | Group ID for the mounted volumes' filesystem | `1001` |
|
||||
| `secondary.containerSecurityContext.enabled` | MySQL secondary container securityContext | `true` |
|
||||
| `secondary.containerSecurityContext.runAsUser` | User ID for the MySQL secondary container | `1001` |
|
||||
| `secondary.resources.limits` | The resources limits for MySQL secondary containers | `{}` |
|
||||
| `secondary.resources.requests` | The requested resources for MySQL secondary containers | `{}` |
|
||||
| `secondary.livenessProbe.enabled` | Enable livenessProbe | `true` |
|
||||
| `secondary.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `5` |
|
||||
| `secondary.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `10` |
|
||||
| `secondary.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `1` |
|
||||
| `secondary.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `3` |
|
||||
| `secondary.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` |
|
||||
| `secondary.readinessProbe.enabled` | Enable readinessProbe | `true` |
|
||||
| `secondary.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `5` |
|
||||
| `secondary.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `10` |
|
||||
| `secondary.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `1` |
|
||||
| `secondary.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `3` |
|
||||
| `secondary.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` |
|
||||
| `secondary.startupProbe.enabled` | Enable startupProbe | `true` |
|
||||
| `secondary.startupProbe.initialDelaySeconds` | Initial delay seconds for startupProbe | `15` |
|
||||
| `secondary.startupProbe.periodSeconds` | Period seconds for startupProbe | `10` |
|
||||
| `secondary.startupProbe.timeoutSeconds` | Timeout seconds for startupProbe | `1` |
|
||||
| `secondary.startupProbe.failureThreshold` | Failure threshold for startupProbe | `15` |
|
||||
| `secondary.startupProbe.successThreshold` | Success threshold for startupProbe | `1` |
|
||||
| `secondary.customLivenessProbe` | Override default liveness probe for MySQL secondary containers | `{}` |
|
||||
| `secondary.customReadinessProbe` | Override default readiness probe for MySQL secondary containers | `{}` |
|
||||
| `secondary.customStartupProbe` | Override default startup probe for MySQL secondary containers | `{}` |
|
||||
| `secondary.extraFlags` | MySQL secondary additional command line flags | `""` |
|
||||
| `secondary.extraEnvVars` | An array to add extra environment variables on MySQL secondary containers | `[]` |
|
||||
| `secondary.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars for MySQL secondary containers | `""` |
|
||||
| `secondary.extraEnvVarsSecret` | Name of existing Secret containing extra env vars for MySQL secondary containers | `""` |
|
||||
| `secondary.persistence.enabled` | Enable persistence on MySQL secondary replicas using a `PersistentVolumeClaim` | `true` |
|
||||
| `secondary.persistence.storageClass` | MySQL secondary persistent volume storage Class | `""` |
|
||||
| `secondary.persistence.annotations` | MySQL secondary persistent volume claim annotations | `{}` |
|
||||
| `secondary.persistence.accessModes` | MySQL secondary persistent volume access Modes | `["ReadWriteOnce"]` |
|
||||
| `secondary.persistence.size` | MySQL secondary persistent volume size | `8Gi` |
|
||||
| `secondary.persistence.selector` | Selector to match an existing Persistent Volume | `{}` |
|
||||
| `secondary.extraVolumes` | Optionally specify extra list of additional volumes to the MySQL secondary pod(s) | `[]` |
|
||||
| `secondary.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for the MySQL secondary container(s) | `[]` |
|
||||
| `secondary.initContainers` | Add additional init containers for the MySQL secondary pod(s) | `[]` |
|
||||
| `secondary.sidecars` | Add additional sidecar containers for the MySQL secondary pod(s) | `[]` |
|
||||
| `secondary.service.type` | MySQL secondary Kubernetes service type | `ClusterIP` |
|
||||
| `secondary.service.port` | MySQL secondary Kubernetes service port | `3306` |
|
||||
| `secondary.service.nodePort` | MySQL secondary Kubernetes service node port | `""` |
|
||||
| `secondary.service.clusterIP` | MySQL secondary Kubernetes service clusterIP IP | `""` |
|
||||
| `secondary.service.loadBalancerIP` | MySQL secondary loadBalancerIP if service type is `LoadBalancer` | `""` |
|
||||
| `secondary.service.externalTrafficPolicy` | Enable client source IP preservation | `Cluster` |
|
||||
| `secondary.service.loadBalancerSourceRanges` | Addresses that are allowed when MySQL secondary service is LoadBalancer | `[]` |
|
||||
| `secondary.service.annotations` | Provide any additional annotations which may be required | `{}` |
|
||||
| `secondary.pdb.enabled` | Enable/disable a Pod Disruption Budget creation for MySQL secondary pods | `false` |
|
||||
| `secondary.pdb.minAvailable` | Minimum number/percentage of MySQL secondary pods that should remain scheduled | `1` |
|
||||
| `secondary.pdb.maxUnavailable` | Maximum number/percentage of MySQL secondary pods that may be made unavailable | `""` |
|
||||
| `secondary.podLabels` | Additional pod labels for MySQL secondary pods | `{}` |
|
||||
| Name | Description | Value |
|
||||
| ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------- |
|
||||
| `secondary.replicaCount` | Number of MySQL secondary replicas | `1` |
|
||||
| `secondary.hostAliases` | Deployment pod host aliases | `[]` |
|
||||
| `secondary.command` | Override default container command on MySQL Secondary container(s) (useful when using custom images) | `[]` |
|
||||
| `secondary.args` | Override default container args on MySQL Secondary container(s) (useful when using custom images) | `[]` |
|
||||
| `secondary.lifecycleHooks` | for the MySQL Secondary container(s) to automate configuration before or after startup | `{}` |
|
||||
| `secondary.configuration` | Configure MySQL Secondary with a custom my.cnf file | `""` |
|
||||
| `secondary.existingConfigmap` | Name of existing ConfigMap with MySQL Secondary configuration. | `""` |
|
||||
| `secondary.updateStrategy.type` | Update strategy type for the MySQL secondary statefulset | `RollingUpdate` |
|
||||
| `secondary.podAnnotations` | Additional pod annotations for MySQL secondary pods | `{}` |
|
||||
| `secondary.podAffinityPreset` | MySQL secondary pod affinity preset. Ignored if `secondary.affinity` is set. Allowed values: `soft` or `hard` | `""` |
|
||||
| `secondary.podAntiAffinityPreset` | MySQL secondary pod anti-affinity preset. Ignored if `secondary.affinity` is set. Allowed values: `soft` or `hard` | `soft` |
|
||||
| `secondary.nodeAffinityPreset.type` | MySQL secondary node affinity preset type. Ignored if `secondary.affinity` is set. Allowed values: `soft` or `hard` | `""` |
|
||||
| `secondary.nodeAffinityPreset.key` | MySQL secondary node label key to match Ignored if `secondary.affinity` is set. | `""` |
|
||||
| `secondary.nodeAffinityPreset.values` | MySQL secondary node label values to match. Ignored if `secondary.affinity` is set. | `[]` |
|
||||
| `secondary.affinity` | Affinity for MySQL secondary pods assignment | `{}` |
|
||||
| `secondary.nodeSelector` | Node labels for MySQL secondary pods assignment | `{}` |
|
||||
| `secondary.tolerations` | Tolerations for MySQL secondary pods assignment | `[]` |
|
||||
| `secondary.priorityClassName` | MySQL secondary pods' priorityClassName | `""` |
|
||||
| `secondary.schedulerName` | Name of the k8s scheduler (other than default) | `""` |
|
||||
| `secondary.terminationGracePeriodSeconds` | In seconds, time the given to the MySQL secondary pod needs to terminate gracefully | `""` |
|
||||
| `secondary.topologySpreadConstraints` | Topology Spread Constraints for pod assignment | `[]` |
|
||||
| `secondary.podManagementPolicy` | podManagementPolicy to manage scaling operation of MySQL secondary pods | `""` |
|
||||
| `secondary.podSecurityContext.enabled` | Enable security context for MySQL secondary pods | `true` |
|
||||
| `secondary.podSecurityContext.fsGroup` | Group ID for the mounted volumes' filesystem | `1001` |
|
||||
| `secondary.containerSecurityContext.enabled` | MySQL secondary container securityContext | `true` |
|
||||
| `secondary.containerSecurityContext.runAsUser` | User ID for the MySQL secondary container | `1001` |
|
||||
| `secondary.containerSecurityContext.runAsNonRoot` | Set MySQL secondary container's Security Context runAsNonRoot | `true` |
|
||||
| `secondary.resources.limits` | The resources limits for MySQL secondary containers | `{}` |
|
||||
| `secondary.resources.requests` | The requested resources for MySQL secondary containers | `{}` |
|
||||
| `secondary.livenessProbe.enabled` | Enable livenessProbe | `true` |
|
||||
| `secondary.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `5` |
|
||||
| `secondary.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `10` |
|
||||
| `secondary.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `1` |
|
||||
| `secondary.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `3` |
|
||||
| `secondary.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` |
|
||||
| `secondary.readinessProbe.enabled` | Enable readinessProbe | `true` |
|
||||
| `secondary.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `5` |
|
||||
| `secondary.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `10` |
|
||||
| `secondary.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `1` |
|
||||
| `secondary.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `3` |
|
||||
| `secondary.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` |
|
||||
| `secondary.startupProbe.enabled` | Enable startupProbe | `true` |
|
||||
| `secondary.startupProbe.initialDelaySeconds` | Initial delay seconds for startupProbe | `15` |
|
||||
| `secondary.startupProbe.periodSeconds` | Period seconds for startupProbe | `10` |
|
||||
| `secondary.startupProbe.timeoutSeconds` | Timeout seconds for startupProbe | `1` |
|
||||
| `secondary.startupProbe.failureThreshold` | Failure threshold for startupProbe | `15` |
|
||||
| `secondary.startupProbe.successThreshold` | Success threshold for startupProbe | `1` |
|
||||
| `secondary.customLivenessProbe` | Override default liveness probe for MySQL secondary containers | `{}` |
|
||||
| `secondary.customReadinessProbe` | Override default readiness probe for MySQL secondary containers | `{}` |
|
||||
| `secondary.customStartupProbe` | Override default startup probe for MySQL secondary containers | `{}` |
|
||||
| `secondary.extraFlags` | MySQL secondary additional command line flags | `""` |
|
||||
| `secondary.extraEnvVars` | An array to add extra environment variables on MySQL secondary containers | `[]` |
|
||||
| `secondary.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars for MySQL secondary containers | `""` |
|
||||
| `secondary.extraEnvVarsSecret` | Name of existing Secret containing extra env vars for MySQL secondary containers | `""` |
|
||||
| `secondary.persistence.enabled` | Enable persistence on MySQL secondary replicas using a `PersistentVolumeClaim` | `true` |
|
||||
| `secondary.persistence.storageClass` | MySQL secondary persistent volume storage Class | `""` |
|
||||
| `secondary.persistence.annotations` | MySQL secondary persistent volume claim annotations | `{}` |
|
||||
| `secondary.persistence.accessModes` | MySQL secondary persistent volume access Modes | `["ReadWriteOnce"]` |
|
||||
| `secondary.persistence.size` | MySQL secondary persistent volume size | `8Gi` |
|
||||
| `secondary.persistence.selector` | Selector to match an existing Persistent Volume | `{}` |
|
||||
| `secondary.extraVolumes` | Optionally specify extra list of additional volumes to the MySQL secondary pod(s) | `[]` |
|
||||
| `secondary.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for the MySQL secondary container(s) | `[]` |
|
||||
| `secondary.initContainers` | Add additional init containers for the MySQL secondary pod(s) | `[]` |
|
||||
| `secondary.sidecars` | Add additional sidecar containers for the MySQL secondary pod(s) | `[]` |
|
||||
| `secondary.service.type` | MySQL secondary Kubernetes service type | `ClusterIP` |
|
||||
| `secondary.service.ports.mysql` | MySQL secondary Kubernetes service port | `3306` |
|
||||
| `secondary.service.nodePorts.mysql` | MySQL secondary Kubernetes service node port | `""` |
|
||||
| `secondary.service.clusterIP` | MySQL secondary Kubernetes service clusterIP IP | `""` |
|
||||
| `secondary.service.loadBalancerIP` | MySQL secondary loadBalancerIP if service type is `LoadBalancer` | `""` |
|
||||
| `secondary.service.externalTrafficPolicy` | Enable client source IP preservation | `Cluster` |
|
||||
| `secondary.service.loadBalancerSourceRanges` | Addresses that are allowed when MySQL secondary service is LoadBalancer | `[]` |
|
||||
| `secondary.service.extraPorts` | Extra ports to expose (normally used with the `sidecar` value) | `[]` |
|
||||
| `secondary.service.annotations` | Additional custom annotations for MySQL secondary service | `{}` |
|
||||
| `secondary.service.sessionAffinity` | Session Affinity for Kubernetes service, can be "None" or "ClientIP" | `None` |
|
||||
| `secondary.service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` |
|
||||
| `secondary.pdb.create` | Enable/disable a Pod Disruption Budget creation for MySQL secondary pods | `false` |
|
||||
| `secondary.pdb.minAvailable` | Minimum number/percentage of MySQL secondary pods that should remain scheduled | `1` |
|
||||
| `secondary.pdb.maxUnavailable` | Maximum number/percentage of MySQL secondary pods that may be made unavailable | `""` |
|
||||
| `secondary.podLabels` | Additional pod labels for MySQL secondary pods | `{}` |
|
||||
|
||||
|
||||
### RBAC parameters
|
||||
|
||||
| Name | Description | Value |
|
||||
| ---------------------------- | ------------------------------------------------------ | ------- |
|
||||
| `serviceAccount.create` | Enable the creation of a ServiceAccount for MySQL pods | `true` |
|
||||
| `serviceAccount.name` | Name of the created ServiceAccount | `""` |
|
||||
| `serviceAccount.annotations` | Annotations for MySQL Service Account | `{}` |
|
||||
| `rbac.create` | Whether to create & use RBAC resources or not | `false` |
|
||||
| Name | Description | Value |
|
||||
| --------------------------------------------- | -------------------------------------------------------------- | ------- |
|
||||
| `serviceAccount.create` | Enable the creation of a ServiceAccount for MySQL pods | `true` |
|
||||
| `serviceAccount.name` | Name of the created ServiceAccount | `""` |
|
||||
| `serviceAccount.annotations` | Annotations for MySQL Service Account | `{}` |
|
||||
| `serviceAccount.automountServiceAccountToken` | Automount service account token for the server service account | `true` |
|
||||
| `rbac.create` | Whether to create & use RBAC resources or not | `false` |
|
||||
| `rbac.rules` | Custom RBAC rules to set | `[]` |
|
||||
|
||||
|
||||
### Network Policy
|
||||
@@ -280,7 +300,7 @@ The command removes all the Kubernetes components associated with the chart and
|
||||
| `volumePermissions.enabled` | Enable init container that changes the owner and group of the persistent volume(s) mountpoint to `runAsUser:fsGroup` | `false` |
|
||||
| `volumePermissions.image.registry` | Init container volume-permissions image registry | `docker.io` |
|
||||
| `volumePermissions.image.repository` | Init container volume-permissions image repository | `bitnami/bitnami-shell` |
|
||||
| `volumePermissions.image.tag` | Init container volume-permissions image tag (immutable tags are recommended) | `10-debian-10-r408` |
|
||||
| `volumePermissions.image.tag` | Init container volume-permissions image tag (immutable tags are recommended) | `10-debian-10-r409` |
|
||||
| `volumePermissions.image.pullPolicy` | Init container volume-permissions image pull policy | `IfNotPresent` |
|
||||
| `volumePermissions.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
|
||||
| `volumePermissions.resources` | Init container volume-permissions resources | `{}` |
|
||||
@@ -293,7 +313,7 @@ The command removes all the Kubernetes components associated with the chart and
|
||||
| `metrics.enabled` | Start a side-car prometheus exporter | `false` |
|
||||
| `metrics.image.registry` | Exporter image registry | `docker.io` |
|
||||
| `metrics.image.repository` | Exporter image repository | `bitnami/mysqld-exporter` |
|
||||
| `metrics.image.tag` | Exporter image tag (immutable tags are recommended) | `0.14.0-debian-10-r52` |
|
||||
| `metrics.image.tag` | Exporter image tag (immutable tags are recommended) | `0.14.0-debian-10-r53` |
|
||||
| `metrics.image.pullPolicy` | Exporter image pull policy | `IfNotPresent` |
|
||||
| `metrics.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
|
||||
| `metrics.service.type` | Kubernetes service type for MySQL Prometheus Exporter | `ClusterIP` |
|
||||
@@ -317,11 +337,15 @@ The command removes all the Kubernetes components associated with the chart and
|
||||
| `metrics.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` |
|
||||
| `metrics.serviceMonitor.enabled` | Create ServiceMonitor Resource for scraping metrics using PrometheusOperator | `false` |
|
||||
| `metrics.serviceMonitor.namespace` | Specify the namespace in which the serviceMonitor resource will be created | `""` |
|
||||
| `metrics.serviceMonitor.jobLabel` | The name of the label on the target service to use as the job name in prometheus. | `""` |
|
||||
| `metrics.serviceMonitor.interval` | Specify the interval at which metrics should be scraped | `30s` |
|
||||
| `metrics.serviceMonitor.scrapeTimeout` | Specify the timeout after which the scrape is ended | `""` |
|
||||
| `metrics.serviceMonitor.relabellings` | Specify Metric Relabellings to add to the scrape endpoint | `[]` |
|
||||
| `metrics.serviceMonitor.relabelings` | RelabelConfigs to apply to samples before scraping | `[]` |
|
||||
| `metrics.serviceMonitor.metricRelabelings` | MetricRelabelConfigs to apply to samples before ingestion | `[]` |
|
||||
| `metrics.serviceMonitor.selector` | ServiceMonitor selector labels | `{}` |
|
||||
| `metrics.serviceMonitor.honorLabels` | Specify honorLabels parameter to add the scrape endpoint | `false` |
|
||||
| `metrics.serviceMonitor.additionalLabels` | Used to pass Labels that are used by the Prometheus installed in your cluster to select Service Monitors to work with | `{}` |
|
||||
| `metrics.serviceMonitor.labels` | Used to pass Labels that are used by the Prometheus installed in your cluster to select Service Monitors to work with | `{}` |
|
||||
| `metrics.serviceMonitor.annotations` | ServiceMonitor annotations | `{}` |
|
||||
|
||||
|
||||
The above parameters map to the env variables defined in [bitnami/mysql](https://github.com/bitnami/bitnami-docker-mysql). For more information please refer to the [bitnami/mysql](https://github.com/bitnami/bitnami-docker-mysql) image documentation.
|
||||
@@ -437,6 +461,28 @@ $ helm upgrade my-release bitnami/mysql --set auth.rootPassword=[ROOT_PASSWORD]
|
||||
|
||||
| Note: you need to substitute the placeholder _[ROOT_PASSWORD]_ with the value obtained in the installation notes.
|
||||
|
||||
### To 9.0.0
|
||||
|
||||
This major release renames several values in this chart and adds missing features, in order to be aligned with the rest of the assets in the Bitnami charts repository.
|
||||
|
||||
Affected values:
|
||||
|
||||
- `schedulerName` was renamed as `primary.schedulerName` and `secondary.schedulerName`.
|
||||
- The way how passwords are handled has been refactored and value `auth.forcePassword` has been removed. Now, the password configuration will have the following priority:
|
||||
1. Search for an already existing 'Secret' resource and reuse previous password.
|
||||
2. Password provided via the values.yaml
|
||||
3. If no secret existed, and no password was provided, the bitnami/mysql chart will set a randomly generated password.
|
||||
- `primary.service.port` was renamed as `primary.service.ports.mysql`.
|
||||
- `secondary.service.port` was renamed as `secondary.service.ports.mysql`.
|
||||
- `primary.service.nodePort` was renamed as `primary.service.nodePorts.mysql`.
|
||||
- `secondary.service.nodePort` was renamed as `secondary.service.nodePorts.mysql`.
|
||||
- `primary.updateStrategy` and `secondary.updateStrategy` are now interpreted as an object and not a string.
|
||||
- Values `primary.rollingUpdatePartition` and `secondary.rollingUpdatePartition` have been removed. In cases were they are needed, they can be set inside `.*updateStrategy`.
|
||||
- `primary.pdb.enabled` was renamed as `primary.pdb.create`.
|
||||
- `secondary.pdb.enabled` was renamed as `secondary.pdb.create`.
|
||||
- `metrics.serviceMonitor.additionalLabels` was renamed as `metrics.serviceMonitor.labels`
|
||||
- `metrics.serviceMonitor.relabellings` was removed, previously used to configured `metricRelabelings` field. We introduced two new values: `metrics.serviceMonitor.relabelings` and `metrics.serviceMonitor.metricRelabelings` that can be used to configured the serviceMonitor homonimous field.
|
||||
|
||||
### To 8.0.0
|
||||
|
||||
- Several parameters were renamed or disappeared in favor of new ones on this major version:
|
||||
|
||||
@@ -12,11 +12,11 @@ The chart has been deployed in diagnostic mode. All probes have been disabled an
|
||||
|
||||
Get the list of pods by executing:
|
||||
|
||||
kubectl get pods --namespace {{ .Release.Namespace }} -l app.kubernetes.io/instance={{ .Release.Name }}
|
||||
kubectl get pods --namespace {{ include "common.names.namespace" . }} -l app.kubernetes.io/instance={{ .Release.Name }}
|
||||
|
||||
Access the pod you want to debug by executing
|
||||
|
||||
kubectl exec --namespace {{ .Release.Namespace }} -ti <NAME OF THE POD> -- bash
|
||||
kubectl exec --namespace {{ include "common.names.namespace" . }} -ti <NAME OF THE POD> -- bash
|
||||
|
||||
In order to replicate the container startup scripts execute this command:
|
||||
|
||||
@@ -26,35 +26,35 @@ In order to replicate the container startup scripts execute this command:
|
||||
|
||||
Tip:
|
||||
|
||||
Watch the deployment status using the command: kubectl get pods -w --namespace {{ .Release.Namespace }}
|
||||
Watch the deployment status using the command: kubectl get pods -w --namespace {{ include "common.names.namespace" . }}
|
||||
|
||||
Services:
|
||||
|
||||
echo Primary: {{ include "mysql.primary.fullname" . }}.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}:{{ .Values.primary.service.port }}
|
||||
echo Primary: {{ include "mysql.primary.fullname" . }}.{{ include "common.names.namespace" . }}.svc.{{ .Values.clusterDomain }}:{{ .Values.primary.service.ports.mysql }}
|
||||
{{- if eq .Values.architecture "replication" }}
|
||||
echo Secondary: {{ include "mysql.secondary.fullname" . }}.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}:{{ .Values.secondary.service.port }}
|
||||
echo Secondary: {{ include "mysql.secondary.fullname" . }}.{{ include "common.names.namespace" . }}.svc.{{ .Values.clusterDomain }}:{{ .Values.secondary.service.ports.mysql }}
|
||||
{{- end }}
|
||||
|
||||
Execute the following to get the administrator credentials:
|
||||
|
||||
echo Username: root
|
||||
MYSQL_ROOT_PASSWORD=$(kubectl get secret --namespace {{ .Release.Namespace }} {{ template "mysql.secretName" . }} -o jsonpath="{.data.mysql-root-password}" | base64 --decode)
|
||||
MYSQL_ROOT_PASSWORD=$(kubectl get secret --namespace {{ include "common.names.namespace" . }} {{ template "mysql.secretName" . }} -o jsonpath="{.data.mysql-root-password}" | base64 --decode)
|
||||
|
||||
To connect to your database:
|
||||
|
||||
1. Run a pod that you can use as a client:
|
||||
|
||||
kubectl run {{ include "common.names.fullname" . }}-client --rm --tty -i --restart='Never' --image {{ template "mysql.image" . }} --namespace {{ .Release.Namespace }} --env MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD --command -- bash
|
||||
kubectl run {{ include "common.names.fullname" . }}-client --rm --tty -i --restart='Never' --image {{ template "mysql.image" . }} --namespace {{ include "common.names.namespace" . }} --env MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD --command -- bash
|
||||
|
||||
2. To connect to primary service (read/write):
|
||||
|
||||
mysql -h {{ include "mysql.primary.fullname" . }}.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }} -uroot -p"$MYSQL_ROOT_PASSWORD"
|
||||
mysql -h {{ include "mysql.primary.fullname" . }}.{{ include "common.names.namespace" . }}.svc.{{ .Values.clusterDomain }} -uroot -p"$MYSQL_ROOT_PASSWORD"
|
||||
|
||||
{{- if eq .Values.architecture "replication" }}
|
||||
|
||||
3. To connect to secondary service (read-only):
|
||||
|
||||
mysql -h {{ include "mysql.secondary.fullname" . }}.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }} -uroot -p"$MYSQL_ROOT_PASSWORD"
|
||||
mysql -h {{ include "mysql.secondary.fullname" . }}.{{ include "common.names.namespace" . }}.svc.{{ .Values.clusterDomain }} -uroot -p"$MYSQL_ROOT_PASSWORD"
|
||||
{{- end }}
|
||||
|
||||
{{ if and (.Values.networkPolicy.enabled) (not .Values.networkPolicy.allowExternal) }}
|
||||
@@ -65,35 +65,11 @@ Note: Since NetworkPolicy is enabled, only pods with label {{ template "common.n
|
||||
|
||||
To access the MySQL Prometheus metrics from outside the cluster execute the following commands:
|
||||
|
||||
kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ printf "%s-metrics" (include "common.names.fullname" .) }} {{ .Values.metrics.service.port }}:{{ .Values.metrics.service.port }} &
|
||||
kubectl port-forward --namespace {{ include "common.names.namespace" . }} svc/{{ printf "%s-metrics" (include "common.names.fullname" .) }} {{ .Values.metrics.service.port }}:{{ .Values.metrics.service.port }} &
|
||||
curl http://127.0.0.1:{{ .Values.metrics.service.port }}/metrics
|
||||
|
||||
{{- end }}
|
||||
|
||||
To upgrade this helm chart:
|
||||
|
||||
1. Obtain the password as described on the 'Administrator credentials' section and set the 'root.password' parameter as shown below:
|
||||
|
||||
ROOT_PASSWORD=$(kubectl get secret --namespace {{ .Release.Namespace }} {{ include "common.names.fullname" . }} -o jsonpath="{.data.mysql-root-password}" | base64 --decode)
|
||||
helm upgrade --namespace {{ .Release.Namespace }} {{ .Release.Name }} bitnami/mysql --set auth.rootPassword=$ROOT_PASSWORD
|
||||
|
||||
{{ include "mysql.validateValues" . }}
|
||||
{{ include "mysql.checkRollingTags" . }}
|
||||
{{- if and (not .Values.auth.existingSecret) (not .Values.auth.customPasswordFiles) -}}
|
||||
{{- $secretName := include "mysql.secretName" . -}}
|
||||
{{- $requiredPasswords := list -}}
|
||||
|
||||
{{- $requiredRootPassword := dict "valueKey" "auth.rootPassword" "secret" $secretName "field" "mysql-root-password" -}}
|
||||
{{- $requiredPasswords = append $requiredPasswords $requiredRootPassword -}}
|
||||
|
||||
{{- if not (empty .Values.auth.username) -}}
|
||||
{{- $requiredPassword := dict "valueKey" "auth.password" "secret" $secretName "field" "mysql-password" -}}
|
||||
{{- $requiredPasswords = append $requiredPasswords $requiredPassword -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if (eq .Values.architecture "replication") -}}
|
||||
{{- $requiredReplicationPassword := dict "valueKey" "auth.replicationPassword" "secret" $secretName "field" "mysql-replication-password" -}}
|
||||
{{- $requiredPasswords = append $requiredPasswords $requiredReplicationPassword -}}
|
||||
{{- end -}}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -16,31 +16,30 @@
|
||||
Return the proper MySQL image name
|
||||
*/}}
|
||||
{{- define "mysql.image" -}}
|
||||
{{ include "common.images.image" (dict "imageRoot" .Values.image "global" .Values.global) }}
|
||||
{{- include "common.images.image" (dict "imageRoot" .Values.image "global" .Values.global) }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the proper metrics image name
|
||||
*/}}
|
||||
{{- define "mysql.metrics.image" -}}
|
||||
{{ include "common.images.image" (dict "imageRoot" .Values.metrics.image "global" .Values.global) }}
|
||||
{{- include "common.images.image" (dict "imageRoot" .Values.metrics.image "global" .Values.global) }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the proper image name (for the init container volume-permissions image)
|
||||
*/}}
|
||||
{{- define "mysql.volumePermissions.image" -}}
|
||||
{{ include "common.images.image" (dict "imageRoot" .Values.volumePermissions.image "global" .Values.global) }}
|
||||
{{- include "common.images.image" (dict "imageRoot" .Values.volumePermissions.image "global" .Values.global) }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the proper Docker Image Registry Secret Names
|
||||
*/}}
|
||||
{{- define "mysql.imagePullSecrets" -}}
|
||||
{{ include "common.images.pullSecrets" (dict "images" (list .Values.image .Values.metrics.image .Values.volumePermissions.image) "global" .Values.global) }}
|
||||
{{- include "common.images.pullSecrets" (dict "images" (list .Values.image .Values.metrics.image .Values.volumePermissions.image) "global" .Values.global) }}
|
||||
{{- end -}}
|
||||
|
||||
{{ template "mysql.initdbScriptsCM" . }}
|
||||
{{/*
|
||||
Get the initialization scripts ConfigMap name.
|
||||
*/}}
|
||||
@@ -141,36 +140,6 @@ otherwise it generates a random value.
|
||||
{{- end -}}
|
||||
{{- end }}
|
||||
|
||||
{{- define "mysql.root.password" -}}
|
||||
{{- if not (empty .Values.auth.rootPassword) }}
|
||||
{{- .Values.auth.rootPassword }}
|
||||
{{- else if (not .Values.auth.forcePassword) }}
|
||||
{{- include "getValueFromSecret" (dict "Namespace" .Release.Namespace "Name" (include "common.names.fullname" .) "Length" 10 "Key" "mysql-root-password") }}
|
||||
{{- else }}
|
||||
{{- required "A MySQL Root Password is required!" .Values.auth.rootPassword }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "mysql.password" -}}
|
||||
{{- if and (not (empty .Values.auth.username)) (not (empty .Values.auth.password)) }}
|
||||
{{- .Values.auth.password }}
|
||||
{{- else if (not .Values.auth.forcePassword) }}
|
||||
{{- include "getValueFromSecret" (dict "Namespace" .Release.Namespace "Name" (include "common.names.fullname" .) "Length" 10 "Key" "mysql-password") }}
|
||||
{{- else }}
|
||||
{{- required "A MySQL Database Password is required!" .Values.auth.password }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "mysql.replication.password" -}}
|
||||
{{- if not (empty .Values.auth.replicationPassword) }}
|
||||
{{- .Values.auth.replicationPassword }}
|
||||
{{- else if (not .Values.auth.forcePassword) }}
|
||||
{{- include "getValueFromSecret" (dict "Namespace" .Release.Namespace "Name" (include "common.names.fullname" .) "Length" 10 "Key" "mysql-replication-password") }}
|
||||
{{- else }}
|
||||
{{- required "A MySQL Replication Password is required!" .Values.auth.replicationPassword }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Check if there are rolling tags in the images */}}
|
||||
{{- define "mysql.checkRollingTags" -}}
|
||||
{{- include "common.warnings.rollingTag" .Values.image }}
|
||||
|
||||
@@ -3,7 +3,7 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ printf "%s-metrics" (include "common.names.fullname" .) }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
|
||||
@@ -3,12 +3,14 @@ kind: NetworkPolicy
|
||||
apiVersion: {{ template "common.capabilities.networkPolicy.apiVersion" . }}
|
||||
metadata:
|
||||
name: {{ template "common.names.fullname" . }}
|
||||
labels:
|
||||
{{- include "common.labels.standard" . | nindent 4 }}
|
||||
namespace: {{ include "common.names.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 }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
spec:
|
||||
podSelector:
|
||||
matchLabels:
|
||||
@@ -16,7 +18,7 @@ spec:
|
||||
ingress:
|
||||
# Allow inbound connections
|
||||
- ports:
|
||||
- port: {{ .Values.primary.service.port }}
|
||||
- port: {{ .Values.primary.service.ports.mysql }}
|
||||
{{- if not .Values.networkPolicy.allowExternal }}
|
||||
from:
|
||||
- podSelector:
|
||||
|
||||
@@ -3,7 +3,7 @@ apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ include "mysql.primary.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: primary
|
||||
{{- if .Values.commonLabels }}
|
||||
@@ -14,5 +14,5 @@ metadata:
|
||||
{{- end }}
|
||||
data:
|
||||
my.cnf: |-
|
||||
{{ .Values.primary.configuration | nindent 4 }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.primary.configuration "context" $ ) | nindent 4 }}
|
||||
{{- end -}}
|
||||
|
||||
@@ -3,12 +3,15 @@ apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ printf "%s-init-scripts" (include "mysql.primary.fullname" .) }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: primary
|
||||
{{- 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 }}
|
||||
data:
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.initdbScripts "context" .) | nindent 2 }}
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{{- if .Values.primary.pdb.enabled }}
|
||||
{{- if .Values.primary.pdb.create }}
|
||||
apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
|
||||
kind: PodDisruptionBudget
|
||||
metadata:
|
||||
name: {{ include "mysql.primary.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: primary
|
||||
{{- if .Values.commonLabels }}
|
||||
|
||||
@@ -2,32 +2,25 @@ apiVersion: {{ include "common.capabilities.statefulset.apiVersion" . }}
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
name: {{ include "mysql.primary.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: primary
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.primary.podLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.primary.podLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.commonAnnotations }}
|
||||
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
replicas: 1
|
||||
podManagementPolicy: {{ .Values.primary.podManagementPolicy | quote }}
|
||||
selector:
|
||||
matchLabels: {{ include "common.labels.matchLabels" . | nindent 6 }}
|
||||
app.kubernetes.io/component: primary
|
||||
serviceName: {{ include "mysql.primary.fullname" . }}
|
||||
updateStrategy:
|
||||
type: {{ .Values.primary.updateStrategy }}
|
||||
{{- if (eq "Recreate" .Values.primary.updateStrategy) }}
|
||||
rollingUpdate: null
|
||||
{{- else if .Values.primary.rollingUpdatePartition }}
|
||||
rollingUpdate:
|
||||
partition: {{ .Values.primary.rollingUpdatePartition }}
|
||||
{{- end }}
|
||||
{{- if .Values.primary.updateStrategy }}
|
||||
updateStrategy: {{- toYaml .Values.primary.updateStrategy | nindent 4 }}
|
||||
{{- end }}
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
@@ -39,21 +32,15 @@ spec:
|
||||
{{- end }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 8 }}
|
||||
app.kubernetes.io/component: primary
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.primary.podLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.primary.podLabels "context" $ ) | nindent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
serviceAccountName: {{ template "mysql.serviceAccountName" . }}
|
||||
{{- include "mysql.imagePullSecrets" . | nindent 6 }}
|
||||
{{- if .Values.primary.hostAliases }}
|
||||
hostAliases: {{- include "common.tplvalues.render" (dict "value" .Values.primary.hostAliases "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.schedulerName }}
|
||||
schedulerName: {{ .Values.schedulerName | quote }}
|
||||
{{- end }}
|
||||
serviceAccountName: {{ template "mysql.serviceAccountName" . }}
|
||||
{{- if .Values.primary.affinity }}
|
||||
affinity: {{- include "common.tplvalues.render" (dict "value" .Values.primary.affinity "context" $) | nindent 8 }}
|
||||
{{- else }}
|
||||
@@ -68,17 +55,22 @@ spec:
|
||||
{{- if .Values.primary.tolerations }}
|
||||
tolerations: {{- include "common.tplvalues.render" (dict "value" .Values.primary.tolerations "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.priorityClassName }}
|
||||
priorityClassName: {{ .Values.priorityClassName | quote }}
|
||||
{{- if .Values.primary.priorityClassName }}
|
||||
priorityClassName: {{ .Values.primary.priorityClassName | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.primary.schedulerName }}
|
||||
schedulerName: {{ .Values.primary.schedulerName | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.primary.topologySpreadConstraints }}
|
||||
topologySpreadConstraints: {{- include "common.tplvalues.render" (dict "value" .Values.primary.topologySpreadConstraints "context" .) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.primary.podSecurityContext.enabled }}
|
||||
securityContext: {{- omit .Values.primary.podSecurityContext "enabled" | toYaml | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if or .Values.primary.initContainers (and .Values.primary.podSecurityContext.enabled .Values.volumePermissions.enabled .Values.primary.persistence.enabled) }}
|
||||
{{- if .Values.primary.terminationGracePeriodSeconds }}
|
||||
terminationGracePeriodSeconds: {{ .Values.primary.terminationGracePeriodSeconds }}
|
||||
{{- end }}
|
||||
initContainers:
|
||||
{{- if .Values.primary.initContainers }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.primary.initContainers "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if and .Values.primary.podSecurityContext.enabled .Values.volumePermissions.enabled .Values.primary.persistence.enabled }}
|
||||
- name: volume-permissions
|
||||
image: {{ include "mysql.volumePermissions.image" . }}
|
||||
@@ -87,7 +79,9 @@ spec:
|
||||
- /bin/bash
|
||||
- -ec
|
||||
- |
|
||||
chown -R {{ .Values.primary.containerSecurityContext.runAsUser }}:{{ .Values.primary.podSecurityContext.fsGroup }} /bitnami/mysql
|
||||
mkdir -p "/bitnami/mysql"
|
||||
chown "{{ .Values.primary.containerSecurityContext.runAsUser }}:{{ .Values.primary.podSecurityContext.fsGroup }}" "/bitnami/mysql"
|
||||
find "/bitnami/mysql" -mindepth 1 -maxdepth 1 -not -name ".snapshot" -not -name "lost+found" | xargs -r chown -R "{{ .Values.primary.containerSecurityContext.runAsUser }}:{{ .Values.primary.podSecurityContext.fsGroup }}"
|
||||
securityContext:
|
||||
runAsUser: 0
|
||||
{{- if .Values.volumePermissions.resources }}
|
||||
@@ -97,7 +91,9 @@ spec:
|
||||
- name: data
|
||||
mountPath: /bitnami/mysql
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.primary.initContainers }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.primary.initContainers "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: mysql
|
||||
image: {{ include "mysql.image" . }}
|
||||
@@ -115,6 +111,9 @@ spec:
|
||||
{{- else if .Values.primary.args }}
|
||||
args: {{- include "common.tplvalues.render" (dict "value" .Values.primary.args "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.primary.lifecycleHooks }}
|
||||
lifecycle: {{- include "common.tplvalues.render" (dict "value" .Values.primary.lifecycleHooks "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
env:
|
||||
- name: BITNAMI_DEBUG
|
||||
value: {{ ternary "true" "false" (or .Values.image.debug .Values.diagnosticMode.enabled) | quote }}
|
||||
@@ -167,23 +166,21 @@ spec:
|
||||
{{- if .Values.primary.extraEnvVars }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.primary.extraEnvVars "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if or .Values.primary.extraEnvVarsCM .Values.primary.extraEnvVarsSecret }}
|
||||
envFrom:
|
||||
{{- if .Values.primary.extraEnvVarsCM }}
|
||||
- configMapRef:
|
||||
name: {{ .Values.primary.extraEnvVarsCM }}
|
||||
name: {{ include "common.tplvalues.render" (dict "value" .Values.primary.extraEnvVarsCM "context" $) }}
|
||||
{{- end }}
|
||||
{{- if .Values.primary.extraEnvVarsSecret }}
|
||||
- secretRef:
|
||||
name: {{ .Values.primary.extraEnvVarsSecret }}
|
||||
name: {{ include "common.tplvalues.render" (dict "value" .Values.primary.extraEnvVarsSecret "context" $) }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: mysql
|
||||
containerPort: 3306
|
||||
{{- if not .Values.diagnosticMode.enabled }}
|
||||
{{- if .Values.primary.livenessProbe.enabled }}
|
||||
livenessProbe: {{- omit .Values.primary.livenessProbe "enabled" | toYaml | nindent 12 }}
|
||||
livenessProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.primary.livenessProbe "enabled") "context" $) | nindent 12 }}
|
||||
exec:
|
||||
command:
|
||||
- /bin/bash
|
||||
@@ -198,7 +195,7 @@ spec:
|
||||
livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.primary.customLivenessProbe "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.primary.readinessProbe.enabled }}
|
||||
readinessProbe: {{- omit .Values.primary.readinessProbe "enabled" | toYaml | nindent 12 }}
|
||||
readinessProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.primary.readinessProbe "enabled") "context" $) | nindent 12 }}
|
||||
exec:
|
||||
command:
|
||||
- /bin/bash
|
||||
@@ -213,7 +210,7 @@ spec:
|
||||
readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.primary.customReadinessProbe "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.primary.startupProbe.enabled }}
|
||||
startupProbe: {{- omit .Values.primary.startupProbe "enabled" | toYaml | nindent 12 }}
|
||||
startupProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.primary.startupProbe "enabled") "context" $) | nindent 12 }}
|
||||
exec:
|
||||
command:
|
||||
- /bin/bash
|
||||
@@ -349,10 +346,16 @@ spec:
|
||||
name: data
|
||||
labels: {{ include "common.labels.matchLabels" . | nindent 10 }}
|
||||
app.kubernetes.io/component: primary
|
||||
{{- if .Values.primary.persistence.annotations }}
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.commonLabels "context" $) | nindent 10 }}
|
||||
{{- end }}
|
||||
annotations:
|
||||
{{- toYaml .Values.primary.persistence.annotations | nindent 10 }}
|
||||
{{- end }}
|
||||
{{- if .Values.primary.persistence.annotations }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.primary.persistence.annotations "context" $) | nindent 10 }}
|
||||
{{- end }}
|
||||
{{- if .Values.commonAnnotations }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.commonAnnotations "context" $) | nindent 10 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
accessModes:
|
||||
{{- range .Values.primary.persistence.accessModes }}
|
||||
@@ -361,7 +364,7 @@ spec:
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.primary.persistence.size | quote }}
|
||||
{{ include "common.storage.class" (dict "persistence" .Values.primary.persistence "global" .Values.global) }}
|
||||
{{- include "common.storage.class" (dict "persistence" .Values.primary.persistence "global" .Values.global) | nindent 8 }}
|
||||
{{- if .Values.primary.persistence.selector }}
|
||||
selector: {{- include "common.tplvalues.render" (dict "value" .Values.primary.persistence.selector "context" $) | nindent 10 }}
|
||||
{{- end -}}
|
||||
|
||||
@@ -2,7 +2,7 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "mysql.primary.fullname" . }}-headless
|
||||
namespace: {{ .Release.Namespace }}
|
||||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: primary
|
||||
{{- if .Values.commonLabels }}
|
||||
@@ -18,7 +18,7 @@ spec:
|
||||
publishNotReadyAddresses: true
|
||||
ports:
|
||||
- name: mysql
|
||||
port: {{ .Values.primary.service.port }}
|
||||
port: {{ .Values.primary.service.ports.mysql }}
|
||||
targetPort: mysql
|
||||
selector: {{ include "common.labels.matchLabels" . | nindent 4 }}
|
||||
app.kubernetes.io/component: primary
|
||||
|
||||
@@ -2,7 +2,7 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "mysql.primary.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: primary
|
||||
{{- if .Values.commonLabels }}
|
||||
@@ -17,25 +17,36 @@ metadata:
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.primary.service.type }}
|
||||
{{- if and (eq .Values.primary.service.type "ClusterIP") .Values.primary.service.clusterIP }}
|
||||
{{- if and .Values.primary.service.clusterIP (eq .Values.primary.service.type "ClusterIP") }}
|
||||
clusterIP: {{ .Values.primary.service.clusterIP }}
|
||||
{{- end }}
|
||||
{{- if and .Values.primary.service.loadBalancerIP (eq .Values.primary.service.type "LoadBalancer") }}
|
||||
loadBalancerIP: {{ .Values.primary.service.loadBalancerIP }}
|
||||
{{- if .Values.primary.service.sessionAffinity }}
|
||||
sessionAffinity: {{ .Values.primary.service.sessionAffinity }}
|
||||
{{- end }}
|
||||
{{- if .Values.primary.service.sessionAffinityConfig }}
|
||||
sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.primary.service.sessionAffinityConfig "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if or (eq .Values.primary.service.type "LoadBalancer") (eq .Values.primary.service.type "NodePort") }}
|
||||
externalTrafficPolicy: {{ .Values.primary.service.externalTrafficPolicy | quote }}
|
||||
{{- end }}
|
||||
{{- if and (eq .Values.primary.service.type "LoadBalancer") .Values.primary.service.loadBalancerSourceRanges }}
|
||||
loadBalancerSourceRanges: {{- toYaml .Values.primary.service.loadBalancerSourceRanges | nindent 4 }}
|
||||
{{- if and (eq .Values.primary.service.type "LoadBalancer") (not (empty .Values.primary.service.loadBalancerSourceRanges)) }}
|
||||
loadBalancerSourceRanges: {{ .Values.primary.service.loadBalancerSourceRanges }}
|
||||
{{- end }}
|
||||
{{- if and (eq .Values.primary.service.type "LoadBalancer") (not (empty .Values.primary.service.loadBalancerIP)) }}
|
||||
loadBalancerIP: {{ .Values.primary.service.loadBalancerIP }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: mysql
|
||||
port: {{ .Values.primary.service.port }}
|
||||
port: {{ .Values.primary.service.ports.mysql }}
|
||||
protocol: TCP
|
||||
targetPort: mysql
|
||||
{{- if (and (or (eq .Values.primary.service.type "NodePort") (eq .Values.primary.service.type "LoadBalancer")) .Values.primary.service.nodePort) }}
|
||||
nodePort: {{ .Values.primary.service.nodePort }}
|
||||
{{- if (and (or (eq .Values.primary.service.type "NodePort") (eq .Values.primary.service.type "LoadBalancer")) .Values.primary.service.nodePorts.mysql) }}
|
||||
nodePort: {{ .Values.primary.service.nodePorts.mysql }}
|
||||
{{- else if eq .Values.primary.service.type "ClusterIP" }}
|
||||
nodePort: null
|
||||
{{- end }}
|
||||
{{- if .Values.primary.service.extraPorts }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.primary.service.extraPorts "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
selector: {{ include "common.labels.matchLabels" . | nindent 4 }}
|
||||
app.kubernetes.io/component: primary
|
||||
|
||||
@@ -3,7 +3,7 @@ apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
|
||||
kind: Role
|
||||
metadata:
|
||||
name: {{ include "common.names.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
@@ -18,4 +18,7 @@ rules:
|
||||
- endpoints
|
||||
verbs:
|
||||
- get
|
||||
{{- if .Values.rbac.rules }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.rbac.rules "context" $ ) | nindent 2 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -3,7 +3,7 @@ kind: RoleBinding
|
||||
apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
|
||||
metadata:
|
||||
name: {{ include "common.names.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
|
||||
@@ -3,7 +3,7 @@ apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ include "mysql.secondary.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: secondary
|
||||
{{- if .Values.commonLabels }}
|
||||
@@ -14,5 +14,5 @@ metadata:
|
||||
{{- end }}
|
||||
data:
|
||||
my.cnf: |-
|
||||
{{ .Values.secondary.configuration | nindent 4 }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.secondary.configuration "context" $ ) | nindent 4 }}
|
||||
{{- end -}}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{{- if and (eq .Values.architecture "replication") .Values.secondary.pdb.enabled }}
|
||||
{{- if and (eq .Values.architecture "replication") .Values.secondary.pdb.create }}
|
||||
apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
|
||||
kind: PodDisruptionBudget
|
||||
metadata:
|
||||
name: {{ include "mysql.secondary.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: secondary
|
||||
{{- if .Values.commonLabels }}
|
||||
|
||||
@@ -3,32 +3,25 @@ apiVersion: {{ include "common.capabilities.statefulset.apiVersion" . }}
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
name: {{ include "mysql.secondary.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: secondary
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.secondary.podLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.secondary.podLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.commonAnnotations }}
|
||||
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
replicas: {{ .Values.secondary.replicaCount }}
|
||||
podManagementPolicy: {{ .Values.secondary.podManagementPolicy | quote }}
|
||||
selector:
|
||||
matchLabels: {{ include "common.labels.matchLabels" . | nindent 6 }}
|
||||
app.kubernetes.io/component: secondary
|
||||
serviceName: {{ include "mysql.secondary.fullname" . }}
|
||||
updateStrategy:
|
||||
type: {{ .Values.secondary.updateStrategy }}
|
||||
{{- if (eq "Recreate" .Values.secondary.updateStrategy) }}
|
||||
rollingUpdate: null
|
||||
{{- else if .Values.secondary.rollingUpdatePartition }}
|
||||
rollingUpdate:
|
||||
partition: {{ .Values.secondary.rollingUpdatePartition }}
|
||||
{{- end }}
|
||||
{{- if .Values.secondary.updateStrategy }}
|
||||
updateStrategy: {{- toYaml .Values.secondary.updateStrategy | nindent 4 }}
|
||||
{{- end }}
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
@@ -40,21 +33,15 @@ spec:
|
||||
{{- end }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 8 }}
|
||||
app.kubernetes.io/component: secondary
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.secondary.podLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.secondary.podLabels "context" $ ) | nindent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
serviceAccountName: {{ include "mysql.serviceAccountName" . }}
|
||||
{{- include "mysql.imagePullSecrets" . | nindent 6 }}
|
||||
{{- if .Values.secondary.hostAliases }}
|
||||
hostAliases: {{- include "common.tplvalues.render" (dict "value" .Values.secondary.hostAliases "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.schedulerName }}
|
||||
schedulerName: {{ .Values.schedulerName | quote }}
|
||||
{{- end }}
|
||||
serviceAccountName: {{ include "mysql.serviceAccountName" . }}
|
||||
{{- if .Values.secondary.affinity }}
|
||||
affinity: {{- include "common.tplvalues.render" (dict "value" .Values.secondary.affinity "context" $) | nindent 8 }}
|
||||
{{- else }}
|
||||
@@ -69,17 +56,22 @@ spec:
|
||||
{{- if .Values.secondary.tolerations }}
|
||||
tolerations: {{- include "common.tplvalues.render" (dict "value" .Values.secondary.tolerations "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.priorityClassName }}
|
||||
priorityClassName: {{ .Values.priorityClassName | quote }}
|
||||
{{- if .Values.secondary.priorityClassName }}
|
||||
priorityClassName: {{ .Values.secondary.priorityClassName | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.secondary.schedulerName }}
|
||||
schedulerName: {{ .Values.secondary.schedulerName | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.secondary.topologySpreadConstraints }}
|
||||
topologySpreadConstraints: {{- include "common.tplvalues.render" (dict "value" .Values.secondary.topologySpreadConstraints "context" .) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.secondary.podSecurityContext.enabled }}
|
||||
securityContext: {{- omit .Values.secondary.podSecurityContext "enabled" | toYaml | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if or .Values.secondary.initContainers (and .Values.secondary.podSecurityContext.enabled .Values.volumePermissions.enabled .Values.secondary.persistence.enabled) }}
|
||||
{{- if .Values.secondary.terminationGracePeriodSeconds }}
|
||||
terminationGracePeriodSeconds: {{ .Values.secondary.terminationGracePeriodSeconds }}
|
||||
{{- end }}
|
||||
initContainers:
|
||||
{{- if .Values.secondary.initContainers }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.secondary.initContainers "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if and .Values.secondary.podSecurityContext.enabled .Values.volumePermissions.enabled .Values.secondary.persistence.enabled }}
|
||||
- name: volume-permissions
|
||||
image: {{ include "mysql.volumePermissions.image" . }}
|
||||
@@ -88,7 +80,9 @@ spec:
|
||||
- /bin/bash
|
||||
- -ec
|
||||
- |
|
||||
chown -R {{ .Values.secondary.containerSecurityContext.runAsUser }}:{{ .Values.secondary.podSecurityContext.fsGroup }} /bitnami/mysql
|
||||
mkdir -p "/bitnami/mysql"
|
||||
chown "{{ .Values.secondary.containerSecurityContext.runAsUser }}:{{ .Values.secondary.podSecurityContext.fsGroup }}" "/bitnami/mysql"
|
||||
find "/bitnami/mysql" -mindepth 1 -maxdepth 1 -not -name ".snapshot" -not -name "lost+found" | xargs -r chown -R "{{ .Values.secondary.containerSecurityContext.runAsUser }}:{{ .Values.secondary.podSecurityContext.fsGroup }}"
|
||||
securityContext:
|
||||
runAsUser: 0
|
||||
{{- if .Values.volumePermissions.resources }}
|
||||
@@ -98,7 +92,9 @@ spec:
|
||||
- name: data
|
||||
mountPath: /bitnami/mysql
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.secondary.initContainers }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.secondary.initContainers "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: mysql
|
||||
image: {{ include "mysql.image" . }}
|
||||
@@ -116,6 +112,9 @@ spec:
|
||||
{{- else if .Values.secondary.args }}
|
||||
args: {{- include "common.tplvalues.render" (dict "value" .Values.secondary.args "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.secondary.lifecycleHooks }}
|
||||
lifecycle: {{- include "common.tplvalues.render" (dict "value" .Values.secondary.lifecycleHooks "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
env:
|
||||
- name: BITNAMI_DEBUG
|
||||
value: {{ ternary "true" "false" (or .Values.image.debug .Values.diagnosticMode.enabled) | quote }}
|
||||
@@ -124,7 +123,7 @@ spec:
|
||||
- name: MYSQL_MASTER_HOST
|
||||
value: {{ include "mysql.primary.fullname" . }}
|
||||
- name: MYSQL_MASTER_PORT_NUMBER
|
||||
value: {{ .Values.primary.service.port | quote }}
|
||||
value: {{ .Values.primary.service.ports.mysql | quote }}
|
||||
- name: MYSQL_MASTER_ROOT_USER
|
||||
value: "root"
|
||||
- name: MYSQL_REPLICATION_USER
|
||||
@@ -153,23 +152,21 @@ spec:
|
||||
{{- if .Values.secondary.extraEnvVars }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.secondary.extraEnvVars "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if or .Values.secondary.extraEnvVarsCM .Values.secondary.extraEnvVarsSecret }}
|
||||
envFrom:
|
||||
{{- if .Values.secondary.extraEnvVarsCM }}
|
||||
- configMapRef:
|
||||
name: {{ .Values.secondary.extraEnvVarsCM }}
|
||||
name: {{ include "common.tplvalues.render" (dict "value" .Values.secondary.extraEnvVarsCM "context" $) }}
|
||||
{{- end }}
|
||||
{{- if .Values.secondary.extraEnvVarsSecret }}
|
||||
- secretRef:
|
||||
name: {{ .Values.secondary.extraEnvVarsSecret }}
|
||||
name: {{ include "common.tplvalues.render" (dict "value" .Values.secondary.extraEnvVarsSecret "context" $) }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: mysql
|
||||
containerPort: 3306
|
||||
{{- if not .Values.diagnosticMode.enabled }}
|
||||
{{- if .Values.secondary.livenessProbe.enabled }}
|
||||
livenessProbe: {{- omit .Values.secondary.livenessProbe "enabled" | toYaml | nindent 12 }}
|
||||
livenessProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.secondary.livenessProbe "enabled") "context" $) | nindent 12 }}
|
||||
exec:
|
||||
command:
|
||||
- /bin/bash
|
||||
@@ -184,7 +181,7 @@ spec:
|
||||
livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.secondary.customLivenessProbe "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.secondary.readinessProbe.enabled }}
|
||||
readinessProbe: {{- omit .Values.secondary.readinessProbe "enabled" | toYaml | nindent 12 }}
|
||||
readinessProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.secondary.readinessProbe "enabled") "context" $) | nindent 12 }}
|
||||
exec:
|
||||
command:
|
||||
- /bin/bash
|
||||
@@ -199,7 +196,7 @@ spec:
|
||||
readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.secondary.customReadinessProbe "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.secondary.startupProbe.enabled }}
|
||||
startupProbe: {{- omit .Values.secondary.startupProbe "enabled" | toYaml | nindent 12 }}
|
||||
startupProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.secondary.startupProbe "enabled") "context" $) | nindent 12 }}
|
||||
exec:
|
||||
command:
|
||||
- /bin/bash
|
||||
@@ -318,10 +315,16 @@ spec:
|
||||
name: data
|
||||
labels: {{ include "common.labels.matchLabels" . | nindent 10 }}
|
||||
app.kubernetes.io/component: secondary
|
||||
{{- if .Values.secondary.persistence.annotations }}
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.commonLabels "context" $) | nindent 10 }}
|
||||
{{- end }}
|
||||
annotations:
|
||||
{{- toYaml .Values.secondary.persistence.annotations | nindent 10 }}
|
||||
{{- end }}
|
||||
{{- if .Values.secondary.persistence.annotations }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.secondary.persistence.annotations "context" $) | nindent 10 }}
|
||||
{{- end }}
|
||||
{{- if .Values.commonAnnotations }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.commonAnnotations "context" $) | nindent 10 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
accessModes:
|
||||
{{- range .Values.secondary.persistence.accessModes }}
|
||||
@@ -330,7 +333,7 @@ spec:
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.secondary.persistence.size | quote }}
|
||||
{{ include "common.storage.class" (dict "persistence" .Values.secondary.persistence "global" .Values.global) }}
|
||||
{{- include "common.storage.class" (dict "persistence" .Values.secondary.persistence "global" .Values.global) | nindent 8 }}
|
||||
{{- if .Values.secondary.persistence.selector }}
|
||||
selector: {{- include "common.tplvalues.render" (dict "value" .Values.secondary.persistence.selector "context" $) | nindent 10 }}
|
||||
{{- end -}}
|
||||
|
||||
@@ -3,7 +3,7 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "mysql.secondary.fullname" . }}-headless
|
||||
namespace: {{ .Release.Namespace }}
|
||||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: secondary
|
||||
{{- if .Values.commonLabels }}
|
||||
@@ -19,7 +19,7 @@ spec:
|
||||
publishNotReadyAddresses: true
|
||||
ports:
|
||||
- name: mysql
|
||||
port: {{ .Values.secondary.service.port }}
|
||||
port: {{ .Values.secondary.service.ports.mysql }}
|
||||
targetPort: mysql
|
||||
selector: {{ include "common.labels.matchLabels" . | nindent 4 }}
|
||||
app.kubernetes.io/component: secondary
|
||||
|
||||
@@ -3,7 +3,7 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "mysql.secondary.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: secondary
|
||||
{{- if .Values.commonLabels }}
|
||||
@@ -18,26 +18,37 @@ metadata:
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.secondary.service.type }}
|
||||
{{- if and (eq .Values.secondary.service.type "ClusterIP") .Values.secondary.service.clusterIP }}
|
||||
{{- if and .Values.secondary.service.clusterIP (eq .Values.secondary.service.type "ClusterIP") }}
|
||||
clusterIP: {{ .Values.secondary.service.clusterIP }}
|
||||
{{- end }}
|
||||
{{- if and .Values.secondary.service.loadBalancerIP (eq .Values.secondary.service.type "LoadBalancer") }}
|
||||
loadBalancerIP: {{ .Values.secondary.service.loadBalancerIP }}
|
||||
{{- if .Values.secondary.service.sessionAffinity }}
|
||||
sessionAffinity: {{ .Values.secondary.service.sessionAffinity }}
|
||||
{{- end }}
|
||||
{{- if .Values.secondary.service.sessionAffinityConfig }}
|
||||
sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.secondary.service.sessionAffinityConfig "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if or (eq .Values.secondary.service.type "LoadBalancer") (eq .Values.secondary.service.type "NodePort") }}
|
||||
externalTrafficPolicy: {{ .Values.secondary.service.externalTrafficPolicy | quote }}
|
||||
{{- end }}
|
||||
{{- if and (eq .Values.secondary.service.type "LoadBalancer") .Values.secondary.service.loadBalancerSourceRanges }}
|
||||
loadBalancerSourceRanges: {{- toYaml .Values.secondary.service.loadBalancerSourceRanges | nindent 4 }}
|
||||
{{- if and (eq .Values.secondary.service.type "LoadBalancer") (not (empty .Values.secondary.service.loadBalancerSourceRanges)) }}
|
||||
loadBalancerSourceRanges: {{ .Values.secondary.service.loadBalancerSourceRanges }}
|
||||
{{- end }}
|
||||
{{- if and (eq .Values.secondary.service.type "LoadBalancer") (not (empty .Values.secondary.service.loadBalancerIP)) }}
|
||||
loadBalancerIP: {{ .Values.secondary.service.loadBalancerIP }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: mysql
|
||||
port: {{ .Values.secondary.service.port }}
|
||||
port: {{ .Values.secondary.service.ports.mysql }}
|
||||
protocol: TCP
|
||||
targetPort: mysql
|
||||
{{- if (and (or (eq .Values.secondary.service.type "NodePort") (eq .Values.secondary.service.type "LoadBalancer")) .Values.secondary.service.nodePort) }}
|
||||
nodePort: {{ .Values.secondary.service.nodePort }}
|
||||
{{- if (and (or (eq .Values.secondary.service.type "NodePort") (eq .Values.secondary.service.type "LoadBalancer")) .Values.secondary.service.nodePorts.mysql) }}
|
||||
nodePort: {{ .Values.secondary.service.nodePorts.mysql }}
|
||||
{{- else if eq .Values.secondary.service.type "ClusterIP" }}
|
||||
nodePort: null
|
||||
{{- end }}
|
||||
{{- if .Values.secondary.service.extraPorts }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.secondary.service.extraPorts "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
selector: {{ include "common.labels.matchLabels" . | nindent 4 }}
|
||||
app.kubernetes.io/component: secondary
|
||||
{{- end }}
|
||||
|
||||
@@ -3,7 +3,7 @@ apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: {{ include "common.names.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
@@ -13,9 +13,9 @@ metadata:
|
||||
{{- end }}
|
||||
type: Opaque
|
||||
data:
|
||||
mysql-root-password: {{ include "mysql.root.password" . | b64enc | quote }}
|
||||
mysql-password: {{ include "mysql.password" . | b64enc | quote }}
|
||||
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" $) }}
|
||||
{{- if eq .Values.architecture "replication" }}
|
||||
mysql-replication-password: {{ include "mysql.replication.password" . | b64enc | quote }}
|
||||
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" $) | b64enc | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -3,18 +3,19 @@ apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: {{ include "mysql.serviceAccountName" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
annotations:
|
||||
{{- if .Values.serviceAccount.annotations }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.serviceAccount.annotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.commonAnnotations }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.serviceAccount.annotations }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.serviceAccount.annotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }}
|
||||
{{- if (not .Values.auth.customPasswordFiles) }}
|
||||
secrets:
|
||||
- name: {{ template "mysql.secretName" . }}
|
||||
|
||||
@@ -3,22 +3,23 @@ apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
name: {{ include "common.names.fullname" . }}
|
||||
{{- if .Values.metrics.serviceMonitor.namespace }}
|
||||
namespace: {{ .Values.metrics.serviceMonitor.namespace }}
|
||||
{{- else }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
{{- end }}
|
||||
namespace: {{ default (include "common.names.namespace" .) .Values.metrics.serviceMonitor.namespace }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
{{- if .Values.metrics.serviceMonitor.labels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.metrics.serviceMonitor.labels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.metrics.serviceMonitor.additionalLabels }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.metrics.serviceMonitor.additionalLabels "context" $) | nindent 4 }}
|
||||
annotations:
|
||||
{{- if .Values.commonAnnotations }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.metrics.serviceMonitor.annotations }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.metrics.serviceMonitor.annotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.commonAnnotations }}
|
||||
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
jobLabel: {{ .Values.metrics.serviceMonitor.jobLabel | quote }}
|
||||
endpoints:
|
||||
- port: metrics
|
||||
{{- if .Values.metrics.serviceMonitor.interval }}
|
||||
@@ -30,13 +31,19 @@ spec:
|
||||
{{- if .Values.metrics.serviceMonitor.honorLabels }}
|
||||
honorLabels: {{ .Values.metrics.serviceMonitor.honorLabels }}
|
||||
{{- end }}
|
||||
{{- if .Values.metrics.serviceMonitor.relabellings }}
|
||||
metricRelabelings: {{- toYaml .Values.metrics.serviceMonitor.relabellings | nindent 6 }}
|
||||
{{- if .Values.metrics.serviceMonitor.metricRelabelings }}
|
||||
metricRelabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.metrics.serviceMonitor.metricRelabelings "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.metrics.serviceMonitor.relabelings }}
|
||||
relabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.metrics.serviceMonitor.relabelings "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- {{ .Release.Namespace }}
|
||||
- {{ include "common.names.namespace" . | quote }}
|
||||
selector:
|
||||
matchLabels: {{- include "common.labels.matchLabels" . | nindent 6 }}
|
||||
app.kubernetes.io/component: metrics
|
||||
{{- if .Values.metrics.serviceMonitor.selector }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.metrics.serviceMonitor.selector "context" $) | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass
|
||||
|
||||
## @param global.imageRegistry Global Docker image registry
|
||||
## @param global.imagePullSecrets [array] Global Docker registry secret names as an array
|
||||
## @param global.imagePullSecrets Global Docker registry secret names as an array
|
||||
## @param global.storageClass Global StorageClass for Persistent Volume(s)
|
||||
##
|
||||
global:
|
||||
@@ -18,28 +18,30 @@ global:
|
||||
|
||||
## @section Common parameters
|
||||
|
||||
## @param kubeVersion Force target Kubernetes version (using Helm capabilities if not set)
|
||||
##
|
||||
kubeVersion: ""
|
||||
## @param nameOverride String to partially override common.names.fullname template (will maintain the release name)
|
||||
##
|
||||
nameOverride: ""
|
||||
## @param fullnameOverride String to fully override common.names.fullname template
|
||||
##
|
||||
fullnameOverride: ""
|
||||
## @param namespaceOverride String to fully override common.names.namespace
|
||||
##
|
||||
namespaceOverride: ""
|
||||
## @param clusterDomain Cluster domain
|
||||
##
|
||||
clusterDomain: cluster.local
|
||||
## @param commonAnnotations [object] Common annotations to add to all MySQL resources (sub-charts are not considered). Evaluated as a template
|
||||
## @param commonAnnotations Common annotations to add to all MySQL resources (sub-charts are not considered). Evaluated as a template
|
||||
##
|
||||
commonAnnotations: {}
|
||||
## @param commonLabels [object] Common labels to add to all MySQL resources (sub-charts are not considered). Evaluated as a template
|
||||
## @param commonLabels Common labels to add to all MySQL resources (sub-charts are not considered). Evaluated as a template
|
||||
##
|
||||
commonLabels: {}
|
||||
## @param extraDeploy [array] Array with extra yaml to deploy with the chart. Evaluated as a template
|
||||
## @param extraDeploy Array with extra yaml to deploy with the chart. Evaluated as a template
|
||||
##
|
||||
extraDeploy: []
|
||||
## @param schedulerName Use an alternate scheduler, e.g. "stork".
|
||||
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
|
||||
##
|
||||
schedulerName: ""
|
||||
|
||||
## Enable diagnostic mode in the deployment
|
||||
##
|
||||
@@ -64,13 +66,13 @@ diagnosticMode:
|
||||
## @param image.repository MySQL image repository
|
||||
## @param image.tag MySQL image tag (immutable tags are recommended)
|
||||
## @param image.pullPolicy MySQL image pull policy
|
||||
## @param image.pullSecrets [array] Specify docker-registry secret names as an array
|
||||
## @param image.pullSecrets Specify docker-registry secret names as an array
|
||||
## @param image.debug Specify if debug logs should be enabled
|
||||
##
|
||||
image:
|
||||
registry: docker.io
|
||||
repository: bitnami/mysql
|
||||
tag: 8.0.29-debian-10-r2
|
||||
tag: 8.0.29-debian-10-r15
|
||||
## 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
|
||||
@@ -119,13 +121,10 @@ auth:
|
||||
## NOTE: When it's set the auth.rootPassword, auth.password, auth.replicationPassword are ignored.
|
||||
##
|
||||
existingSecret: ""
|
||||
## @param auth.forcePassword Force users to specify required passwords
|
||||
##
|
||||
forcePassword: false
|
||||
## @param auth.usePasswordFiles Mount credentials as files instead of using an environment variable
|
||||
##
|
||||
usePasswordFiles: false
|
||||
## @param auth.customPasswordFiles [object] Use custom password files when `auth.usePasswordFiles` is set to `true`. Define path for keys `root` and `user`, also define `replicator` if `architecture` is set to `replication`
|
||||
## @param auth.customPasswordFiles Use custom password files when `auth.usePasswordFiles` is set to `true`. Define path for keys `root` and `user`, also define `replicator` if `architecture` is set to `replication`
|
||||
## Example:
|
||||
## customPasswordFiles:
|
||||
## root: /vault/secrets/mysql-root
|
||||
@@ -133,7 +132,7 @@ auth:
|
||||
## replicator: /vault/secrets/mysql-replicator
|
||||
##
|
||||
customPasswordFiles: {}
|
||||
## @param initdbScripts [object] Dictionary of initdb scripts
|
||||
## @param initdbScripts Dictionary of initdb scripts
|
||||
## Specify dictionary of scripts to be run at first boot
|
||||
## Example:
|
||||
## initdbScripts:
|
||||
@@ -149,13 +148,16 @@ initdbScriptsConfigMap: ""
|
||||
## @section MySQL Primary parameters
|
||||
|
||||
primary:
|
||||
## @param primary.command [array] Override default container command on MySQL Primary container(s) (useful when using custom images)
|
||||
## @param primary.command Override default container command on MySQL Primary container(s) (useful when using custom images)
|
||||
##
|
||||
command: []
|
||||
## @param primary.args [array] Override default container args on MySQL Primary container(s) (useful when using custom images)
|
||||
## @param primary.args Override default container args on MySQL Primary container(s) (useful when using custom images)
|
||||
##
|
||||
args: []
|
||||
## @param primary.hostAliases [array] Deployment pod host aliases
|
||||
## @param primary.lifecycleHooks for the MySQL Primary container(s) to automate configuration before or after startup
|
||||
##
|
||||
lifecycleHooks: {}
|
||||
## @param primary.hostAliases Deployment pod host aliases
|
||||
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
|
||||
##
|
||||
hostAliases: []
|
||||
@@ -197,15 +199,12 @@ primary:
|
||||
## NOTE: When it's set the 'configuration' parameter is ignored
|
||||
##
|
||||
existingConfigmap: ""
|
||||
## @param primary.updateStrategy Update strategy type for the MySQL primary statefulset
|
||||
## @param primary.updateStrategy.type Update strategy type for the MySQL primary statefulset
|
||||
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
|
||||
##
|
||||
updateStrategy: RollingUpdate
|
||||
## @param primary.rollingUpdatePartition Partition update strategy for MySQL Primary statefulset
|
||||
## https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions
|
||||
##
|
||||
rollingUpdatePartition: ""
|
||||
## @param primary.podAnnotations [object] Additional pod annotations for MySQL primary pods
|
||||
updateStrategy:
|
||||
type: RollingUpdate
|
||||
## @param primary.podAnnotations Additional pod annotations for MySQL primary pods
|
||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
||||
##
|
||||
podAnnotations: {}
|
||||
@@ -229,26 +228,46 @@ primary:
|
||||
## key: "kubernetes.io/e2e-az-name"
|
||||
##
|
||||
key: ""
|
||||
## @param primary.nodeAffinityPreset.values [array] MySQL primary node label values to match. Ignored if `primary.affinity` is set.
|
||||
## @param primary.nodeAffinityPreset.values MySQL primary node label values to match. Ignored if `primary.affinity` is set.
|
||||
## E.g.
|
||||
## values:
|
||||
## - e2e-az1
|
||||
## - e2e-az2
|
||||
##
|
||||
values: []
|
||||
## @param primary.affinity [object] Affinity for MySQL primary pods assignment
|
||||
## @param primary.affinity Affinity for MySQL primary pods assignment
|
||||
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
||||
## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
|
||||
##
|
||||
affinity: {}
|
||||
## @param primary.nodeSelector [object] Node labels for MySQL primary pods assignment
|
||||
## @param primary.nodeSelector Node labels for MySQL primary pods assignment
|
||||
## ref: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
##
|
||||
nodeSelector: {}
|
||||
## @param primary.tolerations [array] Tolerations for MySQL primary pods assignment
|
||||
## @param primary.tolerations Tolerations for MySQL primary pods assignment
|
||||
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
##
|
||||
tolerations: []
|
||||
## @param primary.priorityClassName MySQL primary pods' priorityClassName
|
||||
##
|
||||
priorityClassName: ""
|
||||
## @param primary.schedulerName Name of the k8s scheduler (other than default)
|
||||
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
|
||||
##
|
||||
schedulerName: ""
|
||||
## @param primary.terminationGracePeriodSeconds In seconds, time the given to the MySQL primary pod needs to terminate gracefully
|
||||
## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
|
||||
##
|
||||
terminationGracePeriodSeconds: ""
|
||||
## @param primary.topologySpreadConstraints Topology Spread Constraints for pod assignment
|
||||
## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
||||
## The value is evaluated as a template
|
||||
##
|
||||
topologySpreadConstraints: []
|
||||
## @param primary.podManagementPolicy podManagementPolicy to manage scaling operation of MySQL primary pods
|
||||
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
|
||||
##
|
||||
podManagementPolicy: ""
|
||||
## MySQL primary Pod security context
|
||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
|
||||
## @param primary.podSecurityContext.enabled Enable security context for MySQL primary pods
|
||||
@@ -261,18 +280,20 @@ primary:
|
||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
|
||||
## @param primary.containerSecurityContext.enabled MySQL primary container securityContext
|
||||
## @param primary.containerSecurityContext.runAsUser User ID for the MySQL primary container
|
||||
## @param primary.containerSecurityContext.runAsNonRoot Set MySQL primary container's Security Context runAsNonRoot
|
||||
##
|
||||
containerSecurityContext:
|
||||
enabled: true
|
||||
runAsUser: 1001
|
||||
runAsNonRoot: true
|
||||
## MySQL primary container's resource requests and limits
|
||||
## ref: https://kubernetes.io/docs/user-guide/compute-resources/
|
||||
## We usually recommend not to specify default resources and to leave this as a conscious
|
||||
## choice for the user. This also increases chances charts run on environments with little
|
||||
## resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
## @param primary.resources.limits [object] The resources limits for MySQL primary containers
|
||||
## @param primary.resources.requests [object] The requested resources for MySQL primary containers
|
||||
## @param primary.resources.limits The resources limits for MySQL primary containers
|
||||
## @param primary.resources.requests The requested resources for MySQL primary containers
|
||||
##
|
||||
resources:
|
||||
## Example:
|
||||
@@ -333,13 +354,13 @@ primary:
|
||||
timeoutSeconds: 1
|
||||
failureThreshold: 10
|
||||
successThreshold: 1
|
||||
## @param primary.customLivenessProbe [object] Override default liveness probe for MySQL primary containers
|
||||
## @param primary.customLivenessProbe Override default liveness probe for MySQL primary containers
|
||||
##
|
||||
customLivenessProbe: {}
|
||||
## @param primary.customReadinessProbe [object] Override default readiness probe for MySQL primary containers
|
||||
## @param primary.customReadinessProbe Override default readiness probe for MySQL primary containers
|
||||
##
|
||||
customReadinessProbe: {}
|
||||
## @param primary.customStartupProbe [object] Override default startup probe for MySQL primary containers
|
||||
## @param primary.customStartupProbe Override default startup probe for MySQL primary containers
|
||||
##
|
||||
customStartupProbe: {}
|
||||
## @param primary.extraFlags MySQL primary additional command line flags
|
||||
@@ -348,7 +369,7 @@ primary:
|
||||
## extraFlags: "--max-connect-errors=1000 --max_connections=155"
|
||||
##
|
||||
extraFlags: ""
|
||||
## @param primary.extraEnvVars [array] Extra environment variables to be set on MySQL primary containers
|
||||
## @param primary.extraEnvVars Extra environment variables to be set on MySQL primary containers
|
||||
## E.g.
|
||||
## extraEnvVars:
|
||||
## - name: TZ
|
||||
@@ -380,7 +401,7 @@ primary:
|
||||
## GKE, AWS & OpenStack)
|
||||
##
|
||||
storageClass: ""
|
||||
## @param primary.persistence.annotations [object] MySQL primary persistent volume claim annotations
|
||||
## @param primary.persistence.annotations MySQL primary persistent volume claim annotations
|
||||
##
|
||||
annotations: {}
|
||||
## @param primary.persistence.accessModes MySQL primary persistent volume access Modes
|
||||
@@ -390,22 +411,22 @@ primary:
|
||||
## @param primary.persistence.size MySQL primary persistent volume size
|
||||
##
|
||||
size: 8Gi
|
||||
## @param primary.persistence.selector [object] Selector to match an existing Persistent Volume
|
||||
## @param primary.persistence.selector Selector to match an existing Persistent Volume
|
||||
## selector:
|
||||
## matchLabels:
|
||||
## app: my-app
|
||||
##
|
||||
selector: {}
|
||||
## @param primary.extraVolumes [array] Optionally specify extra list of additional volumes to the MySQL Primary pod(s)
|
||||
## @param primary.extraVolumes Optionally specify extra list of additional volumes to the MySQL Primary pod(s)
|
||||
##
|
||||
extraVolumes: []
|
||||
## @param primary.extraVolumeMounts [array] Optionally specify extra list of additional volumeMounts for the MySQL Primary container(s)
|
||||
## @param primary.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the MySQL Primary container(s)
|
||||
##
|
||||
extraVolumeMounts: []
|
||||
## @param primary.initContainers [array] Add additional init containers for the MySQL Primary pod(s)
|
||||
## @param primary.initContainers Add additional init containers for the MySQL Primary pod(s)
|
||||
##
|
||||
initContainers: []
|
||||
## @param primary.sidecars [array] Add additional sidecar containers for the MySQL Primary pod(s)
|
||||
## @param primary.sidecars Add additional sidecar containers for the MySQL Primary pod(s)
|
||||
##
|
||||
sidecars: []
|
||||
## MySQL Primary Service parameters
|
||||
@@ -414,13 +435,15 @@ primary:
|
||||
## @param primary.service.type MySQL Primary K8s service type
|
||||
##
|
||||
type: ClusterIP
|
||||
## @param primary.service.port MySQL Primary K8s service port
|
||||
## @param primary.service.ports.mysql MySQL Primary K8s service port
|
||||
##
|
||||
port: 3306
|
||||
## @param primary.service.nodePort MySQL Primary K8s service node port
|
||||
ports:
|
||||
mysql: 3306
|
||||
## @param primary.service.nodePorts.mysql MySQL Primary K8s service node port
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
|
||||
##
|
||||
nodePort: ""
|
||||
nodePorts:
|
||||
mysql: ""
|
||||
## @param primary.service.clusterIP MySQL Primary K8s service clusterIP IP
|
||||
## e.g:
|
||||
## clusterIP: None
|
||||
@@ -435,30 +458,44 @@ primary:
|
||||
## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
|
||||
##
|
||||
externalTrafficPolicy: Cluster
|
||||
## @param primary.service.loadBalancerSourceRanges [array] Addresses that are allowed when MySQL Primary service is LoadBalancer
|
||||
## @param primary.service.loadBalancerSourceRanges Addresses that are allowed when MySQL Primary service is LoadBalancer
|
||||
## 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 primary.service.annotations [object] Provide any additional annotations which may be required
|
||||
## @param primary.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
|
||||
##
|
||||
extraPorts: []
|
||||
## @param primary.service.annotations Additional custom annotations for MySQL primary service
|
||||
##
|
||||
annotations: {}
|
||||
## @param primary.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
|
||||
## If "ClientIP", consecutive client requests will be directed to the same Pod
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
|
||||
##
|
||||
sessionAffinity: None
|
||||
## @param primary.service.sessionAffinityConfig Additional settings for the sessionAffinity
|
||||
## sessionAffinityConfig:
|
||||
## clientIP:
|
||||
## timeoutSeconds: 300
|
||||
##
|
||||
sessionAffinityConfig: {}
|
||||
## MySQL primary Pod Disruption Budget configuration
|
||||
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
|
||||
##
|
||||
pdb:
|
||||
## @param primary.pdb.enabled Enable/disable a Pod Disruption Budget creation for MySQL primary pods
|
||||
## @param primary.pdb.create Enable/disable a Pod Disruption Budget creation for MySQL primary pods
|
||||
##
|
||||
enabled: false
|
||||
create: false
|
||||
## @param primary.pdb.minAvailable Minimum number/percentage of MySQL primary pods that should remain scheduled
|
||||
##
|
||||
minAvailable: 1
|
||||
## @param primary.pdb.maxUnavailable Maximum number/percentage of MySQL primary pods that may be made unavailable
|
||||
##
|
||||
maxUnavailable: ""
|
||||
## @param primary.podLabels [object] MySQL Primary pod label. If labels are same as commonLabels , this will take precedence
|
||||
## @param primary.podLabels MySQL Primary pod label. If labels are same as commonLabels , this will take precedence
|
||||
##
|
||||
podLabels: {}
|
||||
|
||||
@@ -468,16 +505,19 @@ secondary:
|
||||
## @param secondary.replicaCount Number of MySQL secondary replicas
|
||||
##
|
||||
replicaCount: 1
|
||||
## @param secondary.hostAliases [array] Deployment pod host aliases
|
||||
## @param secondary.hostAliases Deployment pod host aliases
|
||||
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
|
||||
##
|
||||
hostAliases: []
|
||||
## @param secondary.command [array] Override default container command on MySQL Secondary container(s) (useful when using custom images)
|
||||
## @param secondary.command Override default container command on MySQL Secondary container(s) (useful when using custom images)
|
||||
##
|
||||
command: []
|
||||
## @param secondary.args [array] Override default container args on MySQL Secondary container(s) (useful when using custom images)
|
||||
## @param secondary.args Override default container args on MySQL Secondary container(s) (useful when using custom images)
|
||||
##
|
||||
args: []
|
||||
## @param secondary.lifecycleHooks for the MySQL Secondary container(s) to automate configuration before or after startup
|
||||
##
|
||||
lifecycleHooks: {}
|
||||
## @param secondary.configuration [string] Configure MySQL Secondary with a custom my.cnf file
|
||||
## ref: https://mysql.com/kb/en/mysql/configuring-mysql-with-mycnf/#example-of-configuration-file
|
||||
##
|
||||
@@ -514,15 +554,12 @@ secondary:
|
||||
## NOTE: When it's set the 'configuration' parameter is ignored
|
||||
##
|
||||
existingConfigmap: ""
|
||||
## @param secondary.updateStrategy Update strategy type for the MySQL secondary statefulset
|
||||
## @param secondary.updateStrategy.type Update strategy type for the MySQL secondary statefulset
|
||||
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
|
||||
##
|
||||
updateStrategy: RollingUpdate
|
||||
## @param secondary.rollingUpdatePartition Partition update strategy for MySQL Secondary statefulset
|
||||
## https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions
|
||||
##
|
||||
rollingUpdatePartition: ""
|
||||
## @param secondary.podAnnotations [object] Additional pod annotations for MySQL secondary pods
|
||||
updateStrategy:
|
||||
type: RollingUpdate
|
||||
## @param secondary.podAnnotations Additional pod annotations for MySQL secondary pods
|
||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
||||
##
|
||||
podAnnotations: {}
|
||||
@@ -547,26 +584,46 @@ secondary:
|
||||
## key: "kubernetes.io/e2e-az-name"
|
||||
##
|
||||
key: ""
|
||||
## @param secondary.nodeAffinityPreset.values [array] MySQL secondary node label values to match. Ignored if `secondary.affinity` is set.
|
||||
## @param secondary.nodeAffinityPreset.values MySQL secondary node label values to match. Ignored if `secondary.affinity` is set.
|
||||
## E.g.
|
||||
## values:
|
||||
## - e2e-az1
|
||||
## - e2e-az2
|
||||
##
|
||||
values: []
|
||||
## @param secondary.affinity [object] Affinity for MySQL secondary pods assignment
|
||||
## @param secondary.affinity Affinity for MySQL secondary pods assignment
|
||||
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
||||
## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
|
||||
##
|
||||
affinity: {}
|
||||
## @param secondary.nodeSelector [object] Node labels for MySQL secondary pods assignment
|
||||
## @param secondary.nodeSelector Node labels for MySQL secondary pods assignment
|
||||
## ref: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
##
|
||||
nodeSelector: {}
|
||||
## @param secondary.tolerations [array] Tolerations for MySQL secondary pods assignment
|
||||
## @param secondary.tolerations Tolerations for MySQL secondary pods assignment
|
||||
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
##
|
||||
tolerations: []
|
||||
## @param secondary.priorityClassName MySQL secondary pods' priorityClassName
|
||||
##
|
||||
priorityClassName: ""
|
||||
## @param secondary.schedulerName Name of the k8s scheduler (other than default)
|
||||
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
|
||||
##
|
||||
schedulerName: ""
|
||||
## @param secondary.terminationGracePeriodSeconds In seconds, time the given to the MySQL secondary pod needs to terminate gracefully
|
||||
## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
|
||||
##
|
||||
terminationGracePeriodSeconds: ""
|
||||
## @param secondary.topologySpreadConstraints Topology Spread Constraints for pod assignment
|
||||
## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
||||
## The value is evaluated as a template
|
||||
##
|
||||
topologySpreadConstraints: []
|
||||
## @param secondary.podManagementPolicy podManagementPolicy to manage scaling operation of MySQL secondary pods
|
||||
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
|
||||
##
|
||||
podManagementPolicy: ""
|
||||
## MySQL secondary Pod security context
|
||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
|
||||
## @param secondary.podSecurityContext.enabled Enable security context for MySQL secondary pods
|
||||
@@ -579,18 +636,20 @@ secondary:
|
||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
|
||||
## @param secondary.containerSecurityContext.enabled MySQL secondary container securityContext
|
||||
## @param secondary.containerSecurityContext.runAsUser User ID for the MySQL secondary container
|
||||
## @param secondary.containerSecurityContext.runAsNonRoot Set MySQL secondary container's Security Context runAsNonRoot
|
||||
##
|
||||
containerSecurityContext:
|
||||
enabled: true
|
||||
runAsUser: 1001
|
||||
runAsNonRoot: true
|
||||
## MySQL secondary container's resource requests and limits
|
||||
## ref: https://kubernetes.io/docs/user-guide/compute-resources/
|
||||
## We usually recommend not to specify default resources and to leave this as a conscious
|
||||
## choice for the user. This also increases chances charts run on environments with little
|
||||
## resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
## @param secondary.resources.limits [object] The resources limits for MySQL secondary containers
|
||||
## @param secondary.resources.requests [object] The requested resources for MySQL secondary containers
|
||||
## @param secondary.resources.limits The resources limits for MySQL secondary containers
|
||||
## @param secondary.resources.requests The requested resources for MySQL secondary containers
|
||||
##
|
||||
resources:
|
||||
## Example:
|
||||
@@ -651,13 +710,13 @@ secondary:
|
||||
timeoutSeconds: 1
|
||||
failureThreshold: 15
|
||||
successThreshold: 1
|
||||
## @param secondary.customLivenessProbe [object] Override default liveness probe for MySQL secondary containers
|
||||
## @param secondary.customLivenessProbe Override default liveness probe for MySQL secondary containers
|
||||
##
|
||||
customLivenessProbe: {}
|
||||
## @param secondary.customReadinessProbe [object] Override default readiness probe for MySQL secondary containers
|
||||
## @param secondary.customReadinessProbe Override default readiness probe for MySQL secondary containers
|
||||
##
|
||||
customReadinessProbe: {}
|
||||
## @param secondary.customStartupProbe [object] Override default startup probe for MySQL secondary containers
|
||||
## @param secondary.customStartupProbe Override default startup probe for MySQL secondary containers
|
||||
##
|
||||
customStartupProbe: {}
|
||||
## @param secondary.extraFlags MySQL secondary additional command line flags
|
||||
@@ -666,7 +725,7 @@ secondary:
|
||||
## extraFlags: "--max-connect-errors=1000 --max_connections=155"
|
||||
##
|
||||
extraFlags: ""
|
||||
## @param secondary.extraEnvVars [array] An array to add extra environment variables on MySQL secondary containers
|
||||
## @param secondary.extraEnvVars An array to add extra environment variables on MySQL secondary containers
|
||||
## E.g.
|
||||
## extraEnvVars:
|
||||
## - name: TZ
|
||||
@@ -694,7 +753,7 @@ secondary:
|
||||
## GKE, AWS & OpenStack)
|
||||
##
|
||||
storageClass: ""
|
||||
## @param secondary.persistence.annotations [object] MySQL secondary persistent volume claim annotations
|
||||
## @param secondary.persistence.annotations MySQL secondary persistent volume claim annotations
|
||||
##
|
||||
annotations: {}
|
||||
## @param secondary.persistence.accessModes MySQL secondary persistent volume access Modes
|
||||
@@ -704,22 +763,22 @@ secondary:
|
||||
## @param secondary.persistence.size MySQL secondary persistent volume size
|
||||
##
|
||||
size: 8Gi
|
||||
## @param secondary.persistence.selector [object] Selector to match an existing Persistent Volume
|
||||
## @param secondary.persistence.selector Selector to match an existing Persistent Volume
|
||||
## selector:
|
||||
## matchLabels:
|
||||
## app: my-app
|
||||
##
|
||||
selector: {}
|
||||
## @param secondary.extraVolumes [array] Optionally specify extra list of additional volumes to the MySQL secondary pod(s)
|
||||
## @param secondary.extraVolumes Optionally specify extra list of additional volumes to the MySQL secondary pod(s)
|
||||
##
|
||||
extraVolumes: []
|
||||
## @param secondary.extraVolumeMounts [array] Optionally specify extra list of additional volumeMounts for the MySQL secondary container(s)
|
||||
## @param secondary.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the MySQL secondary container(s)
|
||||
##
|
||||
extraVolumeMounts: []
|
||||
## @param secondary.initContainers [array] Add additional init containers for the MySQL secondary pod(s)
|
||||
## @param secondary.initContainers Add additional init containers for the MySQL secondary pod(s)
|
||||
##
|
||||
initContainers: []
|
||||
## @param secondary.sidecars [array] Add additional sidecar containers for the MySQL secondary pod(s)
|
||||
## @param secondary.sidecars Add additional sidecar containers for the MySQL secondary pod(s)
|
||||
##
|
||||
sidecars: []
|
||||
## MySQL Secondary Service parameters
|
||||
@@ -728,13 +787,15 @@ secondary:
|
||||
## @param secondary.service.type MySQL secondary Kubernetes service type
|
||||
##
|
||||
type: ClusterIP
|
||||
## @param secondary.service.port MySQL secondary Kubernetes service port
|
||||
## @param secondary.service.ports.mysql MySQL secondary Kubernetes service port
|
||||
##
|
||||
port: 3306
|
||||
## @param secondary.service.nodePort MySQL secondary Kubernetes service node port
|
||||
ports:
|
||||
mysql: 3306
|
||||
## @param secondary.service.nodePorts.mysql MySQL secondary Kubernetes service node port
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
|
||||
##
|
||||
nodePort: ""
|
||||
nodePorts:
|
||||
mysql: ""
|
||||
## @param secondary.service.clusterIP MySQL secondary Kubernetes service clusterIP IP
|
||||
## e.g:
|
||||
## clusterIP: None
|
||||
@@ -749,30 +810,44 @@ secondary:
|
||||
## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
|
||||
##
|
||||
externalTrafficPolicy: Cluster
|
||||
## @param secondary.service.loadBalancerSourceRanges [array] Addresses that are allowed when MySQL secondary service is LoadBalancer
|
||||
## @param secondary.service.loadBalancerSourceRanges Addresses that are allowed when MySQL secondary service is LoadBalancer
|
||||
## 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 secondary.service.annotations [object] Provide any additional annotations which may be required
|
||||
## @param secondary.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
|
||||
##
|
||||
extraPorts: []
|
||||
## @param secondary.service.annotations Additional custom annotations for MySQL secondary service
|
||||
##
|
||||
annotations: {}
|
||||
## @param secondary.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
|
||||
## If "ClientIP", consecutive client requests will be directed to the same Pod
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
|
||||
##
|
||||
sessionAffinity: None
|
||||
## @param secondary.service.sessionAffinityConfig Additional settings for the sessionAffinity
|
||||
## sessionAffinityConfig:
|
||||
## clientIP:
|
||||
## timeoutSeconds: 300
|
||||
##
|
||||
sessionAffinityConfig: {}
|
||||
## MySQL secondary Pod Disruption Budget configuration
|
||||
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
|
||||
##
|
||||
pdb:
|
||||
## @param secondary.pdb.enabled Enable/disable a Pod Disruption Budget creation for MySQL secondary pods
|
||||
## @param secondary.pdb.create Enable/disable a Pod Disruption Budget creation for MySQL secondary pods
|
||||
##
|
||||
enabled: false
|
||||
create: false
|
||||
## @param secondary.pdb.minAvailable Minimum number/percentage of MySQL secondary pods that should remain scheduled
|
||||
##
|
||||
minAvailable: 1
|
||||
## @param secondary.pdb.maxUnavailable Maximum number/percentage of MySQL secondary pods that may be made unavailable
|
||||
##
|
||||
maxUnavailable: ""
|
||||
## @param secondary.podLabels [object] Additional pod labels for MySQL secondary pods
|
||||
## @param secondary.podLabels Additional pod labels for MySQL secondary pods
|
||||
##
|
||||
podLabels: {}
|
||||
|
||||
@@ -789,9 +864,13 @@ serviceAccount:
|
||||
## If not set and create is true, a name is generated using the mysql.fullname template
|
||||
##
|
||||
name: ""
|
||||
## @param serviceAccount.annotations [object] Annotations for MySQL Service Account
|
||||
## @param serviceAccount.annotations Annotations for MySQL Service Account
|
||||
##
|
||||
annotations: {}
|
||||
## @param serviceAccount.automountServiceAccountToken Automount service account token for the server service account
|
||||
##
|
||||
automountServiceAccountToken: true
|
||||
|
||||
## Role Based Access
|
||||
## ref: https://kubernetes.io/docs/admin/authorization/rbac/
|
||||
##
|
||||
@@ -799,6 +878,18 @@ rbac:
|
||||
## @param rbac.create Whether to create & use RBAC resources or not
|
||||
##
|
||||
create: false
|
||||
## @param rbac.rules Custom RBAC rules to set
|
||||
## e.g:
|
||||
## rules:
|
||||
## - apiGroups:
|
||||
## - ""
|
||||
## resources:
|
||||
## - pods
|
||||
## verbs:
|
||||
## - get
|
||||
## - list
|
||||
##
|
||||
rules: []
|
||||
|
||||
## @section Network Policy
|
||||
|
||||
@@ -815,7 +906,7 @@ networkPolicy:
|
||||
## (with the correct destination port).
|
||||
##
|
||||
allowExternal: true
|
||||
## @param networkPolicy.explicitNamespacesSelector [object] A Kubernetes LabelSelector to explicitly select namespaces from which ingress traffic could be allowed to MySQL
|
||||
## @param networkPolicy.explicitNamespacesSelector A Kubernetes LabelSelector to explicitly select namespaces from which ingress traffic could be allowed to MySQL
|
||||
## 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 DB.
|
||||
## But sometimes, we want the DB to be accessible to clients from other namespaces, in this case, we can use this
|
||||
@@ -843,12 +934,12 @@ volumePermissions:
|
||||
## @param volumePermissions.image.repository Init container volume-permissions image repository
|
||||
## @param volumePermissions.image.tag Init container volume-permissions image tag (immutable tags are recommended)
|
||||
## @param volumePermissions.image.pullPolicy Init container volume-permissions image pull policy
|
||||
## @param volumePermissions.image.pullSecrets [array] Specify docker-registry secret names as an array
|
||||
## @param volumePermissions.image.pullSecrets Specify docker-registry secret names as an array
|
||||
##
|
||||
image:
|
||||
registry: docker.io
|
||||
repository: bitnami/bitnami-shell
|
||||
tag: 10-debian-10-r409
|
||||
tag: 10-debian-10-r422
|
||||
pullPolicy: IfNotPresent
|
||||
## Optionally specify an array of imagePullSecrets.
|
||||
## Secrets must be manually created in the namespace.
|
||||
@@ -858,7 +949,7 @@ volumePermissions:
|
||||
## - myRegistryKeySecretName
|
||||
##
|
||||
pullSecrets: []
|
||||
## @param volumePermissions.resources [object] Init container volume-permissions resources
|
||||
## @param volumePermissions.resources Init container volume-permissions resources
|
||||
##
|
||||
resources: {}
|
||||
|
||||
@@ -874,12 +965,12 @@ metrics:
|
||||
## @param metrics.image.repository Exporter image repository
|
||||
## @param metrics.image.tag Exporter image tag (immutable tags are recommended)
|
||||
## @param metrics.image.pullPolicy Exporter image pull policy
|
||||
## @param metrics.image.pullSecrets [array] Specify docker-registry secret names as an array
|
||||
## @param metrics.image.pullSecrets Specify docker-registry secret names as an array
|
||||
##
|
||||
image:
|
||||
registry: docker.io
|
||||
repository: bitnami/mysqld-exporter
|
||||
tag: 0.14.0-debian-10-r53
|
||||
tag: 0.14.0-debian-10-r66
|
||||
pullPolicy: IfNotPresent
|
||||
## Optionally specify an array of imagePullSecrets.
|
||||
## Secrets must be manually created in the namespace.
|
||||
@@ -902,8 +993,8 @@ metrics:
|
||||
annotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "{{ .Values.metrics.service.port }}"
|
||||
## @param metrics.extraArgs.primary [array] Extra args to be passed to mysqld_exporter on Primary pods
|
||||
## @param metrics.extraArgs.secondary [array] Extra args to be passed to mysqld_exporter on Secondary pods
|
||||
## @param metrics.extraArgs.primary Extra args to be passed to mysqld_exporter on Primary pods
|
||||
## @param metrics.extraArgs.secondary Extra args to be passed to mysqld_exporter on Secondary pods
|
||||
## ref: https://github.com/prometheus/mysqld_exporter/
|
||||
## E.g.
|
||||
## - --collect.auto_increment.columns
|
||||
@@ -950,8 +1041,8 @@ metrics:
|
||||
## choice for the user. This also increases chances charts run on environments with little
|
||||
## resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
## @param metrics.resources.limits [object] The resources limits for MySQL prometheus exporter containers
|
||||
## @param metrics.resources.requests [object] The requested resources for MySQL prometheus exporter containers
|
||||
## @param metrics.resources.limits The resources limits for MySQL prometheus exporter containers
|
||||
## @param metrics.resources.requests The requested resources for MySQL prometheus exporter containers
|
||||
##
|
||||
resources:
|
||||
## Example:
|
||||
@@ -1006,6 +1097,9 @@ metrics:
|
||||
## @param metrics.serviceMonitor.namespace Specify the namespace in which the serviceMonitor resource will be created
|
||||
##
|
||||
namespace: ""
|
||||
## @param metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in prometheus.
|
||||
##
|
||||
jobLabel: ""
|
||||
## @param metrics.serviceMonitor.interval Specify the interval at which metrics should be scraped
|
||||
##
|
||||
interval: 30s
|
||||
@@ -1014,13 +1108,28 @@ metrics:
|
||||
## scrapeTimeout: 30s
|
||||
##
|
||||
scrapeTimeout: ""
|
||||
## @param metrics.serviceMonitor.relabellings [array] Specify Metric Relabellings to add to the scrape endpoint
|
||||
## @param metrics.serviceMonitor.relabelings RelabelConfigs to apply to samples before scraping
|
||||
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
|
||||
##
|
||||
relabellings: []
|
||||
relabelings: []
|
||||
## @param metrics.serviceMonitor.metricRelabelings MetricRelabelConfigs to apply to samples before ingestion
|
||||
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
|
||||
##
|
||||
metricRelabelings: []
|
||||
## @param metrics.serviceMonitor.selector ServiceMonitor selector labels
|
||||
## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration
|
||||
##
|
||||
## selector:
|
||||
## prometheus: my-prometheus
|
||||
##
|
||||
selector: {}
|
||||
## @param metrics.serviceMonitor.honorLabels Specify honorLabels parameter to add the scrape endpoint
|
||||
##
|
||||
honorLabels: false
|
||||
## @param metrics.serviceMonitor.additionalLabels [object] Used to pass Labels that are used by the Prometheus installed in your cluster to select Service Monitors to work with
|
||||
## @param metrics.serviceMonitor.labels Used to pass Labels that are used by the Prometheus installed in your cluster to select Service Monitors to work with
|
||||
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#prometheusspec
|
||||
##
|
||||
additionalLabels: {}
|
||||
labels: {}
|
||||
## @param metrics.serviceMonitor.annotations ServiceMonitor annotations
|
||||
##
|
||||
annotations: {}
|
||||
|
||||
Reference in New Issue
Block a user