values.yaml 53 KB

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