values.yaml 112 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502
  1. # Copyright Broadcom, Inc. All Rights Reserved.
  2. # SPDX-License-Identifier: APACHE-2.0
  3. ## @section Global parameters
  4. ## Global Docker image parameters
  5. ## Please, note that this will override the image parameters, including dependencies, configured to use the global value
  6. ## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass
  7. ##
  8. ## @param global.imageRegistry Global Docker image registry
  9. ## @param global.imagePullSecrets Global Docker registry secret names as an array
  10. ## @param global.defaultStorageClass Global default StorageClass for Persistent Volume(s)
  11. ## @param global.storageClass DEPRECATED: use global.defaultStorageClass instead
  12. ## @param global.namespaceOverride Override the namespace for resource deployed by the chart, but can itself be overridden by the local namespaceOverride
  13. ##
  14. global:
  15. imageRegistry: ""
  16. ## E.g.
  17. ## imagePullSecrets:
  18. ## - myRegistryKeySecretName
  19. ##
  20. imagePullSecrets: []
  21. defaultStorageClass: ""
  22. storageClass: ""
  23. namespaceOverride: ""
  24. ## Compatibility adaptations for Kubernetes platforms
  25. ##
  26. compatibility:
  27. ## Compatibility adaptations for Openshift
  28. ##
  29. openshift:
  30. ## @param global.compatibility.openshift.adaptSecurityContext Adapt the securityContext sections of the deployment to make them compatible with Openshift restricted-v2 SCC: remove runAsUser, runAsGroup and fsGroup and let the platform use their allowed default IDs. Possible values: auto (apply if the detected running cluster is Openshift), force (perform the adaptation always), disabled (do not perform adaptation)
  31. ##
  32. adaptSecurityContext: auto
  33. ## @section Common parameters
  34. ##
  35. ## @param nameOverride String to partially override mongodb.fullname template (will maintain the release name)
  36. ##
  37. nameOverride: ""
  38. ## @param fullnameOverride String to fully override mongodb.fullname template
  39. ##
  40. fullnameOverride: ""
  41. ## @param namespaceOverride String to fully override common.names.namespace
  42. ##
  43. namespaceOverride: ""
  44. ## @param kubeVersion Force target Kubernetes version (using Helm capabilities if not set)
  45. ##
  46. kubeVersion: ""
  47. ## @param clusterDomain Default Kubernetes cluster domain
  48. ##
  49. clusterDomain: cluster.local
  50. ## @param extraDeploy Array of extra objects to deploy with the release
  51. ## extraDeploy:
  52. ## This needs to be uncommented and added to 'extraDeploy' in order to use the replicaset 'mongo-labeler' sidecar
  53. ## for dynamically discovering the mongodb primary pod
  54. ## suggestion is to use a hard-coded and predictable TCP port for the primary mongodb pod (here is 30001, choose your own)
  55. ## - apiVersion: v1
  56. ## kind: Service
  57. ## metadata:
  58. ## name: mongodb-primary
  59. ## namespace: the-mongodb-namespace
  60. ## labels:
  61. ## app.kubernetes.io/component: mongodb
  62. ## app.kubernetes.io/instance: mongodb
  63. ## app.kubernetes.io/managed-by: Helm
  64. ## app.kubernetes.io/name: mongodb
  65. ## spec:
  66. ## type: NodePort
  67. ## externalTrafficPolicy: Cluster
  68. ## ports:
  69. ## - name: mongodb
  70. ## port: 30001
  71. ## nodePort: 30001
  72. ## protocol: TCP
  73. ## targetPort: mongodb
  74. ## selector:
  75. ## app.kubernetes.io/component: mongodb
  76. ## app.kubernetes.io/instance: mongodb
  77. ## app.kubernetes.io/name: mongodb
  78. ## primary: "true"
  79. ##
  80. extraDeploy: []
  81. ## @param commonLabels Add labels to all the deployed resources (sub-charts are not considered). Evaluated as a template
  82. ##
  83. commonLabels: {}
  84. ## @param commonAnnotations Common annotations to add to all Mongo resources (sub-charts are not considered). Evaluated as a template
  85. ##
  86. commonAnnotations: {}
  87. ## @param topologyKey Override common lib default topology key. If empty - "kubernetes.io/hostname" is used
  88. ## i.e. topologyKey: topology.kubernetes.io/zone
  89. ##
  90. topologyKey: ""
  91. ## @param serviceBindings.enabled Create secret for service binding (Experimental)
  92. ## Ref: https://servicebinding.io/service-provider/
  93. ##
  94. serviceBindings:
  95. enabled: false
  96. ## @param enableServiceLinks Whether information about services should be injected into pod's environment variable
  97. ## The environment variables injected by service links are not used, but can lead to slow boot times or slow running of the scripts when there are many services in the current namespace.
  98. ## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
  99. ##
  100. enableServiceLinks: true
  101. ## Enable diagnostic mode in the deployment
  102. ##
  103. diagnosticMode:
  104. ## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden)
  105. ##
  106. enabled: false
  107. ## @param diagnosticMode.command Command to override all containers in the deployment
  108. ##
  109. command:
  110. - sleep
  111. ## @param diagnosticMode.args Args to override all containers in the deployment
  112. ##
  113. args:
  114. - infinity
  115. ## @section MongoDB(®) parameters
  116. ##
  117. ## Bitnami MongoDB(®) image
  118. ## ref: https://hub.docker.com/r/bitnami/mongodb/tags/
  119. ## @param image.registry [default: REGISTRY_NAME] MongoDB(®) image registry
  120. ## @param image.repository [default: REPOSITORY_NAME/mongodb] MongoDB(®) image registry
  121. ## @skip image.tag MongoDB(®) image tag (immutable tags are recommended)
  122. ## @param image.digest MongoDB(®) image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
  123. ## @param image.pullPolicy MongoDB(®) image pull policy
  124. ## @param image.pullSecrets Specify docker-registry secret names as an array
  125. ## @param image.debug Set to true if you would like to see extra information on logs
  126. ##
  127. image:
  128. registry: docker.io
  129. repository: bitnami/mongodb
  130. #tag: 7.0.14-debian-12-r3
  131. tag: latest
  132. digest: ""
  133. ## Specify a imagePullPolicy
  134. ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
  135. ##
  136. pullPolicy: IfNotPresent
  137. ## Optionally specify an array of imagePullSecrets.
  138. ## Secrets must be manually created in the namespace.
  139. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  140. ## e.g:
  141. ## pullSecrets:
  142. ## - myRegistryKeySecretName
  143. ##
  144. pullSecrets: []
  145. ## Set to true if you would like to see extra information on logs
  146. ##
  147. debug: false
  148. ## @param schedulerName Name of the scheduler (other than default) to dispatch pods
  149. ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  150. ##
  151. schedulerName: ""
  152. ## @param architecture MongoDB(®) architecture (`standalone` or `replicaset`)
  153. ##
  154. architecture: replicaset
  155. ## @param useStatefulSet Set to true to use a StatefulSet instead of a Deployment (only when `architecture=standalone`)
  156. ##
  157. useStatefulSet: false
  158. ## MongoDB(®) Authentication parameters
  159. ##
  160. auth:
  161. ## @param auth.enabled Enable authentication
  162. ## ref: https://docs.mongodb.com/manual/tutorial/enable-authentication/
  163. ##
  164. enabled: false
  165. ## @param auth.rootUser MongoDB(®) root user
  166. ##
  167. rootUser: root
  168. ## @param auth.rootPassword MongoDB(®) root password
  169. ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mongodb#setting-the-root-user-and-password-on-first-run
  170. ##
  171. rootPassword: ""
  172. ## MongoDB(®) custom users and databases
  173. ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mongodb#creating-a-user-and-database-on-first-run
  174. ## @param auth.usernames List of custom users to be created during the initialization
  175. ## @param auth.passwords List of passwords for the custom users set at `auth.usernames`
  176. ## @param auth.databases List of custom databases to be created during the initialization
  177. ##
  178. usernames: []
  179. passwords: []
  180. databases: []
  181. ## @param auth.username DEPRECATED: use `auth.usernames` instead
  182. ## @param auth.password DEPRECATED: use `auth.passwords` instead
  183. ## @param auth.database DEPRECATED: use `auth.databases` instead
  184. ##
  185. username: ""
  186. password: ""
  187. database: ""
  188. ## @param auth.replicaSetKey Key used for authentication in the replicaset (only when `architecture=replicaset`)
  189. ##
  190. replicaSetKey: ""
  191. ## @param auth.existingSecret Existing secret with MongoDB(®) credentials (keys: `mongodb-passwords`, `mongodb-root-password`, `mongodb-metrics-password`, `mongodb-replica-set-key`)
  192. ## NOTE: When it's set the previous parameters are ignored.
  193. ##
  194. existingSecret: ""
  195. tls:
  196. ## @param tls.enabled Enable MongoDB(®) TLS support between nodes in the cluster as well as between mongo clients and nodes
  197. ##
  198. enabled: false
  199. mTLS:
  200. ## @param tls.mTLS.enabled IF TLS support is enabled, require clients to provide certificates
  201. enabled: true
  202. ## @param tls.autoGenerated Generate a custom CA and self-signed certificates
  203. ##
  204. autoGenerated: true
  205. ## @param tls.existingSecret Existing secret with TLS certificates (keys: `mongodb-ca-cert`, `mongodb-ca-key`)
  206. ## NOTE: When it's set it will disable secret creation.
  207. ##
  208. existingSecret: ""
  209. ## Add Custom CA certificate
  210. ## @param tls.caCert Custom CA certificated (base64 encoded)
  211. ## @param tls.caKey CA certificate private key (base64 encoded)
  212. ##
  213. caCert: ""
  214. caKey: ""
  215. ## @param tls.pemChainIncluded Flag to denote that the Certificate Authority (CA) certificates are bundled with the endpoint cert.
  216. ## Certificates must be in proper order, where the top certificate is the leaf and the bottom certificate is the top-most intermediate CA.
  217. ##
  218. pemChainIncluded: false
  219. standalone:
  220. ## @param tls.standalone.existingSecret Existing secret with TLS certificates (`tls.key`, `tls.crt`, `ca.crt`) or (`tls.key`, `tls.crt`) with tls.pemChainIncluded set as enabled.
  221. ## NOTE: When it's set it will disable certificate self-generation from existing CA.
  222. ##
  223. existingSecret: ""
  224. replicaset:
  225. ## @param tls.replicaset.existingSecrets Array of existing secrets with TLS certificates (`tls.key`, `tls.crt`, `ca.crt`) or (`tls.key`, `tls.crt`) with tls.pemChainIncluded set as enabled.
  226. ## existingSecrets:
  227. ## - "mySecret-0"
  228. ## - "mySecret-1"
  229. ## NOTE: When it's set it will disable certificate self-generation from existing CA.
  230. ##
  231. existingSecrets: []
  232. hidden:
  233. ## @param tls.hidden.existingSecrets Array of existing secrets with TLS certificates (`tls.key`, `tls.crt`, `ca.crt`) or (`tls.key`, `tls.crt`) with tls.pemChainIncluded set as enabled.
  234. ## existingSecrets:
  235. ## - "mySecret-0"
  236. ## - "mySecret-1"
  237. ## NOTE: When it's set it will disable certificate self-generation from existing CA.
  238. ##
  239. existingSecrets: []
  240. arbiter:
  241. ## @param tls.arbiter.existingSecret Existing secret with TLS certificates (`tls.key`, `tls.crt`, `ca.crt`) or (`tls.key`, `tls.crt`) with tls.pemChainIncluded set as enabled.
  242. ## NOTE: When it's set it will disable certificate self-generation from existing CA.
  243. ##
  244. existingSecret: ""
  245. ## Bitnami Nginx image
  246. ## @param tls.image.registry [default: REGISTRY_NAME] Init container TLS certs setup image registry
  247. ## @param tls.image.repository [default: REPOSITORY_NAME/nginx] Init container TLS certs setup image repository
  248. ## @skip tls.image.tag Init container TLS certs setup image tag (immutable tags are recommended)
  249. ## @param tls.image.digest Init container TLS certs setup image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
  250. ## @param tls.image.pullPolicy Init container TLS certs setup image pull policy
  251. ## @param tls.image.pullSecrets Init container TLS certs specify docker-registry secret names as an array
  252. ## @param tls.extraDnsNames Add extra dns names to the CA, can solve x509 auth issue for pod clients
  253. ##
  254. image:
  255. registry: docker.io
  256. repository: bitnami/nginx
  257. tag: 1.27.1-debian-12-r5
  258. digest: ""
  259. pullPolicy: IfNotPresent
  260. ## Optionally specify an array of imagePullSecrets.
  261. ## Secrets must be manually created in the namespace.
  262. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  263. ## e.g:
  264. ## pullSecrets:
  265. ## - myRegistryKeySecretName
  266. ##
  267. pullSecrets: []
  268. ## e.g:
  269. ## extraDnsNames
  270. ## "DNS.6": "$my_host"
  271. ## "DNS.7": "$test"
  272. ##
  273. extraDnsNames: []
  274. ## @param tls.mode Allows to set the tls mode which should be used when tls is enabled (options: `allowTLS`, `preferTLS`, `requireTLS`)
  275. ##
  276. mode: requireTLS
  277. ## Init Container resource requests and limits
  278. ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
  279. ## We usually recommend not to specify default resources and to leave this as a conscious
  280. ## choice for the user. This also increases chances charts run on environments with little
  281. ## resources, such as Minikube. If you do want to specify resources, uncomment the following
  282. ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  283. ## @param tls.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if tls.resources is set (tls.resources is recommended for production).
  284. ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
  285. ##
  286. resourcesPreset: "nano"
  287. ## @param tls.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
  288. ## Example:
  289. ## resources:
  290. ## requests:
  291. ## cpu: 2
  292. ## memory: 512Mi
  293. ## limits:
  294. ## cpu: 3
  295. ## memory: 1024Mi
  296. ##
  297. resources: {}
  298. ## Init Container securityContext
  299. ## ref: https://kubernetes.io/docs/concepts/security/pod-security-policy/
  300. ## @param tls.securityContext Init container generate-tls-cert Security context
  301. ##
  302. securityContext: {}
  303. ## Example:
  304. ## allowPrivilegeEscalation: false
  305. ## capabilities:
  306. ## drop: ["ALL"]
  307. ##
  308. ## @param automountServiceAccountToken Mount Service Account token in pod
  309. ##
  310. automountServiceAccountToken: false
  311. ## @param hostAliases Add deployment host aliases
  312. ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
  313. ##
  314. hostAliases: []
  315. ## @param replicaSetName Name of the replica set (only when `architecture=replicaset`)
  316. ## Ignored when mongodb.architecture=standalone
  317. ##
  318. replicaSetName: rs0
  319. ## @param replicaSetHostnames Enable DNS hostnames in the replicaset config (only when `architecture=replicaset`)
  320. ## Ignored when mongodb.architecture=standalone
  321. ## Ignored when externalAccess.enabled=true
  322. ##
  323. replicaSetHostnames: true
  324. ## @param enableIPv6 Switch to enable/disable IPv6 on MongoDB(®)
  325. ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mongodb#enablingdisabling-ipv6
  326. ##
  327. enableIPv6: false
  328. ## @param directoryPerDB Switch to enable/disable DirectoryPerDB on MongoDB(®)
  329. ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mongodb#enablingdisabling-directoryperdb
  330. ##
  331. directoryPerDB: false
  332. ## MongoDB(®) System Log configuration
  333. ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mongodb#configuring-system-log-verbosity-level
  334. ## @param systemLogVerbosity MongoDB(®) system log verbosity level
  335. ## @param disableSystemLog Switch to enable/disable MongoDB(®) system log
  336. ##
  337. systemLogVerbosity: 0
  338. disableSystemLog: false
  339. ## @param disableJavascript Switch to enable/disable MongoDB(®) server-side JavaScript execution
  340. ## ref: https://docs.mongodb.com/manual/core/server-side-javascript/
  341. ##
  342. disableJavascript: false
  343. ## @param enableJournal Switch to enable/disable MongoDB(®) Journaling
  344. ## ref: https://docs.mongodb.com/manual/reference/configuration-options/#mongodb-setting-storage.journal.enabled
  345. ##
  346. enableJournal: true
  347. ## @param configuration MongoDB(®) configuration file to be used for Primary and Secondary nodes
  348. ## For documentation of all options, see: http://docs.mongodb.org/manual/reference/configuration-options/
  349. ## Example:
  350. ## configuration: |-
  351. ## # where and how to store data.
  352. ## storage:
  353. ## dbPath: /bitnami/mongodb/data/db
  354. ## journal:
  355. ## enabled: true
  356. ## directoryPerDB: false
  357. ## # where to write logging data
  358. ## systemLog:
  359. ## destination: file
  360. ## quiet: false
  361. ## logAppend: true
  362. ## logRotate: reopen
  363. ## path: /opt/bitnami/mongodb/logs/mongodb.log
  364. ## verbosity: 0
  365. ## # network interfaces
  366. ## net:
  367. ## port: 27017
  368. ## unixDomainSocket:
  369. ## enabled: true
  370. ## pathPrefix: /opt/bitnami/mongodb/tmp
  371. ## ipv6: false
  372. ## bindIpAll: true
  373. ## # replica set options
  374. ## #replication:
  375. ## #replSetName: replicaset
  376. ## #enableMajorityReadConcern: true
  377. ## # process management options
  378. ## processManagement:
  379. ## fork: false
  380. ## pidFilePath: /opt/bitnami/mongodb/tmp/mongodb.pid
  381. ## # set parameter options
  382. ## setParameter:
  383. ## enableLocalhostAuthBypass: true
  384. ## # security options
  385. ## security:
  386. ## authorization: disabled
  387. ## #keyFile: /opt/bitnami/mongodb/conf/keyfile
  388. ##
  389. configuration: ""
  390. ## @section replicaSetConfigurationSettings settings applied during runtime (not via configuration file)
  391. ## If enabled, these are applied by a script which is called within setup.sh
  392. ## for documentation see https://docs.mongodb.com/manual/reference/replica-configuration/#replica-set-configuration-fields
  393. ## @param replicaSetConfigurationSettings.enabled Enable MongoDB(®) Switch to enable/disable configuring MongoDB(®) run time rs.conf settings
  394. ## @param replicaSetConfigurationSettings.configuration run-time rs.conf settings
  395. ##
  396. replicaSetConfigurationSettings:
  397. enabled: false
  398. configuration: {}
  399. ## Custom configurations for individual replica set members.
  400. ## Use the prefix 'members[X].' to apply settings to the member X of the replica set.
  401. ## Example: 'members[0].priority: 3' sets the priority of the first replica set member to 3.
  402. ## The index X in 'members[X]' corresponds to the member's position in the replica set.
  403. ## members[0].priority: 3
  404. ## chainingAllowed : false
  405. ## heartbeatTimeoutSecs : 10
  406. ## heartbeatIntervalMillis : 2000
  407. ## electionTimeoutMillis : 10000
  408. ## catchUpTimeoutMillis : 30000
  409. ## @param existingConfigmap Name of existing ConfigMap with MongoDB(®) configuration for Primary and Secondary nodes
  410. ## NOTE: When it's set the arbiter.configuration parameter is ignored
  411. ##
  412. existingConfigmap: ""
  413. ## @param initdbScripts Dictionary of initdb scripts
  414. ## Specify dictionary of scripts to be run at first boot
  415. ## Example:
  416. ## initdbScripts:
  417. ## my_init_script.sh: |
  418. ## #!/bin/bash
  419. ## echo "Do something."
  420. ##
  421. initdbScripts: {}
  422. ## @param initdbScriptsConfigMap Existing ConfigMap with custom initdb scripts
  423. ##
  424. initdbScriptsConfigMap: ""
  425. ## Command and args for running the container (set to default if not set). Use array form
  426. ## @param command Override default container command (useful when using custom images)
  427. ## @param args Override default container args (useful when using custom images)
  428. ##
  429. command: []
  430. args: []
  431. ## @param extraFlags MongoDB(®) additional command line flags
  432. ## Example:
  433. ## extraFlags:
  434. ## - "--wiredTigerCacheSizeGB=2"
  435. ##
  436. extraFlags: []
  437. ## @param extraEnvVars Extra environment variables to add to MongoDB(®) pods
  438. ## E.g:
  439. ## extraEnvVars:
  440. ## - name: FOO
  441. ## value: BAR
  442. ##
  443. extraEnvVars: []
  444. ## @param extraEnvVarsCM Name of existing ConfigMap containing extra env vars
  445. ##
  446. extraEnvVarsCM: ""
  447. ## @param extraEnvVarsSecret Name of existing Secret containing extra env vars (in case of sensitive data)
  448. ##
  449. extraEnvVarsSecret: ""
  450. ## @section MongoDB(®) statefulset parameters
  451. ##
  452. ## @param annotations Additional labels to be added to the MongoDB(®) statefulset. Evaluated as a template
  453. ##
  454. annotations: {}
  455. ## @param labels Annotations to be added to the MongoDB(®) statefulset. Evaluated as a template
  456. ##
  457. labels: {}
  458. ## @param replicaCount Number of MongoDB(®) nodes
  459. ## When `mongodb.architecture=replicaset`, the number of replicas is taken in account
  460. ## When `mongodb.architecture=standalone`, the number of replicas can only be 0 or 1 (value higher then 1 will not be taken in account)
  461. ##
  462. replicaCount: 1
  463. ## @param updateStrategy.type Strategy to use to replace existing MongoDB(®) pods. When architecture=standalone and useStatefulSet=false,
  464. ## this parameter will be applied on a deployment object. In other case it will be applied on a statefulset object
  465. ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
  466. ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
  467. ## Example:
  468. ## updateStrategy:
  469. ## type: RollingUpdate
  470. ## rollingUpdate:
  471. ## maxSurge: 25%
  472. ## maxUnavailable: 25%
  473. ##
  474. updateStrategy:
  475. type: RollingUpdate
  476. ## @param podManagementPolicy Pod management policy for MongoDB(®)
  477. ## Should be initialized one by one when building the replicaset for the first time
  478. ##
  479. podManagementPolicy: OrderedReady
  480. ## @param podAffinityPreset MongoDB(®) Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
  481. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  482. ##
  483. podAffinityPreset: ""
  484. ## @param podAntiAffinityPreset MongoDB(®) Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
  485. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  486. ##
  487. podAntiAffinityPreset: soft
  488. ## Node affinity preset
  489. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
  490. ##
  491. nodeAffinityPreset:
  492. ## @param nodeAffinityPreset.type MongoDB(®) Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
  493. ##
  494. type: ""
  495. ## @param nodeAffinityPreset.key MongoDB(®) Node label key to match Ignored if `affinity` is set.
  496. ## E.g.
  497. ## key: "kubernetes.io/e2e-az-name"
  498. ##
  499. key: ""
  500. ## @param nodeAffinityPreset.values MongoDB(®) Node label values to match. Ignored if `affinity` is set.
  501. ## E.g.
  502. ## values:
  503. ## - e2e-az1
  504. ## - e2e-az2
  505. ##
  506. values: []
  507. ## @param affinity MongoDB(®) Affinity for pod assignment
  508. ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
  509. ## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
  510. ##
  511. affinity: {}
  512. ## @param nodeSelector MongoDB(®) Node labels for pod assignment
  513. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
  514. ##
  515. nodeSelector: {}
  516. ## @param tolerations MongoDB(®) Tolerations for pod assignment
  517. ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  518. ##
  519. tolerations: []
  520. ## @param topologySpreadConstraints MongoDB(®) Spread Constraints for Pods
  521. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
  522. ##
  523. topologySpreadConstraints: []
  524. ## @param lifecycleHooks LifecycleHook for the MongoDB(®) container(s) to automate configuration before or after startup
  525. ##
  526. lifecycleHooks: {}
  527. ## @param terminationGracePeriodSeconds MongoDB(®) Termination Grace Period
  528. ##
  529. terminationGracePeriodSeconds: ""
  530. ## @param podLabels MongoDB(®) pod labels
  531. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  532. ##
  533. podLabels: {}
  534. ## @param podAnnotations MongoDB(®) Pod annotations
  535. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  536. ##
  537. podAnnotations: {}
  538. ## @param priorityClassName Name of the existing priority class to be used by MongoDB(®) pod(s)
  539. ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
  540. ##
  541. priorityClassName: ""
  542. ## @param runtimeClassName Name of the runtime class to be used by MongoDB(®) pod(s)
  543. ## ref: https://kubernetes.io/docs/concepts/containers/runtime-class/
  544. ##
  545. runtimeClassName: ""
  546. ## MongoDB(®) pods' Security Context.
  547. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
  548. ## @param podSecurityContext.enabled Enable MongoDB(®) pod(s)' Security Context
  549. ## @param podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
  550. ## @param podSecurityContext.supplementalGroups Set filesystem extra groups
  551. ## @param podSecurityContext.fsGroup Group ID for the volumes of the MongoDB(®) pod(s)
  552. ## @param podSecurityContext.sysctls sysctl settings of the MongoDB(®) pod(s)'
  553. ##
  554. podSecurityContext:
  555. enabled: true
  556. fsGroupChangePolicy: Always
  557. supplementalGroups: []
  558. fsGroup: 65534
  559. ## sysctl settings
  560. ## Example:
  561. ## sysctls:
  562. ## - name: net.core.somaxconn
  563. ## value: "10000"
  564. ##
  565. sysctls: []
  566. ## MongoDB(®) containers' Security Context (main and metrics container).
  567. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
  568. ## @param containerSecurityContext.enabled Enabled containers' Security Context
  569. ## @param containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
  570. ## @param containerSecurityContext.runAsUser Set containers' Security Context runAsUser
  571. ## @param containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
  572. ## @param containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
  573. ## @param containerSecurityContext.privileged Set container's Security Context privileged
  574. ## @param containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
  575. ## @param containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
  576. ## @param containerSecurityContext.capabilities.drop List of capabilities to be dropped
  577. ## @param containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
  578. ##
  579. containerSecurityContext:
  580. enabled: true
  581. seLinuxOptions: {}
  582. runAsUser: 65534
  583. runAsGroup: 65534
  584. runAsNonRoot: true
  585. privileged: false
  586. readOnlyRootFilesystem: true
  587. allowPrivilegeEscalation: false
  588. capabilities:
  589. drop: ["ALL"]
  590. seccompProfile:
  591. type: "RuntimeDefault"
  592. ## MongoDB(®) containers' resource requests and limits.
  593. ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
  594. ## We usually recommend not to specify default resources and to leave this as a conscious
  595. ## choice for the user. This also increases chances charts run on environments with little
  596. ## resources, such as Minikube. If you do want to specify resources, uncomment the following
  597. ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  598. ## @param resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production).
  599. ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
  600. ##
  601. resourcesPreset: "small"
  602. ## @param resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
  603. ## Example:
  604. ## resources:
  605. ## requests:
  606. ## cpu: 2
  607. ## memory: 512Mi
  608. ## limits:
  609. ## cpu: 3
  610. ## memory: 1024Mi
  611. ##
  612. resources: {}
  613. ## @param containerPorts.mongodb MongoDB(®) container port
  614. ##
  615. containerPorts:
  616. mongodb: 27017
  617. ## MongoDB(®) pods' liveness probe. Evaluated as a template.
  618. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
  619. ## @param livenessProbe.enabled Enable livenessProbe
  620. ## @param livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
  621. ## @param livenessProbe.periodSeconds Period seconds for livenessProbe
  622. ## @param livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
  623. ## @param livenessProbe.failureThreshold Failure threshold for livenessProbe
  624. ## @param livenessProbe.successThreshold Success threshold for livenessProbe
  625. ##
  626. livenessProbe:
  627. enabled: true
  628. initialDelaySeconds: 30
  629. periodSeconds: 20
  630. timeoutSeconds: 10
  631. failureThreshold: 6
  632. successThreshold: 1
  633. ## MongoDB(®) pods' readiness probe. Evaluated as a template.
  634. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
  635. ## @param readinessProbe.enabled Enable readinessProbe
  636. ## @param readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
  637. ## @param readinessProbe.periodSeconds Period seconds for readinessProbe
  638. ## @param readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
  639. ## @param readinessProbe.failureThreshold Failure threshold for readinessProbe
  640. ## @param readinessProbe.successThreshold Success threshold for readinessProbe
  641. ##
  642. readinessProbe:
  643. enabled: true
  644. initialDelaySeconds: 5
  645. periodSeconds: 10
  646. timeoutSeconds: 5
  647. failureThreshold: 6
  648. successThreshold: 1
  649. ## Slow starting containers can be protected through startup probes
  650. ## Startup probes are available in Kubernetes version 1.16 and above
  651. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-startup-probes
  652. ## @param startupProbe.enabled Enable startupProbe
  653. ## @param startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
  654. ## @param startupProbe.periodSeconds Period seconds for startupProbe
  655. ## @param startupProbe.timeoutSeconds Timeout seconds for startupProbe
  656. ## @param startupProbe.failureThreshold Failure threshold for startupProbe
  657. ## @param startupProbe.successThreshold Success threshold for startupProbe
  658. ##
  659. startupProbe:
  660. enabled: false
  661. initialDelaySeconds: 5
  662. periodSeconds: 20
  663. timeoutSeconds: 10
  664. successThreshold: 1
  665. failureThreshold: 30
  666. ## @param customLivenessProbe Override default liveness probe for MongoDB(®) containers
  667. ## Ignored when livenessProbe.enabled=true
  668. ##
  669. customLivenessProbe: {}
  670. ## @param customReadinessProbe Override default readiness probe for MongoDB(®) containers
  671. ## Ignored when readinessProbe.enabled=true
  672. ##
  673. customReadinessProbe: {}
  674. ## @param customStartupProbe Override default startup probe for MongoDB(®) containers
  675. ## Ignored when startupProbe.enabled=true
  676. ##
  677. customStartupProbe: {}
  678. ## @param initContainers Add additional init containers for the hidden node pod(s)
  679. ## Example:
  680. ## initContainers:
  681. ## - name: your-image-name
  682. ## image: your-image
  683. ## imagePullPolicy: Always
  684. ## ports:
  685. ## - name: portname
  686. ## containerPort: 1234
  687. ##
  688. initContainers: []
  689. ## @param sidecars Add additional sidecar containers for the MongoDB(®) pod(s)
  690. ## Example:
  691. ## sidecars:
  692. ## - name: your-image-name
  693. ## image: your-image
  694. ## imagePullPolicy: Always
  695. ## ports:
  696. ## - name: portname
  697. ## containerPort: 1234
  698. ## This is an optional 'mongo-labeler' sidecar container that tracks replica-set for the primary mongodb pod
  699. ## and labels it dynamically with ' primary: "true" ' in order for an extra-deployed service to always expose
  700. ## and attach to the primary pod, this needs to be uncommented along with the suggested 'extraDeploy' example
  701. ## and the suggested rbac example for the pod to be allowed adding labels to mongo replica pods
  702. ## search 'mongo-labeler' through this file to find the sections that needs to be uncommented to make it work
  703. ##
  704. ## - name: mongo-labeler
  705. ## image: korenlev/k8s-mongo-labeler-sidecar
  706. ## imagePullPolicy: Always
  707. ## env:
  708. ## - name: LABEL_SELECTOR
  709. ## value: "app.kubernetes.io/component=mongodb,app.kubernetes.io/instance=mongodb,app.kubernetes.io/name=mongodb"
  710. ## - name: NAMESPACE
  711. ## value: "the-mongodb-namespace"
  712. ## - name: DEBUG
  713. ## value: "true"
  714. ##
  715. sidecars: []
  716. ## @param extraVolumeMounts Optionally specify extra list of additional volumeMounts for the MongoDB(®) container(s)
  717. ## Examples:
  718. ## extraVolumeMounts:
  719. ## - name: extras
  720. ## mountPath: /usr/share/extras
  721. ## readOnly: true
  722. ##
  723. extraVolumeMounts: []
  724. ## @param extraVolumes Optionally specify extra list of additional volumes to the MongoDB(®) statefulset
  725. ## extraVolumes:
  726. ## - name: extras
  727. ## emptyDir: {}
  728. ##
  729. extraVolumes: []
  730. ## MongoDB(®) Pod Disruption Budget configuration
  731. ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
  732. ##
  733. pdb:
  734. ## @param pdb.create Enable/disable a Pod Disruption Budget creation for MongoDB(®) pod(s)
  735. ##
  736. create: true
  737. ## @param pdb.minAvailable Minimum number/percentage of MongoDB(®) pods that must still be available after the eviction
  738. ##
  739. minAvailable: ""
  740. ## @param pdb.maxUnavailable Maximum number/percentage of MongoDB(®) pods that may be made unavailable after the eviction. Defaults to `1` if both `pdb.minAvailable` and `pdb.maxUnavailable` are empty.
  741. ##
  742. maxUnavailable: ""
  743. ## @section Traffic exposure parameters
  744. ##
  745. ## Service parameters
  746. ##
  747. service:
  748. ## @param service.nameOverride MongoDB(®) service name
  749. ##
  750. nameOverride: ""
  751. ## @param service.type Kubernetes Service type (only for standalone architecture)
  752. ##
  753. type: ClusterIP
  754. ## @param service.portName MongoDB(®) service port name (only for standalone architecture)
  755. ##
  756. portName: mongodb
  757. ## @param service.ports.mongodb MongoDB(®) service port.
  758. ##
  759. ports:
  760. mongodb: 27017
  761. ## @param service.nodePorts.mongodb Port to bind to for NodePort and LoadBalancer service types (only for standalone architecture)
  762. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
  763. ##
  764. nodePorts:
  765. mongodb: ""
  766. ## @param service.clusterIP MongoDB(®) service cluster IP (only for standalone architecture)
  767. ## e.g:
  768. ## clusterIP: None
  769. ##
  770. clusterIP: ""
  771. ## @param service.externalIPs Specify the externalIP value ClusterIP service type (only for standalone architecture)
  772. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#external-ips
  773. ##
  774. externalIPs: []
  775. ## @param service.loadBalancerIP loadBalancerIP for MongoDB(®) Service (only for standalone architecture)
  776. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer
  777. ##
  778. loadBalancerIP: ""
  779. ## @param service.loadBalancerClass loadBalancerClass for MongoDB(®) Service (only for standalone architecture)
  780. # ref: https://kubernetes.io/docs/concepts/services-networking/service/#load-balancer-class
  781. loadBalancerClass: ""
  782. ## @param service.loadBalancerSourceRanges Address(es) that are allowed when service is LoadBalancer (only for standalone architecture)
  783. ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
  784. ##
  785. loadBalancerSourceRanges: []
  786. ## @param service.allocateLoadBalancerNodePorts Wheter to allocate node ports when service type is LoadBalancer
  787. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#load-balancer-nodeport-allocation
  788. ##
  789. allocateLoadBalancerNodePorts: true
  790. ## @param service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
  791. ##
  792. extraPorts: []
  793. ## @param service.annotations Provide any additional annotations that may be required
  794. ##
  795. annotations: {}
  796. ## @param service.externalTrafficPolicy service external traffic policy (only for standalone architecture)
  797. ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
  798. ##
  799. externalTrafficPolicy: Local
  800. ## @param service.sessionAffinity Control where client requests go, to the same pod or round-robin
  801. ## Values: ClientIP or None
  802. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
  803. ##
  804. sessionAffinity: None
  805. ## @param service.sessionAffinityConfig Additional settings for the sessionAffinity
  806. ## sessionAffinityConfig:
  807. ## clientIP:
  808. ## timeoutSeconds: 300
  809. ##
  810. sessionAffinityConfig: {}
  811. ## Headless service properties
  812. ##
  813. headless:
  814. ## @param service.headless.annotations Annotations for the headless service.
  815. ##
  816. annotations: {}
  817. ## External Access to MongoDB(®) nodes configuration
  818. ##
  819. externalAccess:
  820. ## @param externalAccess.enabled Enable Kubernetes external cluster access to MongoDB(®) nodes (only for replicaset architecture)
  821. ##
  822. enabled: false
  823. ## External IPs auto-discovery configuration
  824. ## An init container is used to auto-detect LB IPs or node ports by querying the K8s API
  825. ## Note: RBAC might be required
  826. ##
  827. autoDiscovery:
  828. ## @param externalAccess.autoDiscovery.enabled Enable using an init container to auto-detect external IPs by querying the K8s API
  829. ##
  830. enabled: false
  831. ## Bitnami Kubectl image
  832. ## ref: https://hub.docker.com/r/bitnami/kubectl/tags/
  833. ## @param externalAccess.autoDiscovery.image.registry [default: REGISTRY_NAME] Init container auto-discovery image registry
  834. ## @param externalAccess.autoDiscovery.image.repository [default: REPOSITORY_NAME/kubectl] Init container auto-discovery image repository
  835. ## @skip externalAccess.autoDiscovery.image.tag Init container auto-discovery image tag (immutable tags are recommended)
  836. ## @param externalAccess.autoDiscovery.image.digest Init container auto-discovery image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
  837. ## @param externalAccess.autoDiscovery.image.pullPolicy Init container auto-discovery image pull policy
  838. ## @param externalAccess.autoDiscovery.image.pullSecrets Init container auto-discovery image pull secrets
  839. ##
  840. image:
  841. registry: docker.io
  842. repository: bitnami/kubectl
  843. tag: 1.31.1-debian-12-r2
  844. digest: ""
  845. ## Specify a imagePullPolicy
  846. ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
  847. ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
  848. ##
  849. pullPolicy: IfNotPresent
  850. ## Optionally specify an array of imagePullSecrets (secrets must be manually created in the namespace)
  851. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  852. ## Example:
  853. ## pullSecrets:
  854. ## - myRegistryKeySecretName
  855. ##
  856. pullSecrets: []
  857. ## Init Container resource requests and limits
  858. ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
  859. ## We usually recommend not to specify default resources and to leave this as a conscious
  860. ## choice for the user. This also increases chances charts run on environments with little
  861. ## resources, such as Minikube. If you do want to specify resources, uncomment the following
  862. ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  863. ## @param externalAccess.autoDiscovery.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if externalAccess.autoDiscovery.resources is set (externalAccess.autoDiscovery.resources is recommended for production).
  864. ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
  865. ##
  866. resourcesPreset: "nano"
  867. ## @param externalAccess.autoDiscovery.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
  868. ## Example:
  869. ## resources:
  870. ## requests:
  871. ## cpu: 2
  872. ## memory: 512Mi
  873. ## limits:
  874. ## cpu: 3
  875. ## memory: 1024Mi
  876. ##
  877. resources: {}
  878. ## Init container what mission is ensure public names can be resolved.
  879. ##
  880. dnsCheck:
  881. ## Bitnami os-shell image
  882. ## ref: https://hub.docker.com/r/bitnami/os-shell/tags/
  883. ## @param externalAccess.dnsCheck.image.registry [default: REGISTRY_NAME] Init container dns-check image registry
  884. ## @param externalAccess.dnsCheck.image.repository [default: REPOSITORY_NAME/kubectl] Init container dns-check image repository
  885. ## @skip externalAccess.dnsCheck.image.tag Init container dns-check image tag (immutable tags are recommended)
  886. ## @param externalAccess.dnsCheck.image.digest Init container dns-check image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
  887. ## @param externalAccess.dnsCheck.image.pullPolicy Init container dns-check image pull policy
  888. ## @param externalAccess.dnsCheck.image.pullSecrets Init container dns-check image pull secrets
  889. ##
  890. image:
  891. registry: docker.io
  892. repository: bitnami/os-shell
  893. tag: 12-debian-12-r30
  894. digest: ""
  895. ## Specify a imagePullPolicy
  896. ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
  897. ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
  898. ##
  899. pullPolicy: IfNotPresent
  900. ## Optionally specify an array of imagePullSecrets (secrets must be manually created in the namespace)
  901. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  902. ## Example:
  903. ## pullSecrets:
  904. ## - myRegistryKeySecretName
  905. ##
  906. pullSecrets: []
  907. ## Init Container resource requests and limits
  908. ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
  909. ## We usually recommend not to specify default resources and to leave this as a conscious
  910. ## choice for the user. This also increases chances charts run on environments with little
  911. ## resources, such as Minikube. If you do want to specify resources, uncomment the following
  912. ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  913. ## @param externalAccess.dnsCheck.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if externalAccess.autoDiscovery.resources is set (externalAccess.autoDiscovery.resources is recommended for production).
  914. ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
  915. ##
  916. resourcesPreset: "nano"
  917. ## @param externalAccess.dnsCheck.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
  918. ## Example:
  919. ## resources:
  920. ## requests:
  921. ## cpu: 2
  922. ## memory: 512Mi
  923. ## limits:
  924. ## cpu: 3
  925. ## memory: 1024Mi
  926. ##
  927. resources: {}
  928. ## Parameters to configure a set of Pods that connect to an existing MongoDB(®) deployment that lies outside of Kubernetes.
  929. ## @param externalAccess.externalMaster.enabled Use external master for bootstrapping
  930. ## @param externalAccess.externalMaster.host External master host to bootstrap from
  931. ## @param externalAccess.externalMaster.port Port for MongoDB(®) service external master host
  932. ##
  933. externalMaster:
  934. enabled: false
  935. host: ""
  936. port: 27017
  937. ## Parameters to configure K8s service(s) used to externally access MongoDB(®)
  938. ## A new service per broker will be created
  939. ##
  940. service:
  941. ## @param externalAccess.service.type Kubernetes Service type for external access. Allowed values: NodePort, LoadBalancer or ClusterIP
  942. ##
  943. type: LoadBalancer
  944. ## @param externalAccess.service.portName MongoDB(®) port name used for external access when service type is LoadBalancer
  945. ##
  946. portName: "mongodb"
  947. ## @param externalAccess.service.ports.mongodb MongoDB(®) port used for external access when service type is LoadBalancer
  948. ##
  949. ports:
  950. mongodb: 27017
  951. ## @param externalAccess.service.loadBalancerIPs Array of load balancer IPs for MongoDB(®) nodes
  952. ## Example:
  953. ## loadBalancerIPs:
  954. ## - X.X.X.X
  955. ## - Y.Y.Y.Y
  956. ##
  957. loadBalancerIPs: []
  958. ## @param externalAccess.service.publicNames Array of public names. The size should be equal to the number of replicas.
  959. ##
  960. publicNames: []
  961. ## @param externalAccess.service.loadBalancerClass loadBalancerClass when service type is LoadBalancer
  962. # ref: https://kubernetes.io/docs/concepts/services-networking/service/#load-balancer-class
  963. loadBalancerClass: ""
  964. ## @param externalAccess.service.loadBalancerSourceRanges Address(es) that are allowed when service is LoadBalancer
  965. ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
  966. ## Example:
  967. ## loadBalancerSourceRanges:
  968. ## - 10.10.10.0/24
  969. ##
  970. loadBalancerSourceRanges: []
  971. ## @param externalAccess.service.allocateLoadBalancerNodePorts Whether to allocate node ports when service type is LoadBalancer
  972. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#load-balancer-nodeport-allocation
  973. ##
  974. allocateLoadBalancerNodePorts: true
  975. ## @param externalAccess.service.externalTrafficPolicy MongoDB(®) service external traffic policy
  976. ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
  977. ##
  978. externalTrafficPolicy: Local
  979. ## @param externalAccess.service.nodePorts Array of node ports used to configure MongoDB(®) advertised hostname when service type is NodePort
  980. ## Example:
  981. ## nodePorts:
  982. ## - 30001
  983. ## - 30002
  984. ##
  985. nodePorts: []
  986. ## @param externalAccess.service.domain Domain or external IP used to configure MongoDB(®) advertised hostname when service type is NodePort
  987. ## If not specified, the container will try to get the kubernetes node external IP
  988. ## e.g:
  989. ## domain: mydomain.com
  990. ##
  991. domain: ""
  992. ## @param externalAccess.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
  993. ##
  994. extraPorts: []
  995. ## @param externalAccess.service.annotations Service annotations for external access. These annotations are common for all services created.
  996. ##
  997. annotations: {}
  998. ## @param externalAccess.service.annotationsList Service annotations for eache external service. This value contains a list allowing different annotations per each external service.
  999. ## Eg:
  1000. ## annotationsList:
  1001. ## - external-dns.alpha.kubernetes.io/hostname: mongodb-0.example.com
  1002. ## - external-dns.alpha.kubernetes.io/hostname: mongodb-1.example.com
  1003. ##
  1004. annotationsList: []
  1005. ## @param externalAccess.service.sessionAffinity Control where client requests go, to the same pod or round-robin
  1006. ## Values: ClientIP or None
  1007. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
  1008. ##
  1009. sessionAffinity: None
  1010. ## @param externalAccess.service.sessionAffinityConfig Additional settings for the sessionAffinity
  1011. ## sessionAffinityConfig:
  1012. ## clientIP:
  1013. ## timeoutSeconds: 300
  1014. ##
  1015. sessionAffinityConfig: {}
  1016. ## External Access to MongoDB(®) Hidden nodes configuration
  1017. ##
  1018. hidden:
  1019. ## @param externalAccess.hidden.enabled Enable Kubernetes external cluster access to MongoDB(®) hidden nodes
  1020. ##
  1021. enabled: false
  1022. ## Parameters to configure K8s service(s) used to externally access MongoDB(®)
  1023. ## A new service per broker will be created
  1024. ##
  1025. service:
  1026. ## @param externalAccess.hidden.service.type Kubernetes Service type for external access. Allowed values: NodePort or LoadBalancer
  1027. ##
  1028. type: LoadBalancer
  1029. ## @param externalAccess.hidden.service.portName MongoDB(®) port name used for external access when service type is LoadBalancer
  1030. ##
  1031. portName: "mongodb"
  1032. ## @param externalAccess.hidden.service.ports.mongodb MongoDB(®) port used for external access when service type is LoadBalancer
  1033. ##
  1034. ports:
  1035. mongodb: 27017
  1036. ## @param externalAccess.hidden.service.loadBalancerIPs Array of load balancer IPs for MongoDB(®) nodes
  1037. ## Example:
  1038. ## loadBalancerIPs:
  1039. ## - X.X.X.X
  1040. ## - Y.Y.Y.Y
  1041. ##
  1042. loadBalancerIPs: []
  1043. ## @param externalAccess.hidden.service.loadBalancerClass loadBalancerClass when service type is LoadBalancer
  1044. # ref: https://kubernetes.io/docs/concepts/services-networking/service/#load-balancer-class
  1045. loadBalancerClass: ""
  1046. ## @param externalAccess.hidden.service.loadBalancerSourceRanges Address(es) that are allowed when service is LoadBalancer
  1047. ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
  1048. ## Example:
  1049. ## loadBalancerSourceRanges:
  1050. ## - 10.10.10.0/24
  1051. ##
  1052. loadBalancerSourceRanges: []
  1053. ## @param externalAccess.hidden.service.allocateLoadBalancerNodePorts Wheter to allocate node ports when service type is LoadBalancer
  1054. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#load-balancer-nodeport-allocation
  1055. ##
  1056. allocateLoadBalancerNodePorts: true
  1057. ## @param externalAccess.hidden.service.externalTrafficPolicy MongoDB(®) service external traffic policy
  1058. ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
  1059. ##
  1060. externalTrafficPolicy: Local
  1061. ## @param externalAccess.hidden.service.nodePorts Array of node ports used to configure MongoDB(®) advertised hostname when service type is NodePort. Length must be the same as replicaCount
  1062. ## Example:
  1063. ## nodePorts:
  1064. ## - 30001
  1065. ## - 30002
  1066. ##
  1067. nodePorts: []
  1068. ## @param externalAccess.hidden.service.domain Domain or external IP used to configure MongoDB(®) advertised hostname when service type is NodePort
  1069. ## If not specified, the container will try to get the kubernetes node external IP
  1070. ## e.g:
  1071. ## domain: mydomain.com
  1072. ##
  1073. domain: ""
  1074. ## @param externalAccess.hidden.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
  1075. ##
  1076. extraPorts: []
  1077. ## @param externalAccess.hidden.service.annotations Service annotations for external access
  1078. ##
  1079. annotations: {}
  1080. ## @param externalAccess.hidden.service.sessionAffinity Control where client requests go, to the same pod or round-robin
  1081. ## Values: ClientIP or None
  1082. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
  1083. ##
  1084. sessionAffinity: None
  1085. ## @param externalAccess.hidden.service.sessionAffinityConfig Additional settings for the sessionAffinity
  1086. ## sessionAffinityConfig:
  1087. ## clientIP:
  1088. ## timeoutSeconds: 300
  1089. ##
  1090. sessionAffinityConfig: {}
  1091. ## @section Network policy parameters
  1092. ##
  1093. ## Network Policies
  1094. ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
  1095. ##
  1096. networkPolicy:
  1097. ## @param networkPolicy.enabled Specifies whether a NetworkPolicy should be created
  1098. ##
  1099. enabled: true
  1100. ## @param networkPolicy.allowExternal Don't require server label for connections
  1101. ## The Policy model to apply. When set to false, only pods with the correct
  1102. ## server label will have network access to the ports server is listening
  1103. ## on. When true, server will accept connections from any source
  1104. ## (with the correct destination port).
  1105. ##
  1106. allowExternal: true
  1107. ## @param networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
  1108. ##
  1109. allowExternalEgress: true
  1110. ## @param networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `networkPolicy.allowExternal` is true.
  1111. ##
  1112. addExternalClientAccess: true
  1113. ## @param networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
  1114. ## e.g:
  1115. ## extraIngress:
  1116. ## - ports:
  1117. ## - port: 1234
  1118. ## from:
  1119. ## - podSelector:
  1120. ## - matchLabels:
  1121. ## - role: frontend
  1122. ## - podSelector:
  1123. ## - matchExpressions:
  1124. ## - key: role
  1125. ## operator: In
  1126. ## values:
  1127. ## - frontend
  1128. extraIngress: []
  1129. ## @param networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
  1130. ## e.g:
  1131. ## extraEgress:
  1132. ## - ports:
  1133. ## - port: 1234
  1134. ## to:
  1135. ## - podSelector:
  1136. ## - matchLabels:
  1137. ## - role: frontend
  1138. ## - podSelector:
  1139. ## - matchExpressions:
  1140. ## - key: role
  1141. ## operator: In
  1142. ## values:
  1143. ## - frontend
  1144. ##
  1145. extraEgress: []
  1146. ## @param networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `networkPolicy.allowExternal` is true.
  1147. ## e.g:
  1148. ## ingressPodMatchLabels:
  1149. ## my-client: "true"
  1150. #
  1151. ingressPodMatchLabels: {}
  1152. ## @param networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `networkPolicy.allowExternal` is true.
  1153. ## @param networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `networkPolicy.allowExternal` is true.
  1154. ##
  1155. ingressNSMatchLabels: {}
  1156. ingressNSPodMatchLabels: {}
  1157. persistence:
  1158. ## @param persistence.enabled Enable MongoDB(®) data persistence using PVC
  1159. ##
  1160. enabled: true
  1161. ## @param persistence.name Name of the PVC and mounted volume
  1162. ##
  1163. name: "datadir"
  1164. ## @param persistence.medium Provide a medium for `emptyDir` volumes.
  1165. ## Requires persistence.enabled: false
  1166. ##
  1167. medium: ""
  1168. ## @param persistence.existingClaim Provide an existing `PersistentVolumeClaim` (only when `architecture=standalone`)
  1169. ## Requires persistence.enabled: true
  1170. ## If defined, PVC must be created manually before volume will be bound
  1171. ## Ignored when mongodb.architecture=replicaset
  1172. ##
  1173. existingClaim: ""
  1174. ## @param persistence.resourcePolicy Setting it to "keep" to avoid removing PVCs during a helm delete operation. Leaving it empty will delete PVCs after the chart deleted
  1175. ##
  1176. resourcePolicy: ""
  1177. ## @param persistence.storageClass PVC Storage Class for MongoDB(®) data volume
  1178. ## If defined, storageClassName: <storageClass>
  1179. ## If set to "-", storageClassName: "", which disables dynamic provisioning
  1180. ## If undefined (the default) or set to null, no storageClassName spec is
  1181. ## set, choosing the default provisioner.
  1182. ##
  1183. storageClass: ""
  1184. ## @param persistence.accessModes PV Access Mode
  1185. ##
  1186. accessModes:
  1187. - ReadWriteOnce
  1188. ## @param persistence.size PVC Storage Request for MongoDB(&reg;) data volume
  1189. ##
  1190. size: 8Gi
  1191. ## @param persistence.annotations PVC annotations
  1192. ##
  1193. annotations: {}
  1194. ## @param persistence.labels PVC labels
  1195. ##
  1196. labels: {}
  1197. ## @param persistence.mountPath Path to mount the volume at
  1198. ## MongoDB(&reg;) images.
  1199. ##
  1200. mountPath: /bitnami/mongodb
  1201. ## @param persistence.subPath Subdirectory of the volume to mount at
  1202. ## and one PV for multiple services.
  1203. ##
  1204. subPath: ""
  1205. ## Fine tuning for volumeClaimTemplates
  1206. ##
  1207. volumeClaimTemplates:
  1208. ## @param persistence.volumeClaimTemplates.selector A label query over volumes to consider for binding (e.g. when using local volumes)
  1209. ## A label query over volumes to consider for binding (e.g. when using local volumes)
  1210. ## See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#labelselector-v1-meta for more details
  1211. ##
  1212. selector: {}
  1213. ## @param persistence.volumeClaimTemplates.requests Custom PVC requests attributes
  1214. ## Sometime cloud providers use additional requests attributes to provision custom storage instance
  1215. ## See https://cloud.ibm.com/docs/containers?topic=containers-file_storage#file_dynamic_statefulset
  1216. ##
  1217. requests: {}
  1218. ## @param persistence.volumeClaimTemplates.dataSource Add dataSource to the VolumeClaimTemplate
  1219. ##
  1220. dataSource: {}
  1221. ## Persistent Volume Claim Retention Policy
  1222. ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#persistentvolumeclaim-retention
  1223. ##
  1224. persistentVolumeClaimRetentionPolicy:
  1225. ## @param persistentVolumeClaimRetentionPolicy.enabled Enable Persistent volume retention policy for MongoDB(&reg;) Statefulset
  1226. ##
  1227. enabled: false
  1228. ## @param persistentVolumeClaimRetentionPolicy.whenScaled Volume retention behavior when the replica count of the StatefulSet is reduced
  1229. ##
  1230. whenScaled: Retain
  1231. ## @param persistentVolumeClaimRetentionPolicy.whenDeleted Volume retention behavior that applies when the StatefulSet is deleted
  1232. ##
  1233. whenDeleted: Retain
  1234. ## @section Backup parameters
  1235. ## This section implements a trivial logical dump cronjob of the database.
  1236. ## This only comes with the consistency guarantees of the dump program.
  1237. ## This is not a snapshot based roll forward/backward recovery backup.
  1238. ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/
  1239. ##
  1240. backup:
  1241. ## @param backup.enabled Enable the logical dump of the database "regularly"
  1242. ##
  1243. enabled: false
  1244. ## Fine tuning cronjob's config
  1245. ##
  1246. cronjob:
  1247. ## @param backup.cronjob.schedule Set the cronjob parameter schedule
  1248. ##
  1249. schedule: "@daily"
  1250. ## @param backup.cronjob.concurrencyPolicy Set the cronjob parameter concurrencyPolicy
  1251. ##
  1252. concurrencyPolicy: Allow
  1253. ## @param backup.cronjob.failedJobsHistoryLimit Set the cronjob parameter failedJobsHistoryLimit
  1254. ##
  1255. failedJobsHistoryLimit: 1
  1256. ## @param backup.cronjob.successfulJobsHistoryLimit Set the cronjob parameter successfulJobsHistoryLimit
  1257. ##
  1258. successfulJobsHistoryLimit: 3
  1259. ## @param backup.cronjob.startingDeadlineSeconds Set the cronjob parameter startingDeadlineSeconds
  1260. ##
  1261. startingDeadlineSeconds: ""
  1262. ## @param backup.cronjob.ttlSecondsAfterFinished Set the cronjob parameter ttlSecondsAfterFinished
  1263. ##
  1264. ttlSecondsAfterFinished: ""
  1265. ## @param backup.cronjob.restartPolicy Set the cronjob parameter restartPolicy
  1266. ##
  1267. restartPolicy: OnFailure
  1268. ## @param backup.cronjob.backoffLimit Set the cronjob parameter backoffLimit
  1269. backoffLimit: 6
  1270. ## backup container's Security Context
  1271. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
  1272. ## @param backup.cronjob.containerSecurityContext.enabled Enabled containers' Security Context
  1273. ## @param backup.cronjob.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
  1274. ## @param backup.cronjob.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
  1275. ## @param backup.cronjob.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
  1276. ## @param backup.cronjob.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
  1277. ## @param backup.cronjob.containerSecurityContext.privileged Set container's Security Context privileged
  1278. ## @param backup.cronjob.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
  1279. ## @param backup.cronjob.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
  1280. ## @param backup.cronjob.containerSecurityContext.capabilities.drop List of capabilities to be dropped
  1281. ## @param backup.cronjob.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
  1282. ##
  1283. containerSecurityContext:
  1284. enabled: true
  1285. seLinuxOptions: {}
  1286. runAsUser: 1001
  1287. runAsGroup: 1001
  1288. runAsNonRoot: true
  1289. privileged: false
  1290. readOnlyRootFilesystem: true
  1291. allowPrivilegeEscalation: false
  1292. capabilities:
  1293. drop: ["ALL"]
  1294. seccompProfile:
  1295. type: "RuntimeDefault"
  1296. ## @param backup.cronjob.command Set backup container's command to run
  1297. ##
  1298. command: []
  1299. ## @param backup.cronjob.labels Set the cronjob labels
  1300. ##
  1301. labels: {}
  1302. ## @param backup.cronjob.annotations Set the cronjob annotations
  1303. ##
  1304. annotations: {}
  1305. ## Backup container's
  1306. ##
  1307. storage:
  1308. ## @param backup.cronjob.storage.existingClaim Provide an existing `PersistentVolumeClaim` (only when `architecture=standalone`)
  1309. ## If defined, PVC must be created manually before volume will be bound
  1310. ##
  1311. existingClaim: ""
  1312. ## @param backup.cronjob.storage.resourcePolicy Setting it to "keep" to avoid removing PVCs during a helm delete operation. Leaving it empty will delete PVCs after the chart deleted
  1313. ##
  1314. resourcePolicy: ""
  1315. ## @param backup.cronjob.storage.storageClass PVC Storage Class for the backup data volume
  1316. ## If defined, storageClassName: <storageClass>
  1317. ## If set to "-", storageClassName: "", which disables dynamic provisioning
  1318. ## If undefined (the default) or set to null, no storageClassName spec is
  1319. ## set, choosing the default provisioner.
  1320. ##
  1321. storageClass: ""
  1322. ## @param backup.cronjob.storage.accessModes PV Access Mode
  1323. ##
  1324. accessModes:
  1325. - ReadWriteOnce
  1326. ## @param backup.cronjob.storage.size PVC Storage Request for the backup data volume
  1327. ##
  1328. size: 8Gi
  1329. ## @param backup.cronjob.storage.annotations PVC annotations
  1330. ##
  1331. annotations: {}
  1332. ## @param backup.cronjob.storage.mountPath Path to mount the volume at
  1333. ##
  1334. mountPath: /backup/mongodb
  1335. ## @param backup.cronjob.storage.subPath Subdirectory of the volume to mount at
  1336. ## and one PV for multiple services.
  1337. ##
  1338. subPath: ""
  1339. ## Fine tuning for volumeClaimTemplates
  1340. ##
  1341. volumeClaimTemplates:
  1342. ## @param backup.cronjob.storage.volumeClaimTemplates.selector A label query over volumes to consider for binding (e.g. when using local volumes)
  1343. ## A label query over volumes to consider for binding (e.g. when using local volumes)
  1344. ## See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#labelselector-v1-meta for more details
  1345. ##
  1346. selector: {}
  1347. ## @section RBAC parameters
  1348. ##
  1349. ## ServiceAccount
  1350. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
  1351. ##
  1352. serviceAccount:
  1353. ## @param serviceAccount.create Enable creation of ServiceAccount for MongoDB(&reg;) pods
  1354. ##
  1355. create: true
  1356. ## @param serviceAccount.name Name of the created serviceAccount
  1357. ## If not set and create is true, a name is generated using the mongodb.fullname template
  1358. ##
  1359. name: ""
  1360. ## @param serviceAccount.annotations Additional Service Account annotations
  1361. ##
  1362. annotations: {}
  1363. ## @param serviceAccount.automountServiceAccountToken Allows auto mount of ServiceAccountToken on the serviceAccount created
  1364. ## Can be set to false if pods using this serviceAccount do not need to use K8s API
  1365. ##
  1366. automountServiceAccountToken: false
  1367. ## Role Based Access
  1368. ## ref: https://kubernetes.io/docs/admin/authorization/rbac/
  1369. ##
  1370. rbac:
  1371. ## @param rbac.create Whether to create & use RBAC resources or not
  1372. ## binding MongoDB(&reg;) ServiceAccount to a role
  1373. ## that allows MongoDB(&reg;) pods querying the K8s API
  1374. ## this needs to be set to 'true' to enable the mongo-labeler sidecar primary mongodb discovery
  1375. ##
  1376. create: false
  1377. ## @param rbac.rules Custom rules to create following the role specification
  1378. ## The example below needs to be uncommented to use the 'mongo-labeler' sidecar for dynamic discovery of the primary mongodb pod:
  1379. ## rules:
  1380. ## - apiGroups:
  1381. ## - ""
  1382. ## resources:
  1383. ## - pods
  1384. ## verbs:
  1385. ## - get
  1386. ## - list
  1387. ## - watch
  1388. ## - update
  1389. ##
  1390. rules: []
  1391. ## PodSecurityPolicy configuration
  1392. ## Be sure to also set rbac.create to true, otherwise Role and RoleBinding won't be created.
  1393. ## ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/
  1394. ##
  1395. podSecurityPolicy:
  1396. ## @param podSecurityPolicy.create Whether to create a PodSecurityPolicy. WARNING: PodSecurityPolicy is deprecated in Kubernetes v1.21 or later, unavailable in v1.25 or later
  1397. ##
  1398. create: false
  1399. ## @param podSecurityPolicy.allowPrivilegeEscalation Enable privilege escalation
  1400. ## Either use predefined policy with some adjustments or use `podSecurityPolicy.spec`
  1401. ##
  1402. allowPrivilegeEscalation: false
  1403. ## @param podSecurityPolicy.privileged Allow privileged
  1404. ##
  1405. privileged: false
  1406. ## @param podSecurityPolicy.spec Specify the full spec to use for Pod Security Policy
  1407. ## ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/
  1408. ## Defining a spec ignores the above values.
  1409. ##
  1410. spec: {}
  1411. ## Example:
  1412. ## allowPrivilegeEscalation: false
  1413. ## fsGroup:
  1414. ## rule: 'MustRunAs'
  1415. ## ranges:
  1416. ## - min: 1001
  1417. ## max: 1001
  1418. ## hostIPC: false
  1419. ## hostNetwork: false
  1420. ## hostPID: false
  1421. ## privileged: false
  1422. ## readOnlyRootFilesystem: true
  1423. ## requiredDropCapabilities:
  1424. ## - ALL
  1425. ## runAsUser:
  1426. ## rule: 'MustRunAs'
  1427. ## ranges:
  1428. ## - min: 1001
  1429. ## max: 1001
  1430. ## seLinux:
  1431. ## rule: 'RunAsAny'
  1432. ## supplementalGroups:
  1433. ## rule: 'MustRunAs'
  1434. ## ranges:
  1435. ## - min: 1001
  1436. ## max: 1001
  1437. ## volumes:
  1438. ## - 'configMap'
  1439. ## - 'secret'
  1440. ## - 'emptyDir'
  1441. ## - 'persistentVolumeClaim'
  1442. ##
  1443. ## @section Volume Permissions parameters
  1444. ##
  1445. ## Init Container parameters
  1446. ## Change the owner and group of the persistent volume(s) mountpoint(s) to 'runAsUser:fsGroup' on each component
  1447. ## values from the securityContext section of the component
  1448. ##
  1449. volumePermissions:
  1450. ## @param volumePermissions.enabled Enable init container that changes the owner and group of the persistent volume(s) mountpoint to `runAsUser:fsGroup`
  1451. ##
  1452. enabled: false
  1453. ## @param volumePermissions.image.registry [default: REGISTRY_NAME] Init container volume-permissions image registry
  1454. ## @param volumePermissions.image.repository [default: REPOSITORY_NAME/os-shell] Init container volume-permissions image repository
  1455. ## @skip volumePermissions.image.tag Init container volume-permissions image tag (immutable tags are recommended)
  1456. ## @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
  1457. ## @param volumePermissions.image.pullPolicy Init container volume-permissions image pull policy
  1458. ## @param volumePermissions.image.pullSecrets Specify docker-registry secret names as an array
  1459. ##
  1460. image:
  1461. registry: docker.io
  1462. repository: bitnami/os-shell
  1463. tag: 12-debian-12-r30
  1464. digest: ""
  1465. ## Specify a imagePullPolicy
  1466. ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
  1467. ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
  1468. ##
  1469. pullPolicy: IfNotPresent
  1470. ## Optionally specify an array of imagePullSecrets (secrets must be manually created in the namespace)
  1471. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  1472. ## Example:
  1473. ## pullSecrets:
  1474. ## - myRegistryKeySecretName
  1475. ##
  1476. pullSecrets: []
  1477. ## Init Container resource requests and limits
  1478. ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
  1479. ## We usually recommend not to specify default resources and to leave this as a conscious
  1480. ## choice for the user. This also increases chances charts run on environments with little
  1481. ## resources, such as Minikube. If you do want to specify resources, uncomment the following
  1482. ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  1483. ## @param volumePermissions.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if volumePermissions.resources is set (volumePermissions.resources is recommended for production).
  1484. ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
  1485. ##
  1486. resourcesPreset: "nano"
  1487. ## @param volumePermissions.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
  1488. ## Example:
  1489. ## resources:
  1490. ## requests:
  1491. ## cpu: 2
  1492. ## memory: 512Mi
  1493. ## limits:
  1494. ## cpu: 3
  1495. ## memory: 1024Mi
  1496. ##
  1497. resources: {}
  1498. ## Init container Security Context
  1499. ## Note: the chown of the data folder is done to containerSecurityContext.runAsUser
  1500. ## and not the below volumePermissions.securityContext.runAsUser
  1501. ## When runAsUser is set to special value "auto", init container will try to chwon the
  1502. ## data folder to autodetermined user&group, using commands: `id -u`:`id -G | cut -d" " -f2`
  1503. ## "auto" is especially useful for OpenShift which has scc with dynamic userids (and 0 is not allowed).
  1504. ## You may want to use this volumePermissions.securityContext.runAsUser="auto" in combination with
  1505. ## podSecurityContext.enabled=false,containerSecurityContext.enabled=false and shmVolume.chmod.enabled=false
  1506. ## @param volumePermissions.securityContext.seLinuxOptions [object,nullable] Set SELinux options in container
  1507. ## @param volumePermissions.securityContext.runAsUser User ID for the volumePermissions container
  1508. ##
  1509. securityContext:
  1510. seLinuxOptions: {}
  1511. runAsUser: 0
  1512. ## @section Arbiter parameters
  1513. ##
  1514. arbiter:
  1515. ## @param arbiter.enabled Enable deploying the arbiter
  1516. ## https://docs.mongodb.com/manual/tutorial/add-replica-set-arbiter/
  1517. ##
  1518. enabled: false
  1519. ## @param arbiter.automountServiceAccountToken Mount Service Account token in pod
  1520. ##
  1521. automountServiceAccountToken: false
  1522. ## @param arbiter.hostAliases Add deployment host aliases
  1523. ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
  1524. ##
  1525. hostAliases: []
  1526. ## @param arbiter.configuration Arbiter configuration file to be used
  1527. ## http://docs.mongodb.org/manual/reference/configuration-options/
  1528. ##
  1529. configuration: ""
  1530. ## @param arbiter.existingConfigmap Name of existing ConfigMap with Arbiter configuration
  1531. ## NOTE: When it's set the arbiter.configuration parameter is ignored
  1532. ##
  1533. existingConfigmap: ""
  1534. ## Command and args for running the container (set to default if not set). Use array form
  1535. ## @param arbiter.command Override default container command (useful when using custom images)
  1536. ## @param arbiter.args Override default container args (useful when using custom images)
  1537. ##
  1538. command: []
  1539. args: []
  1540. ## @param arbiter.extraFlags Arbiter additional command line flags
  1541. ## Example:
  1542. ## extraFlags:
  1543. ## - "--wiredTigerCacheSizeGB=2"
  1544. ##
  1545. extraFlags: []
  1546. ## @param arbiter.extraEnvVars Extra environment variables to add to Arbiter pods
  1547. ## E.g:
  1548. ## extraEnvVars:
  1549. ## - name: FOO
  1550. ## value: BAR
  1551. ##
  1552. extraEnvVars: []
  1553. ## @param arbiter.extraEnvVarsCM Name of existing ConfigMap containing extra env vars
  1554. ##
  1555. extraEnvVarsCM: ""
  1556. ## @param arbiter.extraEnvVarsSecret Name of existing Secret containing extra env vars (in case of sensitive data)
  1557. ##
  1558. extraEnvVarsSecret: ""
  1559. ## @param arbiter.annotations Additional labels to be added to the Arbiter statefulset
  1560. ##
  1561. annotations: {}
  1562. ## @param arbiter.labels Annotations to be added to the Arbiter statefulset
  1563. ##
  1564. labels: {}
  1565. ## @param arbiter.topologySpreadConstraints MongoDB(&reg;) Spread Constraints for arbiter Pods
  1566. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
  1567. ##
  1568. topologySpreadConstraints: []
  1569. ## @param arbiter.lifecycleHooks LifecycleHook for the Arbiter container to automate configuration before or after startup
  1570. ##
  1571. lifecycleHooks: {}
  1572. ## @param arbiter.terminationGracePeriodSeconds Arbiter Termination Grace Period
  1573. ##
  1574. terminationGracePeriodSeconds: ""
  1575. ## @param arbiter.updateStrategy.type Strategy that will be employed to update Pods in the StatefulSet
  1576. ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
  1577. ## updateStrategy:
  1578. ## type: RollingUpdate
  1579. ## rollingUpdate:
  1580. ## maxSurge: 25%
  1581. ## maxUnavailable: 25%
  1582. ##
  1583. updateStrategy:
  1584. type: RollingUpdate
  1585. ## @param arbiter.podManagementPolicy Pod management policy for MongoDB(&reg;)
  1586. ## Should be initialized one by one when building the replicaset for the first time
  1587. ##
  1588. podManagementPolicy: OrderedReady
  1589. ## @param arbiter.schedulerName Name of the scheduler (other than default) to dispatch pods
  1590. ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  1591. ##
  1592. schedulerName: ""
  1593. ## @param arbiter.podAffinityPreset Arbiter Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
  1594. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  1595. ##
  1596. podAffinityPreset: ""
  1597. ## @param arbiter.podAntiAffinityPreset Arbiter Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
  1598. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  1599. ##
  1600. podAntiAffinityPreset: soft
  1601. ## Node affinity preset
  1602. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
  1603. ##
  1604. nodeAffinityPreset:
  1605. ## @param arbiter.nodeAffinityPreset.type Arbiter Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
  1606. ##
  1607. type: ""
  1608. ## @param arbiter.nodeAffinityPreset.key Arbiter Node label key to match Ignored if `affinity` is set.
  1609. ## E.g.
  1610. ## key: "kubernetes.io/e2e-az-name"
  1611. ##
  1612. key: ""
  1613. ## @param arbiter.nodeAffinityPreset.values Arbiter Node label values to match. Ignored if `affinity` is set.
  1614. ## E.g.
  1615. ## values:
  1616. ## - e2e-az1
  1617. ## - e2e-az2
  1618. ##
  1619. values: []
  1620. ## @param arbiter.affinity Arbiter Affinity for pod assignment
  1621. ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
  1622. ## Note: arbiter.podAffinityPreset, arbiter.podAntiAffinityPreset, and arbiter.nodeAffinityPreset will be ignored when it's set
  1623. ##
  1624. affinity: {}
  1625. ## @param arbiter.nodeSelector Arbiter Node labels for pod assignment
  1626. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
  1627. ##
  1628. nodeSelector: {}
  1629. ## @param arbiter.tolerations Arbiter Tolerations for pod assignment
  1630. ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  1631. ##
  1632. tolerations: []
  1633. ## @param arbiter.podLabels Arbiter pod labels
  1634. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  1635. ##
  1636. podLabels: {}
  1637. ## @param arbiter.podAnnotations Arbiter Pod annotations
  1638. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  1639. ##
  1640. podAnnotations: {}
  1641. ## @param arbiter.priorityClassName Name of the existing priority class to be used by Arbiter pod(s)
  1642. ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
  1643. ##
  1644. priorityClassName: ""
  1645. ## @param arbiter.runtimeClassName Name of the runtime class to be used by Arbiter pod(s)
  1646. ## ref: https://kubernetes.io/docs/concepts/containers/runtime-class/
  1647. ##
  1648. runtimeClassName: ""
  1649. ## MongoDB(&reg;) Arbiter pods' Security Context.
  1650. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
  1651. ## @param arbiter.podSecurityContext.enabled Enable Arbiter pod(s)' Security Context
  1652. ## @param arbiter.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
  1653. ## @param arbiter.podSecurityContext.supplementalGroups Set filesystem extra groups
  1654. ## @param arbiter.podSecurityContext.fsGroup Group ID for the volumes of the Arbiter pod(s)
  1655. ## @param arbiter.podSecurityContext.sysctls sysctl settings of the Arbiter pod(s)'
  1656. ##
  1657. podSecurityContext:
  1658. enabled: true
  1659. fsGroupChangePolicy: Always
  1660. supplementalGroups: []
  1661. fsGroup: 1001
  1662. ## sysctl settings
  1663. ## Example:
  1664. ## sysctls:
  1665. ## - name: net.core.somaxconn
  1666. ## value: "10000"
  1667. ##
  1668. sysctls: []
  1669. ## MongoDB(&reg;) Arbiter containers' Security Context (only main container).
  1670. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
  1671. ## @param arbiter.containerSecurityContext.enabled Enabled containers' Security Context
  1672. ## @param arbiter.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
  1673. ## @param arbiter.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
  1674. ## @param arbiter.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
  1675. ## @param arbiter.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
  1676. ## @param arbiter.containerSecurityContext.privileged Set container's Security Context privileged
  1677. ## @param arbiter.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
  1678. ## @param arbiter.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
  1679. ## @param arbiter.containerSecurityContext.capabilities.drop List of capabilities to be dropped
  1680. ## @param arbiter.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
  1681. ##
  1682. containerSecurityContext:
  1683. enabled: true
  1684. seLinuxOptions: {}
  1685. runAsUser: 1001
  1686. runAsGroup: 1001
  1687. runAsNonRoot: true
  1688. privileged: false
  1689. readOnlyRootFilesystem: true
  1690. allowPrivilegeEscalation: false
  1691. capabilities:
  1692. drop: ["ALL"]
  1693. seccompProfile:
  1694. type: "RuntimeDefault"
  1695. ## MongoDB(&reg;) Arbiter containers' resource requests and limits.
  1696. ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
  1697. ## We usually recommend not to specify default resources and to leave this as a conscious
  1698. ## choice for the user. This also increases chances charts run on environments with little
  1699. ## resources, such as Minikube. If you do want to specify resources, uncomment the following
  1700. ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  1701. ## @param arbiter.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if arbiter.resources is set (arbiter.resources is recommended for production).
  1702. ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
  1703. ##
  1704. resourcesPreset: "small"
  1705. ## @param arbiter.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
  1706. ## Example:
  1707. ## resources:
  1708. ## requests:
  1709. ## cpu: 2
  1710. ## memory: 512Mi
  1711. ## limits:
  1712. ## cpu: 3
  1713. ## memory: 1024Mi
  1714. ##
  1715. resources: {}
  1716. ## @param arbiter.containerPorts.mongodb MongoDB(&reg;) arbiter container port
  1717. ##
  1718. containerPorts:
  1719. mongodb: 27017
  1720. ## MongoDB(&reg;) Arbiter pods' liveness probe. Evaluated as a template.
  1721. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
  1722. ## @param arbiter.livenessProbe.enabled Enable livenessProbe
  1723. ## @param arbiter.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
  1724. ## @param arbiter.livenessProbe.periodSeconds Period seconds for livenessProbe
  1725. ## @param arbiter.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
  1726. ## @param arbiter.livenessProbe.failureThreshold Failure threshold for livenessProbe
  1727. ## @param arbiter.livenessProbe.successThreshold Success threshold for livenessProbe
  1728. ##
  1729. livenessProbe:
  1730. enabled: true
  1731. initialDelaySeconds: 30
  1732. periodSeconds: 20
  1733. timeoutSeconds: 10
  1734. failureThreshold: 6
  1735. successThreshold: 1
  1736. ## MongoDB(&reg;) Arbiter pods' readiness probe. Evaluated as a template.
  1737. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
  1738. ## @param arbiter.readinessProbe.enabled Enable readinessProbe
  1739. ## @param arbiter.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
  1740. ## @param arbiter.readinessProbe.periodSeconds Period seconds for readinessProbe
  1741. ## @param arbiter.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
  1742. ## @param arbiter.readinessProbe.failureThreshold Failure threshold for readinessProbe
  1743. ## @param arbiter.readinessProbe.successThreshold Success threshold for readinessProbe
  1744. ##
  1745. readinessProbe:
  1746. enabled: true
  1747. initialDelaySeconds: 5
  1748. periodSeconds: 20
  1749. timeoutSeconds: 10
  1750. failureThreshold: 6
  1751. successThreshold: 1
  1752. ## MongoDB(&reg;) Arbiter pods' startup probe. Evaluated as a template.
  1753. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
  1754. ## @param arbiter.startupProbe.enabled Enable startupProbe
  1755. ## @param arbiter.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
  1756. ## @param arbiter.startupProbe.periodSeconds Period seconds for startupProbe
  1757. ## @param arbiter.startupProbe.timeoutSeconds Timeout seconds for startupProbe
  1758. ## @param arbiter.startupProbe.failureThreshold Failure threshold for startupProbe
  1759. ## @param arbiter.startupProbe.successThreshold Success threshold for startupProbe
  1760. ##
  1761. startupProbe:
  1762. enabled: false
  1763. initialDelaySeconds: 5
  1764. periodSeconds: 10
  1765. timeoutSeconds: 5
  1766. successThreshold: 1
  1767. failureThreshold: 30
  1768. ## @param arbiter.customLivenessProbe Override default liveness probe for Arbiter containers
  1769. ## Ignored when arbiter.livenessProbe.enabled=true
  1770. ##
  1771. customLivenessProbe: {}
  1772. ## @param arbiter.customReadinessProbe Override default readiness probe for Arbiter containers
  1773. ## Ignored when arbiter.readinessProbe.enabled=true
  1774. ##
  1775. customReadinessProbe: {}
  1776. ## @param arbiter.customStartupProbe Override default startup probe for Arbiter containers
  1777. ## Ignored when arbiter.startupProbe.enabled=true
  1778. ##
  1779. customStartupProbe: {}
  1780. ## @param arbiter.initContainers Add additional init containers for the Arbiter pod(s)
  1781. ## Example:
  1782. ## initContainers:
  1783. ## - name: your-image-name
  1784. ## image: your-image
  1785. ## imagePullPolicy: Always
  1786. ## ports:
  1787. ## - name: portname
  1788. ## containerPort: 1234
  1789. ##
  1790. initContainers: []
  1791. ## @param arbiter.sidecars Add additional sidecar containers for the Arbiter pod(s)
  1792. ## Example:
  1793. ## sidecars:
  1794. ## - name: your-image-name
  1795. ## image: your-image
  1796. ## imagePullPolicy: Always
  1797. ## ports:
  1798. ## - name: portname
  1799. ## containerPort: 1234
  1800. ##
  1801. sidecars: []
  1802. ## @param arbiter.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Arbiter container(s)
  1803. ## Examples:
  1804. ## extraVolumeMounts:
  1805. ## - name: extras
  1806. ## mountPath: /usr/share/extras
  1807. ## readOnly: true
  1808. ##
  1809. extraVolumeMounts: []
  1810. ## @param arbiter.extraVolumes Optionally specify extra list of additional volumes to the Arbiter statefulset
  1811. ## extraVolumes:
  1812. ## - name: extras
  1813. ## emptyDir: {}
  1814. ##
  1815. extraVolumes: []
  1816. ## MongoDB(&reg;) Arbiter Pod Disruption Budget configuration
  1817. ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
  1818. ##
  1819. pdb:
  1820. ## @param arbiter.pdb.create Enable/disable a Pod Disruption Budget creation for Arbiter pod(s)
  1821. ##
  1822. create: true
  1823. ## @param arbiter.pdb.minAvailable Minimum number/percentage of Arbiter pods that should remain scheduled
  1824. ##
  1825. minAvailable: ""
  1826. ## @param arbiter.pdb.maxUnavailable Maximum number/percentage of Arbiter pods that may be made unavailable. Defaults to `1` if both `arbiter.pdb.minAvailable` and `arbiter.pdb.maxUnavailable` are empty.
  1827. ##
  1828. maxUnavailable: ""
  1829. ## MongoDB(&reg;) Arbiter service parameters
  1830. ##
  1831. service:
  1832. ## @param arbiter.service.nameOverride The arbiter service name
  1833. ##
  1834. nameOverride: ""
  1835. ## @param arbiter.service.ports.mongodb MongoDB(&reg;) service port
  1836. ##
  1837. ports:
  1838. mongodb: 27017
  1839. ## @param arbiter.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
  1840. ##
  1841. extraPorts: []
  1842. ## @param arbiter.service.annotations Provide any additional annotations that may be required
  1843. ##
  1844. annotations: {}
  1845. ## Headless service properties
  1846. ##
  1847. headless:
  1848. ## @param arbiter.service.headless.annotations Annotations for the headless service.
  1849. ##
  1850. annotations: {}
  1851. ## @section Hidden Node parameters
  1852. ##
  1853. hidden:
  1854. ## @param hidden.enabled Enable deploying the hidden nodes
  1855. ## https://docs.mongodb.com/manual/tutorial/configure-a-hidden-replica-set-member/
  1856. ##
  1857. enabled: false
  1858. ## @param hidden.automountServiceAccountToken Mount Service Account token in pod
  1859. ##
  1860. automountServiceAccountToken: false
  1861. ## @param hidden.hostAliases Add deployment host aliases
  1862. ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
  1863. ##
  1864. hostAliases: []
  1865. ## @param hidden.configuration Hidden node configuration file to be used
  1866. ## http://docs.mongodb.org/manual/reference/configuration-options/
  1867. ##
  1868. configuration: ""
  1869. ## @param hidden.existingConfigmap Name of existing ConfigMap with Hidden node configuration
  1870. ## NOTE: When it's set the hidden.configuration parameter is ignored
  1871. ##
  1872. existingConfigmap: ""
  1873. ## Command and args for running the container (set to default if not set). Use array form
  1874. ## @param hidden.command Override default container command (useful when using custom images)
  1875. ## @param hidden.args Override default container args (useful when using custom images)
  1876. ##
  1877. command: []
  1878. args: []
  1879. ## @param hidden.extraFlags Hidden node additional command line flags
  1880. ## Example:
  1881. ## extraFlags:
  1882. ## - "--wiredTigerCacheSizeGB=2"
  1883. ##
  1884. extraFlags: []
  1885. ## @param hidden.extraEnvVars Extra environment variables to add to Hidden node pods
  1886. ## E.g:
  1887. ## extraEnvVars:
  1888. ## - name: FOO
  1889. ## value: BAR
  1890. ##
  1891. extraEnvVars: []
  1892. ## @param hidden.extraEnvVarsCM Name of existing ConfigMap containing extra env vars
  1893. ##
  1894. extraEnvVarsCM: ""
  1895. ## @param hidden.extraEnvVarsSecret Name of existing Secret containing extra env vars (in case of sensitive data)
  1896. ##
  1897. extraEnvVarsSecret: ""
  1898. ## @param hidden.annotations Additional labels to be added to thehidden node statefulset
  1899. ##
  1900. annotations: {}
  1901. ## @param hidden.labels Annotations to be added to the hidden node statefulset
  1902. ##
  1903. labels: {}
  1904. ## @param hidden.topologySpreadConstraints MongoDB(&reg;) Spread Constraints for hidden Pods
  1905. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
  1906. ##
  1907. topologySpreadConstraints: []
  1908. ## @param hidden.lifecycleHooks LifecycleHook for the Hidden container to automate configuration before or after startup
  1909. ##
  1910. lifecycleHooks: {}
  1911. ## @param hidden.replicaCount Number of hidden nodes (only when `architecture=replicaset`)
  1912. ## Ignored when mongodb.architecture=standalone
  1913. ##
  1914. replicaCount: 1
  1915. ## @param hidden.terminationGracePeriodSeconds Hidden Termination Grace Period
  1916. ##
  1917. terminationGracePeriodSeconds: ""
  1918. ## @param hidden.updateStrategy.type Strategy that will be employed to update Pods in the StatefulSet
  1919. ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
  1920. ## updateStrategy:
  1921. ## type: RollingUpdate
  1922. ## rollingUpdate:
  1923. ## maxSurge: 25%
  1924. ## maxUnavailable: 25%
  1925. ##
  1926. updateStrategy:
  1927. type: RollingUpdate
  1928. ## @param hidden.podManagementPolicy Pod management policy for hidden node
  1929. ##
  1930. podManagementPolicy: OrderedReady
  1931. ## @param hidden.schedulerName Name of the scheduler (other than default) to dispatch pods
  1932. ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  1933. ##
  1934. schedulerName: ""
  1935. ## @param hidden.podAffinityPreset Hidden node Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
  1936. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  1937. ##
  1938. podAffinityPreset: ""
  1939. ## @param hidden.podAntiAffinityPreset Hidden node Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
  1940. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  1941. ##
  1942. podAntiAffinityPreset: soft
  1943. ## Node affinity preset
  1944. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
  1945. ## Allowed values: soft, hard
  1946. ##
  1947. nodeAffinityPreset:
  1948. ## @param hidden.nodeAffinityPreset.type Hidden Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
  1949. ##
  1950. type: ""
  1951. ## @param hidden.nodeAffinityPreset.key Hidden Node label key to match Ignored if `affinity` is set.
  1952. ## E.g.
  1953. ## key: "kubernetes.io/e2e-az-name"
  1954. ##
  1955. key: ""
  1956. ## @param hidden.nodeAffinityPreset.values Hidden Node label values to match. Ignored if `affinity` is set.
  1957. ## E.g.
  1958. ## values:
  1959. ## - e2e-az1
  1960. ## - e2e-az2
  1961. ##
  1962. values: []
  1963. ## @param hidden.affinity Hidden node Affinity for pod assignment
  1964. ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
  1965. ## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
  1966. ##
  1967. affinity: {}
  1968. ## @param hidden.nodeSelector Hidden node Node labels for pod assignment
  1969. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
  1970. ##
  1971. nodeSelector: {}
  1972. ## @param hidden.tolerations Hidden node Tolerations for pod assignment
  1973. ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  1974. ##
  1975. tolerations: []
  1976. ## @param hidden.podLabels Hidden node pod labels
  1977. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  1978. ##
  1979. podLabels: {}
  1980. ## @param hidden.podAnnotations Hidden node Pod annotations
  1981. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  1982. ##
  1983. podAnnotations: {}
  1984. ## @param hidden.priorityClassName Name of the existing priority class to be used by hidden node pod(s)
  1985. ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
  1986. ##
  1987. priorityClassName: ""
  1988. ## @param hidden.runtimeClassName Name of the runtime class to be used by hidden node pod(s)
  1989. ## ref: https://kubernetes.io/docs/concepts/containers/runtime-class/
  1990. ##
  1991. runtimeClassName: ""
  1992. ## MongoDB(&reg;) Hidden pods' Security Context.
  1993. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
  1994. ## @param hidden.podSecurityContext.enabled Enable Hidden pod(s)' Security Context
  1995. ## @param hidden.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
  1996. ## @param hidden.podSecurityContext.supplementalGroups Set filesystem extra groups
  1997. ## @param hidden.podSecurityContext.fsGroup Group ID for the volumes of the Hidden pod(s)
  1998. ## @param hidden.podSecurityContext.sysctls sysctl settings of the Hidden pod(s)'
  1999. ##
  2000. podSecurityContext:
  2001. enabled: true
  2002. fsGroupChangePolicy: Always
  2003. supplementalGroups: []
  2004. fsGroup: 1001
  2005. ## sysctl settings
  2006. ## Example:
  2007. ## sysctls:
  2008. ## - name: net.core.somaxconn
  2009. ## value: "10000"
  2010. ##
  2011. sysctls: []
  2012. ## MongoDB(&reg;) Hidden containers' Security Context (only main container).
  2013. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
  2014. ## @param hidden.containerSecurityContext.enabled Enabled containers' Security Context
  2015. ## @param hidden.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
  2016. ## @param hidden.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
  2017. ## @param hidden.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
  2018. ## @param hidden.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
  2019. ## @param hidden.containerSecurityContext.privileged Set container's Security Context privileged
  2020. ## @param hidden.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
  2021. ## @param hidden.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
  2022. ## @param hidden.containerSecurityContext.capabilities.drop List of capabilities to be dropped
  2023. ## @param hidden.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
  2024. ##
  2025. containerSecurityContext:
  2026. enabled: true
  2027. seLinuxOptions: {}
  2028. runAsUser: 1001
  2029. runAsGroup: 1001
  2030. runAsNonRoot: true
  2031. privileged: false
  2032. readOnlyRootFilesystem: true
  2033. allowPrivilegeEscalation: false
  2034. capabilities:
  2035. drop: ["ALL"]
  2036. seccompProfile:
  2037. type: "RuntimeDefault"
  2038. ## MongoDB(&reg;) Hidden containers' resource requests and limits.
  2039. ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
  2040. ## We usually recommend not to specify default resources and to leave this as a conscious
  2041. ## choice for the user. This also increases chances charts run on environments with little
  2042. ## resources, such as Minikube. If you do want to specify resources, uncomment the following
  2043. ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  2044. ## @param hidden.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if hidden.resources is set (hidden.resources is recommended for production).
  2045. ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
  2046. ##
  2047. resourcesPreset: "micro"
  2048. ## @param hidden.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
  2049. ## Example:
  2050. ## resources:
  2051. ## requests:
  2052. ## cpu: 2
  2053. ## memory: 512Mi
  2054. ## limits:
  2055. ## cpu: 3
  2056. ## memory: 1024Mi
  2057. ##
  2058. resources: {}
  2059. ## @param hidden.containerPorts.mongodb MongoDB(&reg;) hidden container port
  2060. ##
  2061. containerPorts:
  2062. mongodb: 27017
  2063. ## MongoDB(&reg;) Hidden pods' liveness probe. Evaluated as a template.
  2064. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
  2065. ## @param hidden.livenessProbe.enabled Enable livenessProbe
  2066. ## @param hidden.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
  2067. ## @param hidden.livenessProbe.periodSeconds Period seconds for livenessProbe
  2068. ## @param hidden.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
  2069. ## @param hidden.livenessProbe.failureThreshold Failure threshold for livenessProbe
  2070. ## @param hidden.livenessProbe.successThreshold Success threshold for livenessProbe
  2071. ##
  2072. livenessProbe:
  2073. enabled: true
  2074. initialDelaySeconds: 30
  2075. periodSeconds: 20
  2076. timeoutSeconds: 10
  2077. failureThreshold: 6
  2078. successThreshold: 1
  2079. ## MongoDB(&reg;) Hidden pods' readiness probe. Evaluated as a template.
  2080. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
  2081. ## @param hidden.readinessProbe.enabled Enable readinessProbe
  2082. ## @param hidden.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
  2083. ## @param hidden.readinessProbe.periodSeconds Period seconds for readinessProbe
  2084. ## @param hidden.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
  2085. ## @param hidden.readinessProbe.failureThreshold Failure threshold for readinessProbe
  2086. ## @param hidden.readinessProbe.successThreshold Success threshold for readinessProbe
  2087. ##
  2088. readinessProbe:
  2089. enabled: true
  2090. initialDelaySeconds: 5
  2091. periodSeconds: 20
  2092. timeoutSeconds: 10
  2093. failureThreshold: 6
  2094. successThreshold: 1
  2095. ## Slow starting containers can be protected through startup probes
  2096. ## Startup probes are available in Kubernetes version 1.16 and above
  2097. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-startup-probes
  2098. ## @param hidden.startupProbe.enabled Enable startupProbe
  2099. ## @param hidden.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
  2100. ## @param hidden.startupProbe.periodSeconds Period seconds for startupProbe
  2101. ## @param hidden.startupProbe.timeoutSeconds Timeout seconds for startupProbe
  2102. ## @param hidden.startupProbe.failureThreshold Failure threshold for startupProbe
  2103. ## @param hidden.startupProbe.successThreshold Success threshold for startupProbe
  2104. ##
  2105. startupProbe:
  2106. enabled: false
  2107. initialDelaySeconds: 5
  2108. periodSeconds: 10
  2109. timeoutSeconds: 5
  2110. successThreshold: 1
  2111. failureThreshold: 30
  2112. ## @param hidden.customLivenessProbe Override default liveness probe for hidden node containers
  2113. ## Ignored when hidden.livenessProbe.enabled=true
  2114. ##
  2115. customLivenessProbe: {}
  2116. ## @param hidden.customReadinessProbe Override default readiness probe for hidden node containers
  2117. ## Ignored when hidden.readinessProbe.enabled=true
  2118. ##
  2119. customReadinessProbe: {}
  2120. ## @param hidden.customStartupProbe Override default startup probe for MongoDB(&reg;) containers
  2121. ## Ignored when hidden.startupProbe.enabled=true
  2122. ##
  2123. customStartupProbe: {}
  2124. ## @param hidden.initContainers Add init containers to the MongoDB(&reg;) Hidden pods.
  2125. ## Example:
  2126. ## initContainers:
  2127. ## - name: your-image-name
  2128. ## image: your-image
  2129. ## imagePullPolicy: Always
  2130. ## ports:
  2131. ## - name: portname
  2132. ## containerPort: 1234
  2133. ##
  2134. initContainers: []
  2135. ## @param hidden.sidecars Add additional sidecar containers for the hidden node pod(s)
  2136. ## Example:
  2137. ## sidecars:
  2138. ## - name: your-image-name
  2139. ## image: your-image
  2140. ## imagePullPolicy: Always
  2141. ## ports:
  2142. ## - name: portname
  2143. ## containerPort: 1234
  2144. ##
  2145. sidecars: []
  2146. ## @param hidden.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the hidden node container(s)
  2147. ## Examples:
  2148. ## extraVolumeMounts:
  2149. ## - name: extras
  2150. ## mountPath: /usr/share/extras
  2151. ## readOnly: true
  2152. ##
  2153. extraVolumeMounts: []
  2154. ## @param hidden.extraVolumes Optionally specify extra list of additional volumes to the hidden node statefulset
  2155. ## extraVolumes:
  2156. ## - name: extras
  2157. ## emptyDir: {}
  2158. ##
  2159. extraVolumes: []
  2160. ## MongoDB(&reg;) Hidden Pod Disruption Budget configuration
  2161. ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
  2162. ##
  2163. pdb:
  2164. ## @param hidden.pdb.create Enable/disable a Pod Disruption Budget creation for hidden node pod(s)
  2165. ##
  2166. create: true
  2167. ## @param hidden.pdb.minAvailable Minimum number/percentage of hidden node pods that should remain scheduled
  2168. ##
  2169. minAvailable: ""
  2170. ## @param hidden.pdb.maxUnavailable Maximum number/percentage of hidden node pods that may be made unavailable. Defaults to `1` if both `hidden.pdb.minAvailable` and `hidden.pdb.maxUnavailable` are empty.
  2171. ##
  2172. maxUnavailable: ""
  2173. ## Enable persistence using Persistent Volume Claims
  2174. ## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
  2175. ##
  2176. persistence:
  2177. ## @param hidden.persistence.enabled Enable hidden node data persistence using PVC
  2178. ##
  2179. enabled: true
  2180. ## @param hidden.persistence.medium Provide a medium for `emptyDir` volumes.
  2181. ## Requires hidden.persistence.enabled: false
  2182. ##
  2183. medium: ""
  2184. ## @param hidden.persistence.storageClass PVC Storage Class for hidden node data volume
  2185. ## If defined, storageClassName: <storageClass>
  2186. ## If set to "-", storageClassName: "", which disables dynamic provisioning
  2187. ## If undefined (the default) or set to null, no storageClassName spec is
  2188. ## set, choosing the default provisioner.
  2189. ##
  2190. storageClass: ""
  2191. ## @param hidden.persistence.accessModes PV Access Mode
  2192. ##
  2193. accessModes:
  2194. - ReadWriteOnce
  2195. ## @param hidden.persistence.size PVC Storage Request for hidden node data volume
  2196. ##
  2197. size: 8Gi
  2198. ## @param hidden.persistence.annotations PVC annotations
  2199. ##
  2200. annotations: {}
  2201. ## @param hidden.persistence.mountPath The path the volume will be mounted at, useful when using different MongoDB(&reg;) images.
  2202. ##
  2203. mountPath: /bitnami/mongodb
  2204. ## @param hidden.persistence.subPath The subdirectory of the volume to mount to, useful in dev environments
  2205. ## and one PV for multiple services.
  2206. ##
  2207. subPath: ""
  2208. ## Fine tuning for volumeClaimTemplates
  2209. ##
  2210. volumeClaimTemplates:
  2211. ## @param hidden.persistence.volumeClaimTemplates.selector A label query over volumes to consider for binding (e.g. when using local volumes)
  2212. ## See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#labelselector-v1-meta for more details
  2213. ##
  2214. selector: {}
  2215. ## @param hidden.persistence.volumeClaimTemplates.requests Custom PVC requests attributes
  2216. ## Sometime cloud providers use additional requests attributes to provision custom storage instance
  2217. ## See https://cloud.ibm.com/docs/containers?topic=containers-file_storage#file_dynamic_statefulset
  2218. ##
  2219. requests: {}
  2220. ## @param hidden.persistence.volumeClaimTemplates.dataSource Set volumeClaimTemplate dataSource
  2221. ##
  2222. dataSource: {}
  2223. service:
  2224. ## @param hidden.service.portName MongoDB(&reg;) service port name
  2225. ##
  2226. portName: "mongodb"
  2227. ## @param hidden.service.ports.mongodb MongoDB(&reg;) service port
  2228. ##
  2229. ports:
  2230. mongodb: 27017
  2231. ## @param hidden.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
  2232. ##
  2233. extraPorts: []
  2234. ## @param hidden.service.annotations Provide any additional annotations that may be required
  2235. ##
  2236. annotations: {}
  2237. ## Headless service properties
  2238. ##
  2239. headless:
  2240. ## @param hidden.service.headless.annotations Annotations for the headless service.
  2241. ##
  2242. annotations: {}
  2243. ## @section Metrics parameters
  2244. ##
  2245. metrics:
  2246. ## @param metrics.enabled Enable using a sidecar Prometheus exporter
  2247. ##
  2248. enabled: false
  2249. ## Bitnami MongoDB(&reg;) Promtheus Exporter image
  2250. ## ref: https://hub.docker.com/r/bitnami/mongodb-exporter/tags/
  2251. ## @param metrics.image.registry [default: REGISTRY_NAME] MongoDB(&reg;) Prometheus exporter image registry
  2252. ## @param metrics.image.repository [default: REPOSITORY_NAME/mongodb-exporter] MongoDB(&reg;) Prometheus exporter image repository
  2253. ## @skip metrics.image.tag MongoDB(&reg;) Prometheus exporter image tag (immutable tags are recommended)
  2254. ## @param metrics.image.digest MongoDB(&reg;) image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
  2255. ## @param metrics.image.pullPolicy MongoDB(&reg;) Prometheus exporter image pull policy
  2256. ## @param metrics.image.pullSecrets Specify docker-registry secret names as an array
  2257. ##
  2258. image:
  2259. registry: docker.io
  2260. repository: bitnami/mongodb-exporter
  2261. tag: 0.41.0-debian-12-r0
  2262. digest: ""
  2263. pullPolicy: IfNotPresent
  2264. ## Optionally specify an array of imagePullSecrets.
  2265. ## Secrets must be manually created in the namespace.
  2266. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  2267. ## e.g:
  2268. ## pullSecrets:
  2269. ## - myRegistryKeySecretName
  2270. ##
  2271. pullSecrets: []
  2272. ## @param metrics.username String with username for the metrics exporter
  2273. ## If undefined the root user will be used for the metrics exporter
  2274. ##
  2275. username: ""
  2276. ## @param metrics.password String with password for the metrics exporter
  2277. ## If undefined but metrics.username is defined, a random password will be generated
  2278. ##
  2279. password: ""
  2280. ## @param metrics.compatibleMode Enables old style mongodb-exporter metrics
  2281. compatibleMode: true
  2282. collector:
  2283. ## @param metrics.collector.all Enable all collectors. Same as enabling all individual metrics
  2284. ## Enabling all metrics will cause significant CPU load on mongod
  2285. all: false
  2286. ## @param metrics.collector.diagnosticdata Boolean Enable collecting metrics from getDiagnosticData
  2287. diagnosticdata: true
  2288. ## @param metrics.collector.replicasetstatus Boolean Enable collecting metrics from replSetGetStatus
  2289. replicasetstatus: true
  2290. ## @param metrics.collector.dbstats Boolean Enable collecting metrics from dbStats
  2291. dbstats: false
  2292. ## @param metrics.collector.topmetrics Boolean Enable collecting metrics from top admin command
  2293. topmetrics: false
  2294. ## @param metrics.collector.indexstats Boolean Enable collecting metrics from $indexStats
  2295. indexstats: false
  2296. ## @param metrics.collector.collstats Boolean Enable collecting metrics from $collStats
  2297. collstats: false
  2298. ## @param metrics.collector.collstatsColls List of \<databases\>.\<collections\> to get $collStats
  2299. collstatsColls: []
  2300. ## @param metrics.collector.indexstatsColls List - List of \<databases\>.\<collections\> to get $indexStats
  2301. indexstatsColls: []
  2302. ## @param metrics.collector.collstatsLimit Number - Disable collstats, dbstats, topmetrics and indexstats collector if there are more than \<n\> collections. 0=No limit
  2303. collstatsLimit: 0
  2304. ## @param metrics.extraFlags String with extra flags to the metrics exporter
  2305. ## ref: https://github.com/percona/mongodb_exporter/blob/main/main.go
  2306. ##
  2307. extraFlags: ""
  2308. ## Command and args for running the container (set to default if not set). Use array form
  2309. ## @param metrics.command Override default container command (useful when using custom images)
  2310. ## @param metrics.args Override default container args (useful when using custom images)
  2311. ##
  2312. command: []
  2313. args: []
  2314. ## Metrics exporter container resource requests and limits
  2315. ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
  2316. ## We usually recommend not to specify default resources and to leave this as a conscious
  2317. ## choice for the user. This also increases chances charts run on environments with little
  2318. ## resources, such as Minikube. If you do want to specify resources, uncomment the following
  2319. ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  2320. ## @param metrics.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if metrics.resources is set (metrics.resources is recommended for production).
  2321. ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
  2322. ##
  2323. resourcesPreset: "nano"
  2324. ## @param metrics.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
  2325. ## Example:
  2326. ## resources:
  2327. ## requests:
  2328. ## cpu: 2
  2329. ## memory: 512Mi
  2330. ## limits:
  2331. ## cpu: 3
  2332. ## memory: 1024Mi
  2333. ##
  2334. resources: {}
  2335. ## @param metrics.containerPort Port of the Prometheus metrics container
  2336. ##
  2337. containerPort: 9216
  2338. ## Prometheus Exporter service configuration
  2339. ##
  2340. service:
  2341. ## @param metrics.service.annotations [object] Annotations for Prometheus Exporter pods. Evaluated as a template.
  2342. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  2343. ##
  2344. annotations:
  2345. prometheus.io/scrape: "true"
  2346. prometheus.io/port: "{{ .Values.metrics.service.ports.metrics }}"
  2347. prometheus.io/path: "/metrics"
  2348. ## @param metrics.service.type Type of the Prometheus metrics service
  2349. ##
  2350. type: ClusterIP
  2351. ## @param metrics.service.ports.metrics Port of the Prometheus metrics service
  2352. ##
  2353. ports:
  2354. metrics: 9216
  2355. ## @param metrics.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
  2356. ##
  2357. extraPorts: []
  2358. ## Metrics exporter liveness probe
  2359. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
  2360. ## @param metrics.livenessProbe.enabled Enable livenessProbe
  2361. ## @param metrics.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
  2362. ## @param metrics.livenessProbe.periodSeconds Period seconds for livenessProbe
  2363. ## @param metrics.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
  2364. ## @param metrics.livenessProbe.failureThreshold Failure threshold for livenessProbe
  2365. ## @param metrics.livenessProbe.successThreshold Success threshold for livenessProbe
  2366. ##
  2367. livenessProbe:
  2368. enabled: true
  2369. initialDelaySeconds: 15
  2370. periodSeconds: 5
  2371. timeoutSeconds: 10
  2372. failureThreshold: 3
  2373. successThreshold: 1
  2374. ## Metrics exporter readiness probe
  2375. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
  2376. ## @param metrics.readinessProbe.enabled Enable readinessProbe
  2377. ## @param metrics.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
  2378. ## @param metrics.readinessProbe.periodSeconds Period seconds for readinessProbe
  2379. ## @param metrics.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
  2380. ## @param metrics.readinessProbe.failureThreshold Failure threshold for readinessProbe
  2381. ## @param metrics.readinessProbe.successThreshold Success threshold for readinessProbe
  2382. ##
  2383. readinessProbe:
  2384. enabled: true
  2385. initialDelaySeconds: 5
  2386. periodSeconds: 5
  2387. timeoutSeconds: 10
  2388. failureThreshold: 3
  2389. successThreshold: 1
  2390. ## Slow starting containers can be protected through startup probes
  2391. ## Startup probes are available in Kubernetes version 1.16 and above
  2392. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-startup-probes
  2393. ## @param metrics.startupProbe.enabled Enable startupProbe
  2394. ## @param metrics.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
  2395. ## @param metrics.startupProbe.periodSeconds Period seconds for startupProbe
  2396. ## @param metrics.startupProbe.timeoutSeconds Timeout seconds for startupProbe
  2397. ## @param metrics.startupProbe.failureThreshold Failure threshold for startupProbe
  2398. ## @param metrics.startupProbe.successThreshold Success threshold for startupProbe
  2399. ##
  2400. startupProbe:
  2401. enabled: false
  2402. initialDelaySeconds: 5
  2403. periodSeconds: 10
  2404. timeoutSeconds: 5
  2405. successThreshold: 1
  2406. failureThreshold: 30
  2407. ## @param metrics.customLivenessProbe Override default liveness probe for MongoDB(&reg;) containers
  2408. ## Ignored when livenessProbe.enabled=true
  2409. ##
  2410. customLivenessProbe: {}
  2411. ## @param metrics.customReadinessProbe Override default readiness probe for MongoDB(&reg;) containers
  2412. ## Ignored when readinessProbe.enabled=true
  2413. ##
  2414. customReadinessProbe: {}
  2415. ## @param metrics.customStartupProbe Override default startup probe for MongoDB(&reg;) containers
  2416. ## Ignored when startupProbe.enabled=true
  2417. ##
  2418. customStartupProbe: {}
  2419. ## @param metrics.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the metrics container(s)
  2420. ## Examples:
  2421. ## extraVolumeMounts:
  2422. ## - name: extras
  2423. ## mountPath: /usr/share/extras
  2424. ## readOnly: true
  2425. ##
  2426. extraVolumeMounts: []
  2427. ## Prometheus Service Monitor
  2428. ## ref: https://github.com/coreos/prometheus-operator
  2429. ## https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md
  2430. ##
  2431. serviceMonitor:
  2432. ## @param metrics.serviceMonitor.enabled Create ServiceMonitor Resource for scraping metrics using Prometheus Operator
  2433. ##
  2434. enabled: false
  2435. ## @param metrics.serviceMonitor.namespace Namespace which Prometheus is running in
  2436. ##
  2437. namespace: ""
  2438. ## @param metrics.serviceMonitor.interval Interval at which metrics should be scraped
  2439. ##
  2440. interval: 30s
  2441. ## @param metrics.serviceMonitor.scrapeTimeout Specify the timeout after which the scrape is ended
  2442. ## e.g:
  2443. ## scrapeTimeout: 30s
  2444. ##
  2445. scrapeTimeout: ""
  2446. ## @param metrics.serviceMonitor.relabelings RelabelConfigs to apply to samples before scraping.
  2447. ##
  2448. relabelings: []
  2449. ## @param metrics.serviceMonitor.metricRelabelings MetricsRelabelConfigs to apply to samples before ingestion.
  2450. ##
  2451. metricRelabelings: []
  2452. ## @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
  2453. ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#prometheusspec
  2454. ##
  2455. labels: {}
  2456. ## @param metrics.serviceMonitor.selector Prometheus instance selector labels
  2457. ## ref: https://github.com/bitnami/charts/tree/main/bitnami/prometheus-operator#prometheus-configuration
  2458. ##
  2459. selector: {}
  2460. ## @param metrics.serviceMonitor.honorLabels Specify honorLabels parameter to add the scrape endpoint
  2461. ##
  2462. honorLabels: false
  2463. ## @param metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in prometheus.
  2464. ##
  2465. jobLabel: ""
  2466. ## Custom PrometheusRule to be defined
  2467. ## ref: https://github.com/coreos/prometheus-operator#customresourcedefinitions
  2468. ##
  2469. prometheusRule:
  2470. ## @param metrics.prometheusRule.enabled Set this to true to create prometheusRules for Prometheus operator
  2471. ##
  2472. enabled: false
  2473. ## @param metrics.prometheusRule.additionalLabels Additional labels that can be used so prometheusRules will be discovered by Prometheus
  2474. ##
  2475. additionalLabels: {}
  2476. ## @param metrics.prometheusRule.namespace Namespace where prometheusRules resource should be created
  2477. ##
  2478. namespace: ""
  2479. ## @param metrics.prometheusRule.rules Rules to be created, check values for an example
  2480. ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#rulegroup
  2481. ## https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/
  2482. ##
  2483. ## This is an example of a rule, you should add the below code block under the "rules" param, removing the brackets
  2484. ## rules:
  2485. ## - alert: HighRequestLatency
  2486. ## expr: job:request_latency_seconds:mean5m{job="myjob"} > 0.5
  2487. ## for: 10m
  2488. ## labels:
  2489. ## severity: page
  2490. ## annotations:
  2491. ## summary: High request latency
  2492. ##
  2493. rules: []