values.yaml 53 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246
  1. ## @section Global parameters
  2. ## Global Docker image parameters
  3. ## Please, note that this will override the image parameters, including dependencies, configured to use the global value
  4. ## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass
  5. ##
  6. ## @param global.imageRegistry Global Docker image registry
  7. ## @param global.imagePullSecrets Global Docker registry secret names as an array
  8. ## @param global.storageClass Global StorageClass for Persistent Volume(s)
  9. ##
  10. global:
  11. imageRegistry: ""
  12. ## E.g.
  13. ## imagePullSecrets:
  14. ## - myRegistryKeySecretName
  15. ##
  16. imagePullSecrets: []
  17. storageClass: "openebs-hostpath"
  18. ## @section Common parameters
  19. ##
  20. ## @param kubeVersion Force target Kubernetes version (using Helm capabilities if not set)
  21. ##
  22. kubeVersion: ""
  23. ## @param nameOverride String to partially override common.names.fullname template (will maintain the release name)
  24. ##
  25. nameOverride: ""
  26. ## @param fullnameOverride String to fully override common.names.fullname template
  27. ##
  28. fullnameOverride: ""
  29. ## @param namespaceOverride String to fully override common.names.namespace
  30. ##
  31. namespaceOverride: ""
  32. ## @param clusterDomain Cluster domain
  33. ##
  34. clusterDomain: cluster.local
  35. ## @param commonAnnotations Common annotations to add to all MySQL resources (sub-charts are not considered). Evaluated as a template
  36. ##
  37. commonAnnotations: {}
  38. ## @param commonLabels Common labels to add to all MySQL resources (sub-charts are not considered). Evaluated as a template
  39. ##
  40. commonLabels: {}
  41. ## @param extraDeploy Array with extra yaml to deploy with the chart. Evaluated as a template
  42. ##
  43. extraDeploy: []
  44. ## @param serviceBindings.enabled Create secret for service binding (Experimental)
  45. ## Ref: https://servicebinding.io/service-provider/
  46. ##
  47. serviceBindings:
  48. enabled: false
  49. ## Enable diagnostic mode in the deployment
  50. ##
  51. diagnosticMode:
  52. ## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden)
  53. ##
  54. enabled: false
  55. ## @param diagnosticMode.command Command to override all containers in the deployment
  56. ##
  57. command:
  58. - sleep
  59. ## @param diagnosticMode.args Args to override all containers in the deployment
  60. ##
  61. args:
  62. - infinity
  63. ## @section MySQL common parameters
  64. ##
  65. ## Bitnami MySQL image
  66. ## ref: https://hub.docker.com/r/bitnami/mysql/tags/
  67. ## @param image.registry MySQL image registry
  68. ## @param image.repository MySQL image repository
  69. ## @param image.tag MySQL image tag (immutable tags are recommended)
  70. ## @param image.digest MySQL image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
  71. ## @param image.pullPolicy MySQL image pull policy
  72. ## @param image.pullSecrets Specify docker-registry secret names as an array
  73. ## @param image.debug Specify if debug logs should be enabled
  74. ##
  75. image:
  76. registry: docker.io
  77. repository: bitnami/mysql
  78. tag: 5.7.42-debian-11-r27
  79. digest: ""
  80. ## Specify a imagePullPolicy
  81. ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
  82. ## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images
  83. ##
  84. pullPolicy: IfNotPresent
  85. ## Optionally specify an array of imagePullSecrets (secrets must be manually created in the namespace)
  86. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  87. ## Example:
  88. ## pullSecrets:
  89. ## - myRegistryKeySecretName
  90. ##
  91. pullSecrets: []
  92. ## Set to true if you would like to see extra information on logs
  93. ## It turns BASH and/or NAMI debugging in the image
  94. ##
  95. debug: false
  96. ## @param architecture MySQL architecture (`standalone` or `replication`)
  97. ##
  98. architecture: standalone
  99. ## MySQL Authentication parameters
  100. ##
  101. auth:
  102. ## @param auth.rootPassword Password for the `root` user. Ignored if existing secret is provided
  103. ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#setting-the-root-password-on-first-run
  104. ##
  105. rootPassword: "pg3mfWRtYonekZWB"
  106. ## @param auth.createDatabase Whether to create the .Values.auth.database or not
  107. ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#creating-a-database-on-first-run
  108. ##
  109. createDatabase: true
  110. ## @param auth.database Name for a custom database to create
  111. ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#creating-a-database-on-first-run
  112. ##
  113. database: "otel"
  114. ## @param auth.username Name for a custom user to create
  115. ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#creating-a-database-user-on-first-run
  116. ##
  117. username: "oteluser"
  118. ## @param auth.password Password for the new user. Ignored if existing secret is provided
  119. ##
  120. password: "OL4UEHrkT2IvXM5Z"
  121. ## @param auth.replicationUser MySQL replication user
  122. ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#setting-up-a-replication-cluster
  123. ##
  124. replicationUser: replicator
  125. ## @param auth.replicationPassword MySQL replication user password. Ignored if existing secret is provided
  126. ##
  127. replicationPassword: ""
  128. ## @param auth.existingSecret Use existing secret for password details. The secret has to contain the keys `mysql-root-password`, `mysql-replication-password` and `mysql-password`
  129. ## NOTE: When it's set the auth.rootPassword, auth.password, auth.replicationPassword are ignored.
  130. ##
  131. existingSecret: ""
  132. ## @param auth.usePasswordFiles Mount credentials as files instead of using an environment variable
  133. ##
  134. usePasswordFiles: false
  135. ## @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`
  136. ## Example:
  137. ## customPasswordFiles:
  138. ## root: /vault/secrets/mysql-root
  139. ## user: /vault/secrets/mysql-user
  140. ## replicator: /vault/secrets/mysql-replicator
  141. ##
  142. customPasswordFiles: {}
  143. ## @param initdbScripts Dictionary of initdb scripts
  144. ## Specify dictionary of scripts to be run at first boot
  145. ## Example:
  146. ## initdbScripts:
  147. ## my_init_script.sh: |
  148. ## #!/bin/bash
  149. ## echo "Do something."
  150. ##
  151. initdbScripts: {}
  152. ## @param initdbScriptsConfigMap ConfigMap with the initdb scripts (Note: Overrides `initdbScripts`)
  153. ##
  154. initdbScriptsConfigMap: ""
  155. ## @section MySQL Primary parameters
  156. ##
  157. primary:
  158. ## @param primary.name Name of the primary database (eg primary, master, leader, ...)
  159. ##
  160. name: primary
  161. ## @param primary.command Override default container command on MySQL Primary container(s) (useful when using custom images)
  162. ##
  163. command: []
  164. ## @param primary.args Override default container args on MySQL Primary container(s) (useful when using custom images)
  165. ##
  166. args: []
  167. ## @param primary.lifecycleHooks for the MySQL Primary container(s) to automate configuration before or after startup
  168. ##
  169. lifecycleHooks: {}
  170. ## @param primary.hostAliases Deployment pod host aliases
  171. ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
  172. ##
  173. hostAliases: []
  174. ## @param primary.configuration [string] Configure MySQL Primary with a custom my.cnf file
  175. ## ref: https://mysql.com/kb/en/mysql/configuring-mysql-with-mycnf/#example-of-configuration-file
  176. ##
  177. configuration: |-
  178. [mysqld]
  179. default_authentication_plugin=mysql_native_password
  180. skip-name-resolve
  181. explicit_defaults_for_timestamp
  182. basedir=/opt/bitnami/mysql
  183. plugin_dir=/opt/bitnami/mysql/lib/plugin
  184. port=3306
  185. socket=/opt/bitnami/mysql/tmp/mysql.sock
  186. datadir=/bitnami/mysql/data
  187. tmpdir=/opt/bitnami/mysql/tmp
  188. max_allowed_packet=16M
  189. bind-address=*
  190. pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
  191. log-error=/opt/bitnami/mysql/logs/mysqld.log
  192. character-set-server=UTF8
  193. collation-server=utf8_general_ci
  194. slow_query_log=0
  195. slow_query_log_file=/opt/bitnami/mysql/logs/mysqld.log
  196. long_query_time=10.0
  197. [client]
  198. port=3306
  199. socket=/opt/bitnami/mysql/tmp/mysql.sock
  200. default-character-set=UTF8
  201. plugin_dir=/opt/bitnami/mysql/lib/plugin
  202. [manager]
  203. port=3306
  204. socket=/opt/bitnami/mysql/tmp/mysql.sock
  205. pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
  206. ## @param primary.existingConfigmap Name of existing ConfigMap with MySQL Primary configuration.
  207. ## NOTE: When it's set the 'configuration' parameter is ignored
  208. ##
  209. existingConfigmap: ""
  210. ## @param primary.updateStrategy.type Update strategy type for the MySQL primary statefulset
  211. ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
  212. ##
  213. updateStrategy:
  214. type: RollingUpdate
  215. ## @param primary.podAnnotations Additional pod annotations for MySQL primary pods
  216. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  217. ##
  218. podAnnotations: {}
  219. ## @param primary.podAffinityPreset MySQL primary pod affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard`
  220. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  221. ##
  222. podAffinityPreset: ""
  223. ## @param primary.podAntiAffinityPreset MySQL primary pod anti-affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard`
  224. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  225. ##
  226. podAntiAffinityPreset: soft
  227. ## MySQL Primary node affinity preset
  228. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
  229. ##
  230. nodeAffinityPreset:
  231. ## @param primary.nodeAffinityPreset.type MySQL primary node affinity preset type. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard`
  232. ##
  233. type: ""
  234. ## @param primary.nodeAffinityPreset.key MySQL primary node label key to match Ignored if `primary.affinity` is set.
  235. ## E.g.
  236. ## key: "kubernetes.io/e2e-az-name"
  237. ##
  238. key: ""
  239. ## @param primary.nodeAffinityPreset.values MySQL primary node label values to match. Ignored if `primary.affinity` is set.
  240. ## E.g.
  241. ## values:
  242. ## - e2e-az1
  243. ## - e2e-az2
  244. ##
  245. values: []
  246. ## @param primary.affinity Affinity for MySQL primary pods assignment
  247. ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
  248. ## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
  249. ##
  250. affinity: {}
  251. ## @param primary.nodeSelector Node labels for MySQL primary pods assignment
  252. ## ref: https://kubernetes.io/docs/user-guide/node-selection/
  253. ##
  254. nodeSelector: {}
  255. ## @param primary.tolerations Tolerations for MySQL primary pods assignment
  256. ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  257. ##
  258. tolerations: []
  259. ## @param primary.priorityClassName MySQL primary pods' priorityClassName
  260. ##
  261. priorityClassName: ""
  262. ## @param primary.runtimeClassName MySQL primary pods' runtimeClassName
  263. ##
  264. runtimeClassName: ""
  265. ## @param primary.schedulerName Name of the k8s scheduler (other than default)
  266. ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  267. ##
  268. schedulerName: ""
  269. ## @param primary.terminationGracePeriodSeconds In seconds, time the given to the MySQL primary pod needs to terminate gracefully
  270. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
  271. ##
  272. terminationGracePeriodSeconds: ""
  273. ## @param primary.topologySpreadConstraints Topology Spread Constraints for pod assignment
  274. ## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
  275. ## The value is evaluated as a template
  276. ##
  277. topologySpreadConstraints: []
  278. ## @param primary.podManagementPolicy podManagementPolicy to manage scaling operation of MySQL primary pods
  279. ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
  280. ##
  281. podManagementPolicy: ""
  282. ## MySQL primary Pod security context
  283. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
  284. ## @param primary.podSecurityContext.enabled Enable security context for MySQL primary pods
  285. ## @param primary.podSecurityContext.fsGroup Group ID for the mounted volumes' filesystem
  286. ##
  287. podSecurityContext:
  288. enabled: true
  289. fsGroup: 1001
  290. ## MySQL primary container security context
  291. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
  292. ## @param primary.containerSecurityContext.enabled MySQL primary container securityContext
  293. ## @param primary.containerSecurityContext.runAsUser User ID for the MySQL primary container
  294. ## @param primary.containerSecurityContext.runAsNonRoot Set MySQL primary container's Security Context runAsNonRoot
  295. ##
  296. containerSecurityContext:
  297. enabled: true
  298. runAsUser: 1001
  299. runAsNonRoot: true
  300. ## MySQL primary container's resource requests and limits
  301. ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
  302. ## We usually recommend not to specify default resources and to leave this as a conscious
  303. ## choice for the user. This also increases chances charts run on environments with little
  304. ## resources, such as Minikube. If you do want to specify resources, uncomment the following
  305. ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  306. ## @param primary.resources.limits The resources limits for MySQL primary containers
  307. ## @param primary.resources.requests The requested resources for MySQL primary containers
  308. ##
  309. resources:
  310. ## Example:
  311. ## limits:
  312. ## cpu: 250m
  313. ## memory: 256Mi
  314. ##
  315. limits: {}
  316. ## Examples:
  317. ## requests:
  318. ## cpu: 250m
  319. ## memory: 256Mi
  320. ##
  321. requests: {}
  322. ## Configure extra options for liveness probe
  323. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
  324. ## @param primary.livenessProbe.enabled Enable livenessProbe
  325. ## @param primary.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
  326. ## @param primary.livenessProbe.periodSeconds Period seconds for livenessProbe
  327. ## @param primary.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
  328. ## @param primary.livenessProbe.failureThreshold Failure threshold for livenessProbe
  329. ## @param primary.livenessProbe.successThreshold Success threshold for livenessProbe
  330. ##
  331. livenessProbe:
  332. enabled: true
  333. initialDelaySeconds: 5
  334. periodSeconds: 10
  335. timeoutSeconds: 1
  336. failureThreshold: 3
  337. successThreshold: 1
  338. ## Configure extra options for readiness probe
  339. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
  340. ## @param primary.readinessProbe.enabled Enable readinessProbe
  341. ## @param primary.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
  342. ## @param primary.readinessProbe.periodSeconds Period seconds for readinessProbe
  343. ## @param primary.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
  344. ## @param primary.readinessProbe.failureThreshold Failure threshold for readinessProbe
  345. ## @param primary.readinessProbe.successThreshold Success threshold for readinessProbe
  346. ##
  347. readinessProbe:
  348. enabled: true
  349. initialDelaySeconds: 5
  350. periodSeconds: 10
  351. timeoutSeconds: 1
  352. failureThreshold: 3
  353. successThreshold: 1
  354. ## Configure extra options for startupProbe probe
  355. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
  356. ## @param primary.startupProbe.enabled Enable startupProbe
  357. ## @param primary.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
  358. ## @param primary.startupProbe.periodSeconds Period seconds for startupProbe
  359. ## @param primary.startupProbe.timeoutSeconds Timeout seconds for startupProbe
  360. ## @param primary.startupProbe.failureThreshold Failure threshold for startupProbe
  361. ## @param primary.startupProbe.successThreshold Success threshold for startupProbe
  362. ##
  363. startupProbe:
  364. enabled: true
  365. initialDelaySeconds: 15
  366. periodSeconds: 10
  367. timeoutSeconds: 1
  368. failureThreshold: 10
  369. successThreshold: 1
  370. ## @param primary.customLivenessProbe Override default liveness probe for MySQL primary containers
  371. ##
  372. customLivenessProbe: {}
  373. ## @param primary.customReadinessProbe Override default readiness probe for MySQL primary containers
  374. ##
  375. customReadinessProbe: {}
  376. ## @param primary.customStartupProbe Override default startup probe for MySQL primary containers
  377. ##
  378. customStartupProbe: {}
  379. ## @param primary.extraFlags MySQL primary additional command line flags
  380. ## Can be used to specify command line flags, for example:
  381. ## E.g.
  382. ## extraFlags: "--max-connect-errors=1000 --max_connections=155"
  383. ##
  384. extraFlags: ""
  385. ## @param primary.extraEnvVars Extra environment variables to be set on MySQL primary containers
  386. ## E.g.
  387. ## extraEnvVars:
  388. ## - name: TZ
  389. ## value: "Europe/Paris"
  390. ##
  391. extraEnvVars: []
  392. ## @param primary.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for MySQL primary containers
  393. ##
  394. extraEnvVarsCM: ""
  395. ## @param primary.extraEnvVarsSecret Name of existing Secret containing extra env vars for MySQL primary containers
  396. ##
  397. extraEnvVarsSecret: ""
  398. ## @param primary.extraPorts Extra ports to expose
  399. ##
  400. extraPorts: []
  401. ## Enable persistence using Persistent Volume Claims
  402. ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/
  403. ##
  404. persistence:
  405. ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir
  406. ##
  407. enabled: true
  408. ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas
  409. ## NOTE: When it's set the rest of persistence parameters are ignored
  410. ##
  411. existingClaim: ""
  412. ## @param primary.persistence.subPath The name of a volume's sub path to mount for persistence
  413. ##
  414. subPath: ""
  415. ## @param primary.persistence.storageClass MySQL primary persistent volume storage Class
  416. ## If defined, storageClassName: <storageClass>
  417. ## If set to "-", storageClassName: "", which disables dynamic provisioning
  418. ## If undefined (the default) or set to null, no storageClassName spec is
  419. ## set, choosing the default provisioner. (gp2 on AWS, standard on
  420. ## GKE, AWS & OpenStack)
  421. ##
  422. storageClass: ""
  423. ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations
  424. ##
  425. annotations: {}
  426. ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes
  427. ##
  428. accessModes:
  429. - ReadWriteOnce
  430. ## @param primary.persistence.size MySQL primary persistent volume size
  431. ##
  432. size: 8Gi
  433. ## @param primary.persistence.selector Selector to match an existing Persistent Volume
  434. ## selector:
  435. ## matchLabels:
  436. ## app: my-app
  437. ##
  438. selector: {}
  439. ## @param primary.extraVolumes Optionally specify extra list of additional volumes to the MySQL Primary pod(s)
  440. ##
  441. extraVolumes: []
  442. ## @param primary.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the MySQL Primary container(s)
  443. ##
  444. extraVolumeMounts: []
  445. ## @param primary.initContainers Add additional init containers for the MySQL Primary pod(s)
  446. ##
  447. initContainers: []
  448. ## @param primary.sidecars Add additional sidecar containers for the MySQL Primary pod(s)
  449. ##
  450. sidecars: []
  451. ## MySQL Primary Service parameters
  452. ##
  453. service:
  454. ## @param primary.service.type MySQL Primary K8s service type
  455. ##
  456. # type: ClusterIP
  457. type: NodePort
  458. ## @param primary.service.ports.mysql MySQL Primary K8s service port
  459. ##
  460. ports:
  461. mysql: 3306
  462. ## @param primary.service.nodePorts.mysql MySQL Primary K8s service node port
  463. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
  464. ##
  465. nodePorts:
  466. mysql: 31511
  467. ## @param primary.service.clusterIP MySQL Primary K8s service clusterIP IP
  468. ## e.g:
  469. ## clusterIP: None
  470. ##
  471. clusterIP: ""
  472. ## @param primary.service.loadBalancerIP MySQL Primary loadBalancerIP if service type is `LoadBalancer`
  473. ## Set the LoadBalancer service type to internal only
  474. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
  475. ##
  476. loadBalancerIP: ""
  477. ## @param primary.service.externalTrafficPolicy Enable client source IP preservation
  478. ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
  479. ##
  480. externalTrafficPolicy: Cluster
  481. ## @param primary.service.loadBalancerSourceRanges Addresses that are allowed when MySQL Primary service is LoadBalancer
  482. ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
  483. ## E.g.
  484. ## loadBalancerSourceRanges:
  485. ## - 10.10.10.0/24
  486. ##
  487. loadBalancerSourceRanges: []
  488. ## @param primary.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
  489. ##
  490. extraPorts: []
  491. ## @param primary.service.annotations Additional custom annotations for MySQL primary service
  492. ##
  493. annotations: {}
  494. ## @param primary.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
  495. ## If "ClientIP", consecutive client requests will be directed to the same Pod
  496. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
  497. ##
  498. sessionAffinity: None
  499. ## @param primary.service.sessionAffinityConfig Additional settings for the sessionAffinity
  500. ## sessionAffinityConfig:
  501. ## clientIP:
  502. ## timeoutSeconds: 300
  503. ##
  504. sessionAffinityConfig: {}
  505. ## Headless service properties
  506. ##
  507. headless:
  508. ## @param primary.service.headless.annotations Additional custom annotations for headless MySQL primary service.
  509. ##
  510. annotations: {}
  511. ## MySQL primary Pod Disruption Budget configuration
  512. ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
  513. ##
  514. pdb:
  515. ## @param primary.pdb.create Enable/disable a Pod Disruption Budget creation for MySQL primary pods
  516. ##
  517. create: false
  518. ## @param primary.pdb.minAvailable Minimum number/percentage of MySQL primary pods that should remain scheduled
  519. ##
  520. minAvailable: 1
  521. ## @param primary.pdb.maxUnavailable Maximum number/percentage of MySQL primary pods that may be made unavailable
  522. ##
  523. maxUnavailable: ""
  524. ## @param primary.podLabels MySQL Primary pod label. If labels are same as commonLabels , this will take precedence
  525. ##
  526. podLabels: {}
  527. ## @section MySQL Secondary parameters
  528. ##
  529. secondary:
  530. ## @param secondary.name Name of the secondary database (eg secondary, slave, ...)
  531. ##
  532. name: secondary
  533. ## @param secondary.replicaCount Number of MySQL secondary replicas
  534. ##
  535. replicaCount: 1
  536. ## @param secondary.hostAliases Deployment pod host aliases
  537. ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
  538. ##
  539. hostAliases: []
  540. ## @param secondary.command Override default container command on MySQL Secondary container(s) (useful when using custom images)
  541. ##
  542. command: []
  543. ## @param secondary.args Override default container args on MySQL Secondary container(s) (useful when using custom images)
  544. ##
  545. args: []
  546. ## @param secondary.lifecycleHooks for the MySQL Secondary container(s) to automate configuration before or after startup
  547. ##
  548. lifecycleHooks: {}
  549. ## @param secondary.configuration [string] Configure MySQL Secondary with a custom my.cnf file
  550. ## ref: https://mysql.com/kb/en/mysql/configuring-mysql-with-mycnf/#example-of-configuration-file
  551. ##
  552. configuration: |-
  553. [mysqld]
  554. default_authentication_plugin=mysql_native_password
  555. skip-name-resolve
  556. explicit_defaults_for_timestamp
  557. basedir=/opt/bitnami/mysql
  558. plugin_dir=/opt/bitnami/mysql/lib/plugin
  559. port=3306
  560. socket=/opt/bitnami/mysql/tmp/mysql.sock
  561. datadir=/bitnami/mysql/data
  562. tmpdir=/opt/bitnami/mysql/tmp
  563. max_allowed_packet=16M
  564. bind-address=*
  565. pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
  566. log-error=/opt/bitnami/mysql/logs/mysqld.log
  567. character-set-server=UTF8
  568. collation-server=utf8_general_ci
  569. slow_query_log=0
  570. slow_query_log_file=/opt/bitnami/mysql/logs/mysqld.log
  571. long_query_time=10.0
  572. [client]
  573. port=3306
  574. socket=/opt/bitnami/mysql/tmp/mysql.sock
  575. default-character-set=UTF8
  576. plugin_dir=/opt/bitnami/mysql/lib/plugin
  577. [manager]
  578. port=3306
  579. socket=/opt/bitnami/mysql/tmp/mysql.sock
  580. pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
  581. ## @param secondary.existingConfigmap Name of existing ConfigMap with MySQL Secondary configuration.
  582. ## NOTE: When it's set the 'configuration' parameter is ignored
  583. ##
  584. existingConfigmap: ""
  585. ## @param secondary.updateStrategy.type Update strategy type for the MySQL secondary statefulset
  586. ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
  587. ##
  588. updateStrategy:
  589. type: RollingUpdate
  590. ## @param secondary.podAnnotations Additional pod annotations for MySQL secondary pods
  591. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  592. ##
  593. podAnnotations: {}
  594. ## @param secondary.podAffinityPreset MySQL secondary pod affinity preset. Ignored if `secondary.affinity` is set. Allowed values: `soft` or `hard`
  595. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  596. ##
  597. podAffinityPreset: ""
  598. ## @param secondary.podAntiAffinityPreset MySQL secondary pod anti-affinity preset. Ignored if `secondary.affinity` is set. Allowed values: `soft` or `hard`
  599. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  600. ## Allowed values: soft, hard
  601. ##
  602. podAntiAffinityPreset: soft
  603. ## MySQL Secondary node affinity preset
  604. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
  605. ##
  606. nodeAffinityPreset:
  607. ## @param secondary.nodeAffinityPreset.type MySQL secondary node affinity preset type. Ignored if `secondary.affinity` is set. Allowed values: `soft` or `hard`
  608. ##
  609. type: ""
  610. ## @param secondary.nodeAffinityPreset.key MySQL secondary node label key to match Ignored if `secondary.affinity` is set.
  611. ## E.g.
  612. ## key: "kubernetes.io/e2e-az-name"
  613. ##
  614. key: ""
  615. ## @param secondary.nodeAffinityPreset.values MySQL secondary node label values to match. Ignored if `secondary.affinity` is set.
  616. ## E.g.
  617. ## values:
  618. ## - e2e-az1
  619. ## - e2e-az2
  620. ##
  621. values: []
  622. ## @param secondary.affinity Affinity for MySQL secondary pods assignment
  623. ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
  624. ## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
  625. ##
  626. affinity: {}
  627. ## @param secondary.nodeSelector Node labels for MySQL secondary pods assignment
  628. ## ref: https://kubernetes.io/docs/user-guide/node-selection/
  629. ##
  630. nodeSelector: {}
  631. ## @param secondary.tolerations Tolerations for MySQL secondary pods assignment
  632. ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  633. ##
  634. tolerations: []
  635. ## @param secondary.priorityClassName MySQL secondary pods' priorityClassName
  636. ##
  637. priorityClassName: ""
  638. ## @param secondary.runtimeClassName MySQL secondary pods' runtimeClassName
  639. ##
  640. runtimeClassName: ""
  641. ## @param secondary.schedulerName Name of the k8s scheduler (other than default)
  642. ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  643. ##
  644. schedulerName: ""
  645. ## @param secondary.terminationGracePeriodSeconds In seconds, time the given to the MySQL secondary pod needs to terminate gracefully
  646. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
  647. ##
  648. terminationGracePeriodSeconds: ""
  649. ## @param secondary.topologySpreadConstraints Topology Spread Constraints for pod assignment
  650. ## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
  651. ## The value is evaluated as a template
  652. ##
  653. topologySpreadConstraints: []
  654. ## @param secondary.podManagementPolicy podManagementPolicy to manage scaling operation of MySQL secondary pods
  655. ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
  656. ##
  657. podManagementPolicy: ""
  658. ## MySQL secondary Pod security context
  659. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
  660. ## @param secondary.podSecurityContext.enabled Enable security context for MySQL secondary pods
  661. ## @param secondary.podSecurityContext.fsGroup Group ID for the mounted volumes' filesystem
  662. ##
  663. podSecurityContext:
  664. enabled: true
  665. fsGroup: 1001
  666. ## MySQL secondary container security context
  667. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
  668. ## @param secondary.containerSecurityContext.enabled MySQL secondary container securityContext
  669. ## @param secondary.containerSecurityContext.runAsUser User ID for the MySQL secondary container
  670. ## @param secondary.containerSecurityContext.runAsNonRoot Set MySQL secondary container's Security Context runAsNonRoot
  671. ##
  672. containerSecurityContext:
  673. enabled: true
  674. runAsUser: 1001
  675. runAsNonRoot: true
  676. ## MySQL secondary container's resource requests and limits
  677. ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
  678. ## We usually recommend not to specify default resources and to leave this as a conscious
  679. ## choice for the user. This also increases chances charts run on environments with little
  680. ## resources, such as Minikube. If you do want to specify resources, uncomment the following
  681. ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  682. ## @param secondary.resources.limits The resources limits for MySQL secondary containers
  683. ## @param secondary.resources.requests The requested resources for MySQL secondary containers
  684. ##
  685. resources:
  686. ## Example:
  687. ## limits:
  688. ## cpu: 250m
  689. ## memory: 256Mi
  690. ##
  691. limits: {}
  692. ## Examples:
  693. ## requests:
  694. ## cpu: 250m
  695. ## memory: 256Mi
  696. ##
  697. requests: {}
  698. ## Configure extra options for liveness probe
  699. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
  700. ## @param secondary.livenessProbe.enabled Enable livenessProbe
  701. ## @param secondary.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
  702. ## @param secondary.livenessProbe.periodSeconds Period seconds for livenessProbe
  703. ## @param secondary.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
  704. ## @param secondary.livenessProbe.failureThreshold Failure threshold for livenessProbe
  705. ## @param secondary.livenessProbe.successThreshold Success threshold for livenessProbe
  706. ##
  707. livenessProbe:
  708. enabled: true
  709. initialDelaySeconds: 5
  710. periodSeconds: 10
  711. timeoutSeconds: 1
  712. failureThreshold: 3
  713. successThreshold: 1
  714. ## Configure extra options for readiness probe
  715. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
  716. ## @param secondary.readinessProbe.enabled Enable readinessProbe
  717. ## @param secondary.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
  718. ## @param secondary.readinessProbe.periodSeconds Period seconds for readinessProbe
  719. ## @param secondary.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
  720. ## @param secondary.readinessProbe.failureThreshold Failure threshold for readinessProbe
  721. ## @param secondary.readinessProbe.successThreshold Success threshold for readinessProbe
  722. ##
  723. readinessProbe:
  724. enabled: true
  725. initialDelaySeconds: 5
  726. periodSeconds: 10
  727. timeoutSeconds: 1
  728. failureThreshold: 3
  729. successThreshold: 1
  730. ## Configure extra options for startupProbe probe
  731. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
  732. ## @param secondary.startupProbe.enabled Enable startupProbe
  733. ## @param secondary.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
  734. ## @param secondary.startupProbe.periodSeconds Period seconds for startupProbe
  735. ## @param secondary.startupProbe.timeoutSeconds Timeout seconds for startupProbe
  736. ## @param secondary.startupProbe.failureThreshold Failure threshold for startupProbe
  737. ## @param secondary.startupProbe.successThreshold Success threshold for startupProbe
  738. ##
  739. startupProbe:
  740. enabled: true
  741. initialDelaySeconds: 15
  742. periodSeconds: 10
  743. timeoutSeconds: 1
  744. failureThreshold: 15
  745. successThreshold: 1
  746. ## @param secondary.customLivenessProbe Override default liveness probe for MySQL secondary containers
  747. ##
  748. customLivenessProbe: {}
  749. ## @param secondary.customReadinessProbe Override default readiness probe for MySQL secondary containers
  750. ##
  751. customReadinessProbe: {}
  752. ## @param secondary.customStartupProbe Override default startup probe for MySQL secondary containers
  753. ##
  754. customStartupProbe: {}
  755. ## @param secondary.extraFlags MySQL secondary additional command line flags
  756. ## Can be used to specify command line flags, for example:
  757. ## E.g.
  758. ## extraFlags: "--max-connect-errors=1000 --max_connections=155"
  759. ##
  760. extraFlags: ""
  761. ## @param secondary.extraEnvVars An array to add extra environment variables on MySQL secondary containers
  762. ## E.g.
  763. ## extraEnvVars:
  764. ## - name: TZ
  765. ## value: "Europe/Paris"
  766. ##
  767. extraEnvVars: []
  768. ## @param secondary.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for MySQL secondary containers
  769. ##
  770. extraEnvVarsCM: ""
  771. ## @param secondary.extraEnvVarsSecret Name of existing Secret containing extra env vars for MySQL secondary containers
  772. ##
  773. extraEnvVarsSecret: ""
  774. ## @param secondary.extraPorts Extra ports to expose
  775. ##
  776. extraPorts: []
  777. ## Enable persistence using Persistent Volume Claims
  778. ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/
  779. ##
  780. persistence:
  781. ## @param secondary.persistence.enabled Enable persistence on MySQL secondary replicas using a `PersistentVolumeClaim`
  782. ##
  783. enabled: true
  784. ## @param secondary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL secondary replicas
  785. ## NOTE: When it's set the rest of persistence parameters are ignored
  786. ##
  787. existingClaim: ""
  788. ## @param secondary.persistence.subPath The name of a volume's sub path to mount for persistence
  789. ##
  790. subPath: ""
  791. ## @param secondary.persistence.storageClass MySQL secondary persistent volume storage Class
  792. ## If defined, storageClassName: <storageClass>
  793. ## If set to "-", storageClassName: "", which disables dynamic provisioning
  794. ## If undefined (the default) or set to null, no storageClassName spec is
  795. ## set, choosing the default provisioner. (gp2 on AWS, standard on
  796. ## GKE, AWS & OpenStack)
  797. ##
  798. storageClass: ""
  799. ## @param secondary.persistence.annotations MySQL secondary persistent volume claim annotations
  800. ##
  801. annotations: {}
  802. ## @param secondary.persistence.accessModes MySQL secondary persistent volume access Modes
  803. ##
  804. accessModes:
  805. - ReadWriteOnce
  806. ## @param secondary.persistence.size MySQL secondary persistent volume size
  807. ##
  808. size: 8Gi
  809. ## @param secondary.persistence.selector Selector to match an existing Persistent Volume
  810. ## selector:
  811. ## matchLabels:
  812. ## app: my-app
  813. ##
  814. selector: {}
  815. ## @param secondary.extraVolumes Optionally specify extra list of additional volumes to the MySQL secondary pod(s)
  816. ##
  817. extraVolumes: []
  818. ## @param secondary.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the MySQL secondary container(s)
  819. ##
  820. extraVolumeMounts: []
  821. ## @param secondary.initContainers Add additional init containers for the MySQL secondary pod(s)
  822. ##
  823. initContainers: []
  824. ## @param secondary.sidecars Add additional sidecar containers for the MySQL secondary pod(s)
  825. ##
  826. sidecars: []
  827. ## MySQL Secondary Service parameters
  828. ##
  829. service:
  830. ## @param secondary.service.type MySQL secondary Kubernetes service type
  831. ##
  832. type: ClusterIP
  833. ## @param secondary.service.ports.mysql MySQL secondary Kubernetes service port
  834. ##
  835. ports:
  836. mysql: 3306
  837. ## @param secondary.service.nodePorts.mysql MySQL secondary Kubernetes service node port
  838. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
  839. ##
  840. nodePorts:
  841. mysql: ""
  842. ## @param secondary.service.clusterIP MySQL secondary Kubernetes service clusterIP IP
  843. ## e.g:
  844. ## clusterIP: None
  845. ##
  846. clusterIP: ""
  847. ## @param secondary.service.loadBalancerIP MySQL secondary loadBalancerIP if service type is `LoadBalancer`
  848. ## Set the LoadBalancer service type to internal only
  849. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
  850. ##
  851. loadBalancerIP: ""
  852. ## @param secondary.service.externalTrafficPolicy Enable client source IP preservation
  853. ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
  854. ##
  855. externalTrafficPolicy: Cluster
  856. ## @param secondary.service.loadBalancerSourceRanges Addresses that are allowed when MySQL secondary service is LoadBalancer
  857. ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
  858. ## E.g.
  859. ## loadBalancerSourceRanges:
  860. ## - 10.10.10.0/24
  861. ##
  862. loadBalancerSourceRanges: []
  863. ## @param secondary.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
  864. ##
  865. extraPorts: []
  866. ## @param secondary.service.annotations Additional custom annotations for MySQL secondary service
  867. ##
  868. annotations: {}
  869. ## @param secondary.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
  870. ## If "ClientIP", consecutive client requests will be directed to the same Pod
  871. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
  872. ##
  873. sessionAffinity: None
  874. ## @param secondary.service.sessionAffinityConfig Additional settings for the sessionAffinity
  875. ## sessionAffinityConfig:
  876. ## clientIP:
  877. ## timeoutSeconds: 300
  878. ##
  879. sessionAffinityConfig: {}
  880. ## Headless service properties
  881. ##
  882. headless:
  883. ## @param secondary.service.headless.annotations Additional custom annotations for headless MySQL secondary service.
  884. ##
  885. annotations: {}
  886. ## MySQL secondary Pod Disruption Budget configuration
  887. ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
  888. ##
  889. pdb:
  890. ## @param secondary.pdb.create Enable/disable a Pod Disruption Budget creation for MySQL secondary pods
  891. ##
  892. create: false
  893. ## @param secondary.pdb.minAvailable Minimum number/percentage of MySQL secondary pods that should remain scheduled
  894. ##
  895. minAvailable: 1
  896. ## @param secondary.pdb.maxUnavailable Maximum number/percentage of MySQL secondary pods that may be made unavailable
  897. ##
  898. maxUnavailable: ""
  899. ## @param secondary.podLabels Additional pod labels for MySQL secondary pods
  900. ##
  901. podLabels: {}
  902. ## @section RBAC parameters
  903. ##
  904. ## MySQL pods ServiceAccount
  905. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
  906. ##
  907. serviceAccount:
  908. ## @param serviceAccount.create Enable the creation of a ServiceAccount for MySQL pods
  909. ##
  910. create: true
  911. ## @param serviceAccount.name Name of the created ServiceAccount
  912. ## If not set and create is true, a name is generated using the mysql.fullname template
  913. ##
  914. name: ""
  915. ## @param serviceAccount.annotations Annotations for MySQL Service Account
  916. ##
  917. annotations: {}
  918. ## @param serviceAccount.automountServiceAccountToken Automount service account token for the server service account
  919. ##
  920. automountServiceAccountToken: true
  921. ## Role Based Access
  922. ## ref: https://kubernetes.io/docs/admin/authorization/rbac/
  923. ##
  924. rbac:
  925. ## @param rbac.create Whether to create & use RBAC resources or not
  926. ##
  927. create: false
  928. ## @param rbac.rules Custom RBAC rules to set
  929. ## e.g:
  930. ## rules:
  931. ## - apiGroups:
  932. ## - ""
  933. ## resources:
  934. ## - pods
  935. ## verbs:
  936. ## - get
  937. ## - list
  938. ##
  939. rules: []
  940. ## @section Network Policy
  941. ##
  942. ## MySQL Nework Policy configuration
  943. ##
  944. networkPolicy:
  945. ## @param networkPolicy.enabled Enable creation of NetworkPolicy resources
  946. ##
  947. enabled: false
  948. ## @param networkPolicy.allowExternal The Policy model to apply.
  949. ## When set to false, only pods with the correct
  950. ## client label will have network access to the port MySQL is listening
  951. ## on. When true, MySQL will accept connections from any source
  952. ## (with the correct destination port).
  953. ##
  954. allowExternal: true
  955. ## @param networkPolicy.explicitNamespacesSelector A Kubernetes LabelSelector to explicitly select namespaces from which ingress traffic could be allowed to MySQL
  956. ## If explicitNamespacesSelector is missing or set to {}, only client Pods that are in the networkPolicy's namespace
  957. ## and that match other criteria, the ones that have the good label, can reach the DB.
  958. ## But sometimes, we want the DB to be accessible to clients from other namespaces, in this case, we can use this
  959. ## LabelSelector to select these namespaces, note that the networkPolicy's namespace should also be explicitly added.
  960. ##
  961. ## Example:
  962. ## explicitNamespacesSelector:
  963. ## matchLabels:
  964. ## role: frontend
  965. ## matchExpressions:
  966. ## - {key: role, operator: In, values: [frontend]}
  967. ##
  968. explicitNamespacesSelector: {}
  969. ## @section Volume Permissions parameters
  970. ##
  971. ## Init containers parameters:
  972. ## volumePermissions: Change the owner and group of the persistent volume mountpoint to runAsUser:fsGroup values from the securityContext section.
  973. ##
  974. volumePermissions:
  975. ## @param volumePermissions.enabled Enable init container that changes the owner and group of the persistent volume(s) mountpoint to `runAsUser:fsGroup`
  976. ##
  977. enabled: false
  978. ## @param volumePermissions.image.registry Init container volume-permissions image registry
  979. ## @param volumePermissions.image.repository Init container volume-permissions image repository
  980. ## @param volumePermissions.image.tag Init container volume-permissions image tag (immutable tags are recommended)
  981. ## @param volumePermissions.image.digest Init container volume-permissions image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
  982. ## @param volumePermissions.image.pullPolicy Init container volume-permissions image pull policy
  983. ## @param volumePermissions.image.pullSecrets Specify docker-registry secret names as an array
  984. ##
  985. image:
  986. registry: docker.io
  987. repository: bitnami/bitnami-shell
  988. tag: 11-debian-11-r102
  989. digest: ""
  990. pullPolicy: IfNotPresent
  991. ## Optionally specify an array of imagePullSecrets.
  992. ## Secrets must be manually created in the namespace.
  993. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  994. ## e.g:
  995. ## pullSecrets:
  996. ## - myRegistryKeySecretName
  997. ##
  998. pullSecrets: []
  999. ## @param volumePermissions.resources Init container volume-permissions resources
  1000. ##
  1001. resources: {}
  1002. ## @section Metrics parameters
  1003. ##
  1004. ## Mysqld Prometheus exporter parameters
  1005. ##
  1006. metrics:
  1007. ## @param metrics.enabled Start a side-car prometheus exporter
  1008. ##
  1009. enabled: false
  1010. ## @param metrics.image.registry Exporter image registry
  1011. ## @param metrics.image.repository Exporter image repository
  1012. ## @param metrics.image.tag Exporter image tag (immutable tags are recommended)
  1013. ## @param metrics.image.digest Exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
  1014. ## @param metrics.image.pullPolicy Exporter image pull policy
  1015. ## @param metrics.image.pullSecrets Specify docker-registry secret names as an array
  1016. ##
  1017. image:
  1018. registry: docker.io
  1019. repository: bitnami/mysqld-exporter
  1020. tag: 0.14.0-debian-11-r103
  1021. digest: ""
  1022. pullPolicy: IfNotPresent
  1023. ## Optionally specify an array of imagePullSecrets.
  1024. ## Secrets must be manually created in the namespace.
  1025. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  1026. ## e.g:
  1027. ## pullSecrets:
  1028. ## - myRegistryKeySecretName
  1029. ##
  1030. pullSecrets: []
  1031. ## MySQL metrics container security context
  1032. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
  1033. ## @param metrics.containerSecurityContext.enabled MySQL metrics container securityContext
  1034. ## @param metrics.containerSecurityContext.runAsUser User ID for the MySQL metrics container
  1035. ## @param metrics.containerSecurityContext.runAsNonRoot Set MySQL metrics container's Security Context runAsNonRoot
  1036. ##
  1037. containerSecurityContext:
  1038. enabled: true
  1039. runAsUser: 1001
  1040. runAsNonRoot: true
  1041. ## MySQL Prometheus exporter service parameters
  1042. ## Mysqld Prometheus exporter liveness and readiness probes
  1043. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
  1044. ## @param metrics.service.type Kubernetes service type for MySQL Prometheus Exporter
  1045. ## @param metrics.service.port MySQL Prometheus Exporter service port
  1046. ## @param metrics.service.annotations [object] Prometheus exporter service annotations
  1047. ##
  1048. service:
  1049. type: ClusterIP
  1050. port: 9104
  1051. annotations:
  1052. prometheus.io/scrape: "true"
  1053. prometheus.io/port: "{{ .Values.metrics.service.port }}"
  1054. ## @param metrics.extraArgs.primary Extra args to be passed to mysqld_exporter on Primary pods
  1055. ## @param metrics.extraArgs.secondary Extra args to be passed to mysqld_exporter on Secondary pods
  1056. ## ref: https://github.com/prometheus/mysqld_exporter/
  1057. ## E.g.
  1058. ## - --collect.auto_increment.columns
  1059. ## - --collect.binlog_size
  1060. ## - --collect.engine_innodb_status
  1061. ## - --collect.engine_tokudb_status
  1062. ## - --collect.global_status
  1063. ## - --collect.global_variables
  1064. ## - --collect.info_schema.clientstats
  1065. ## - --collect.info_schema.innodb_metrics
  1066. ## - --collect.info_schema.innodb_tablespaces
  1067. ## - --collect.info_schema.innodb_cmp
  1068. ## - --collect.info_schema.innodb_cmpmem
  1069. ## - --collect.info_schema.processlist
  1070. ## - --collect.info_schema.processlist.min_time
  1071. ## - --collect.info_schema.query_response_time
  1072. ## - --collect.info_schema.tables
  1073. ## - --collect.info_schema.tables.databases
  1074. ## - --collect.info_schema.tablestats
  1075. ## - --collect.info_schema.userstats
  1076. ## - --collect.perf_schema.eventsstatements
  1077. ## - --collect.perf_schema.eventsstatements.digest_text_limit
  1078. ## - --collect.perf_schema.eventsstatements.limit
  1079. ## - --collect.perf_schema.eventsstatements.timelimit
  1080. ## - --collect.perf_schema.eventswaits
  1081. ## - --collect.perf_schema.file_events
  1082. ## - --collect.perf_schema.file_instances
  1083. ## - --collect.perf_schema.indexiowaits
  1084. ## - --collect.perf_schema.tableiowaits
  1085. ## - --collect.perf_schema.tablelocks
  1086. ## - --collect.perf_schema.replication_group_member_stats
  1087. ## - --collect.slave_status
  1088. ## - --collect.slave_hosts
  1089. ## - --collect.heartbeat
  1090. ## - --collect.heartbeat.database
  1091. ## - --collect.heartbeat.table
  1092. ##
  1093. extraArgs:
  1094. primary: []
  1095. secondary: []
  1096. ## Mysqld Prometheus exporter resource requests and limits
  1097. ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
  1098. ## We usually recommend not to specify default resources and to leave this as a conscious
  1099. ## choice for the user. This also increases chances charts run on environments with little
  1100. ## resources, such as Minikube. If you do want to specify resources, uncomment the following
  1101. ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  1102. ## @param metrics.resources.limits The resources limits for MySQL prometheus exporter containers
  1103. ## @param metrics.resources.requests The requested resources for MySQL prometheus exporter containers
  1104. ##
  1105. resources:
  1106. ## Example:
  1107. ## limits:
  1108. ## cpu: 100m
  1109. ## memory: 256Mi
  1110. ##
  1111. limits: {}
  1112. ## Examples:
  1113. ## requests:
  1114. ## cpu: 100m
  1115. ## memory: 256Mi
  1116. ##
  1117. requests: {}
  1118. ## Mysqld Prometheus exporter liveness probe
  1119. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
  1120. ## @param metrics.livenessProbe.enabled Enable livenessProbe
  1121. ## @param metrics.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
  1122. ## @param metrics.livenessProbe.periodSeconds Period seconds for livenessProbe
  1123. ## @param metrics.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
  1124. ## @param metrics.livenessProbe.failureThreshold Failure threshold for livenessProbe
  1125. ## @param metrics.livenessProbe.successThreshold Success threshold for livenessProbe
  1126. ##
  1127. livenessProbe:
  1128. enabled: true
  1129. initialDelaySeconds: 120
  1130. periodSeconds: 10
  1131. timeoutSeconds: 1
  1132. successThreshold: 1
  1133. failureThreshold: 3
  1134. ## Mysqld Prometheus exporter readiness probe
  1135. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
  1136. ## @param metrics.readinessProbe.enabled Enable readinessProbe
  1137. ## @param metrics.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
  1138. ## @param metrics.readinessProbe.periodSeconds Period seconds for readinessProbe
  1139. ## @param metrics.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
  1140. ## @param metrics.readinessProbe.failureThreshold Failure threshold for readinessProbe
  1141. ## @param metrics.readinessProbe.successThreshold Success threshold for readinessProbe
  1142. ##
  1143. readinessProbe:
  1144. enabled: true
  1145. initialDelaySeconds: 30
  1146. periodSeconds: 10
  1147. timeoutSeconds: 1
  1148. successThreshold: 1
  1149. failureThreshold: 3
  1150. ## Prometheus Service Monitor
  1151. ## ref: https://github.com/coreos/prometheus-operator
  1152. ##
  1153. serviceMonitor:
  1154. ## @param metrics.serviceMonitor.enabled Create ServiceMonitor Resource for scraping metrics using PrometheusOperator
  1155. ##
  1156. enabled: false
  1157. ## @param metrics.serviceMonitor.namespace Specify the namespace in which the serviceMonitor resource will be created
  1158. ##
  1159. namespace: ""
  1160. ## @param metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in prometheus.
  1161. ##
  1162. jobLabel: ""
  1163. ## @param metrics.serviceMonitor.interval Specify the interval at which metrics should be scraped
  1164. ##
  1165. interval: 30s
  1166. ## @param metrics.serviceMonitor.scrapeTimeout Specify the timeout after which the scrape is ended
  1167. ## e.g:
  1168. ## scrapeTimeout: 30s
  1169. ##
  1170. scrapeTimeout: ""
  1171. ## @param metrics.serviceMonitor.relabelings RelabelConfigs to apply to samples before scraping
  1172. ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
  1173. ##
  1174. relabelings: []
  1175. ## @param metrics.serviceMonitor.metricRelabelings MetricRelabelConfigs to apply to samples before ingestion
  1176. ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
  1177. ##
  1178. metricRelabelings: []
  1179. ## @param metrics.serviceMonitor.selector ServiceMonitor selector labels
  1180. ## ref: https://github.com/bitnami/charts/tree/main/bitnami/prometheus-operator#prometheus-configuration
  1181. ##
  1182. ## selector:
  1183. ## prometheus: my-prometheus
  1184. ##
  1185. selector: {}
  1186. ## @param metrics.serviceMonitor.honorLabels Specify honorLabels parameter to add the scrape endpoint
  1187. ##
  1188. honorLabels: false
  1189. ## @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
  1190. ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#prometheusspec
  1191. ##
  1192. labels: {}
  1193. ## @param metrics.serviceMonitor.annotations ServiceMonitor annotations
  1194. ##
  1195. annotations: {}
  1196. ## Prometheus Operator prometheusRule configuration
  1197. ##
  1198. prometheusRule:
  1199. ## @param metrics.prometheusRule.enabled Creates a Prometheus Operator prometheusRule (also requires `metrics.enabled` to be `true` and `metrics.prometheusRule.rules`)
  1200. ##
  1201. enabled: false
  1202. ## @param metrics.prometheusRule.namespace Namespace for the prometheusRule Resource (defaults to the Release Namespace)
  1203. ##
  1204. namespace: ""
  1205. ## @param metrics.prometheusRule.additionalLabels Additional labels that can be used so prometheusRule will be discovered by Prometheus
  1206. ##
  1207. additionalLabels: {}
  1208. ## @param metrics.prometheusRule.rules Prometheus Rule definitions
  1209. ## - alert: Mysql-Down
  1210. ## expr: absent(up{job="mysql"} == 1)
  1211. ## for: 5m
  1212. ## labels:
  1213. ## severity: warning
  1214. ## service: mariadb
  1215. ## annotations:
  1216. ## message: 'MariaDB instance {{`{{`}} $labels.instance {{`}}`}} is down'
  1217. ## summary: MariaDB instance is down
  1218. ##
  1219. rules: []