説明なし

values.yaml 115KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549
  1. ---
  2. ## @section Global parameters
  3. ## Global Docker image parameters
  4. ## Please, note that this will override the image parameters, including dependencies, configured to use the global value
  5. ## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass
  6. ##
  7. ## @param global.imageRegistry Global Docker image registry
  8. ## @param global.imagePullSecrets Global Docker registry secret names as an array
  9. ## @param global.defaultStorageClass Global default StorageClass for Persistent Volume(s)
  10. ##
  11. global:
  12. imageRegistry: ""
  13. ## e.g:
  14. ## imagePullSecrets:
  15. ## - myRegistryKeySecretName
  16. ##
  17. imagePullSecrets: []
  18. defaultStorageClass: ""
  19. ## Compatibility adaptations for Kubernetes platforms
  20. ##
  21. compatibility:
  22. ## Compatibility adaptations for Openshift
  23. ##
  24. openshift:
  25. ## @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)
  26. ##
  27. adaptSecurityContext: auto
  28. ## @param global.compatibility.omitEmptySeLinuxOptions If set to true, removes the seLinuxOptions from the securityContexts when it is set to an empty object
  29. ##
  30. omitEmptySeLinuxOptions: false
  31. ## @section Common parameters
  32. ##
  33. ## @param kubeVersion Override Kubernetes version
  34. ##
  35. kubeVersion: ""
  36. ## @param nameOverride String to partially override common.names.name
  37. ##
  38. nameOverride: ""
  39. ## @param fullnameOverride String to fully override common.names.fullname
  40. ##
  41. fullnameOverride: ""
  42. ## @param namespaceOverride String to fully override common.names.namespace
  43. ##
  44. namespaceOverride: ""
  45. ## @param commonLabels Labels to add to all deployed objects
  46. ##
  47. commonLabels: {}
  48. ## @param commonAnnotations Annotations to add to all deployed objects
  49. ##
  50. commonAnnotations: {}
  51. ## @param clusterDomain Kubernetes cluster domain name
  52. ##
  53. clusterDomain: cluster.local
  54. ## @param extraDeploy Array of extra objects to deploy with the release
  55. ##
  56. extraDeploy: []
  57. ## Diagnostic mode
  58. ## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden)
  59. ## @param diagnosticMode.command Command to override all containers in the chart release
  60. ## @param diagnosticMode.args Args to override all containers in the chart release
  61. ##
  62. diagnosticMode:
  63. enabled: false
  64. command:
  65. - sleep
  66. args:
  67. - infinity
  68. ## @section Shared Shuffle Parameters
  69. ##
  70. shuffle:
  71. ## @param shuffle.baseUrl The external base URL under which Shuffle is reachable.
  72. ##
  73. baseUrl: ""
  74. ## ref: https://shuffler.io/docs/organizations
  75. ## This chart only supports single-tenant deployments at the moment
  76. ## @param shuffle.org Default shuffle organization
  77. ##
  78. org: Shuffle
  79. ## @param shuffle.appRegistry The registry from / to which shuffle apps are pulled / pushed
  80. ##
  81. appRegistry: "docker.io"
  82. ## @param shuffle.appBaseImageName The base image used for shuffle apps. The final image for an app is <appRegistr>/<appBaseImageName>/<appName>:<appVersion>
  83. ##
  84. appBaseImageName: "frikky"
  85. ## @param shuffle.timezone The timezone used by Shuffle
  86. ##
  87. timezone: Europe/Berlin
  88. ## @section backend Parameters
  89. ##
  90. backend:
  91. ## backend image
  92. ## @param backend.image.registry backend image registry
  93. ## @param backend.image.repository backend image repository
  94. ## @param backend.image.tag backend image tag (immutable tags are recommended, defaults to appVersion)
  95. ## @param backend.image.digest backend image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag image tag (immutable tags are recommended)
  96. ## @param backend.image.pullPolicy backend image pull policy
  97. ## @param backend.image.pullSecrets backend image pull secrets
  98. ##
  99. image:
  100. registry: ghcr.io
  101. repository: shuffle/shuffle-backend
  102. tag: ""
  103. digest: ""
  104. ## Specify a imagePullPolicy
  105. ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
  106. ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
  107. ##
  108. pullPolicy: IfNotPresent
  109. ## Optionally specify an array of imagePullSecrets.
  110. ## Secrets must be manually created in the namespace.
  111. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  112. ## e.g:
  113. ## pullSecrets:
  114. ## - myRegistryKeySecretName
  115. ##
  116. pullSecrets: []
  117. ## @param backend.replicaCount Number of backend replicas to deploy
  118. ##
  119. replicaCount: 1
  120. ## @param backend.containerPorts.http backend HTTP container port
  121. ##
  122. containerPorts:
  123. http: 5001
  124. ## @param backend.extraContainerPorts Optionally specify extra list of additional ports for backend containers
  125. ## e.g:
  126. ## extraContainerPorts:
  127. ## - name: myservice
  128. ## containerPort: 9090
  129. ##
  130. extraContainerPorts: []
  131. ## Configure extra options for backend containers' liveness and readiness probes
  132. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
  133. ## @param backend.livenessProbe.enabled Enable livenessProbe on backend containers
  134. ## @param backend.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
  135. ## @param backend.livenessProbe.periodSeconds Period seconds for livenessProbe
  136. ## @param backend.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
  137. ## @param backend.livenessProbe.failureThreshold Failure threshold for livenessProbe
  138. ## @param backend.livenessProbe.successThreshold Success threshold for livenessProbe
  139. ##
  140. livenessProbe:
  141. enabled: false
  142. initialDelaySeconds: 0
  143. periodSeconds: 15
  144. timeoutSeconds: 1
  145. failureThreshold: 4
  146. successThreshold: 1
  147. ## @param backend.readinessProbe.enabled Enable readinessProbe on backend containers
  148. ## @param backend.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
  149. ## @param backend.readinessProbe.periodSeconds Period seconds for readinessProbe
  150. ## @param backend.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
  151. ## @param backend.readinessProbe.failureThreshold Failure threshold for readinessProbe
  152. ## @param backend.readinessProbe.successThreshold Success threshold for readinessProbe
  153. ##
  154. readinessProbe:
  155. enabled: false
  156. initialDelaySeconds: 0
  157. periodSeconds: 5
  158. timeoutSeconds: 1
  159. failureThreshold: 3
  160. successThreshold: 1
  161. ## @param backend.startupProbe.enabled Enable startupProbe on backend containers
  162. ## @param backend.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
  163. ## @param backend.startupProbe.periodSeconds Period seconds for startupProbe
  164. ## @param backend.startupProbe.timeoutSeconds Timeout seconds for startupProbe
  165. ## @param backend.startupProbe.failureThreshold Failure threshold for startupProbe
  166. ## @param backend.startupProbe.successThreshold Success threshold for startupProbe
  167. ##
  168. startupProbe:
  169. enabled: false
  170. initialDelaySeconds: 0
  171. periodSeconds: 1
  172. timeoutSeconds: 1
  173. failureThreshold: 60
  174. successThreshold: 1
  175. ## @param backend.customLivenessProbe Custom livenessProbe that overrides the default one
  176. ##
  177. customLivenessProbe: {}
  178. ## @param backend.customReadinessProbe Custom readinessProbe that overrides the default one
  179. ##
  180. customReadinessProbe: {}
  181. ## @param backend.customStartupProbe Custom startupProbe that overrides the default one
  182. ##
  183. customStartupProbe: {}
  184. ## backend resource requests and limits
  185. ## ref: http://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
  186. ## @param backend.resourcesPreset Set backend container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if backend.resources is set (backend.resources is recommended for production).
  187. ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
  188. ## Shuffle gets OOM killed with 256M memory during startup. Up to 360MiB of memory usage were observed during testing.
  189. ## The small preset grants 512M.
  190. ##
  191. resourcesPreset: "small"
  192. ## @param backend.resources Set backend container requests and limits for different resources like CPU or memory (essential for production workloads)
  193. ## Example:
  194. ## resources:
  195. ## requests:
  196. ## cpu: 2
  197. ## memory: 512Mi
  198. ## limits:
  199. ## cpu: 3
  200. ## memory: 1024Mi
  201. ##
  202. resources: {}
  203. ## Configure Pods Security Context
  204. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
  205. ## @param backend.podSecurityContext.enabled Enable backend pods' Security Context
  206. ## @param backend.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy for backend pods
  207. ## @param backend.podSecurityContext.sysctls Set kernel settings using the sysctl interface for backend pods
  208. ## @param backend.podSecurityContext.supplementalGroups Set filesystem extra groups for backend pods
  209. ## @param backend.podSecurityContext.fsGroup Set fsGroup in backend pods' Security Context
  210. ##
  211. podSecurityContext:
  212. enabled: true
  213. fsGroupChangePolicy: Always
  214. sysctls: []
  215. supplementalGroups: []
  216. fsGroup: 1001
  217. ## Configure Container Security Context
  218. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
  219. ## @param backend.containerSecurityContext.enabled Enabled backend container' Security Context
  220. ## @param backend.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in backend container
  221. ## @param backend.containerSecurityContext.runAsUser Set runAsUser in backend container' Security Context
  222. ## @param backend.containerSecurityContext.runAsGroup Set runAsGroup in backend container' Security Context
  223. ## @param backend.containerSecurityContext.runAsNonRoot Set runAsNonRoot in backend container' Security Context
  224. ## @param backend.containerSecurityContext.readOnlyRootFilesystem Set readOnlyRootFilesystem in backend container' Security Context
  225. ## @param backend.containerSecurityContext.privileged Set privileged in backend container' Security Context
  226. ## @param backend.containerSecurityContext.allowPrivilegeEscalation Set allowPrivilegeEscalation in backend container' Security Context
  227. ## @param backend.containerSecurityContext.capabilities.drop List of capabilities to be dropped in backend container
  228. ## @param backend.containerSecurityContext.seccompProfile.type Set seccomp profile in backend container
  229. ##
  230. containerSecurityContext:
  231. enabled: true
  232. seLinuxOptions: {}
  233. runAsUser: 1001
  234. runAsGroup: 1001
  235. runAsNonRoot: true
  236. readOnlyRootFilesystem: true
  237. privileged: false
  238. allowPrivilegeEscalation: false
  239. capabilities:
  240. drop: ["ALL"]
  241. seccompProfile:
  242. type: "RuntimeDefault"
  243. ## @param backend.command Override default backend container command (useful when using custom images)
  244. ##
  245. command: []
  246. ## @param backend.args Override default backend container args (useful when using custom images)
  247. ##
  248. args: []
  249. ## @param backend.automountServiceAccountToken Mount Service Account token in backend pods
  250. ## NOTE: backend requires the service account credentials to be mounted
  251. ##
  252. automountServiceAccountToken: true
  253. ## @param backend.hostAliases backend pods host aliases
  254. ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
  255. ##
  256. hostAliases: []
  257. ## @param backend.deploymentAnnotations Annotations for backend deployment
  258. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  259. ##
  260. deploymentAnnotations: {}
  261. ## @param backend.podLabels Extra labels for backend pods
  262. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  263. ##
  264. podLabels: {}
  265. ## @param backend.podAnnotations Annotations for backend pods
  266. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  267. ##
  268. podAnnotations: {}
  269. ## @param backend.podAffinityPreset Pod affinity preset. Ignored if `backend.affinity` is set. Allowed values: `soft` or `hard`
  270. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  271. ##
  272. podAffinityPreset: ""
  273. ## @param backend.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `backend.affinity` is set. Allowed values: `soft` or `hard`
  274. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  275. ##
  276. podAntiAffinityPreset: soft
  277. ## Node backend.affinity preset
  278. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
  279. ##
  280. nodeAffinityPreset:
  281. ## @param backend.nodeAffinityPreset.type Node affinity preset type. Ignored if `backend.affinity` is set. Allowed values: `soft` or `hard`
  282. ##
  283. type: ""
  284. ## @param backend.nodeAffinityPreset.key Node label key to match. Ignored if `backend.affinity` is set
  285. ##
  286. key: ""
  287. ## @param backend.nodeAffinityPreset.values Node label values to match. Ignored if `backend.affinity` is set
  288. ## E.g.
  289. ## values:
  290. ## - e2e-az1
  291. ## - e2e-az2
  292. ##
  293. values: []
  294. ## @param backend.affinity Affinity for backend pods assignment
  295. ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
  296. ## NOTE: `backend.podAffinityPreset`, `backend.podAntiAffinityPreset`, and `backend.nodeAffinityPreset` will be ignored when it's set
  297. ##
  298. affinity: {}
  299. ## @param backend.nodeSelector Node labels for backend pods assignment
  300. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
  301. ##
  302. nodeSelector: {}
  303. ## @param backend.tolerations Tolerations for backend pods assignment
  304. ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  305. ##
  306. tolerations: []
  307. ## @param backend.updateStrategy.type backend deployment strategy type
  308. ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
  309. ##
  310. updateStrategy:
  311. ## Can be set to RollingUpdate or Recreate
  312. ## Backend uses ReadWriteOnce volumes by default, which is incompatible with RollingUpdate
  313. ##
  314. type: Recreate
  315. ## @param backend.priorityClassName backend pods' priorityClassName
  316. ##
  317. priorityClassName: ""
  318. ## @param backend.topologySpreadConstraints Topology Spread Constraints for backend pod assignment spread across your cluster among failure-domains
  319. ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
  320. ##
  321. topologySpreadConstraints: []
  322. ## @param backend.schedulerName Name of the k8s scheduler (other than default) for backend pods
  323. ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  324. ##
  325. schedulerName: ""
  326. ## @param backend.terminationGracePeriodSeconds Seconds backend pods need to terminate gracefully
  327. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
  328. ##
  329. terminationGracePeriodSeconds: ""
  330. ## @param backend.lifecycleHooks for backend containers to automate configuration before or after startup
  331. ##
  332. lifecycleHooks: {}
  333. ## @param backend.extraEnvVars Array with extra environment variables to add to backend containers
  334. ## e.g:
  335. ## extraEnvVars:
  336. ## - name: FOO
  337. ## value: "bar"
  338. ##
  339. extraEnvVars: []
  340. ## @param backend.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for backend containers
  341. ##
  342. extraEnvVarsCM: ""
  343. ## @param backend.extraEnvVarsSecret Name of existing Secret containing extra env vars for backend containers
  344. ##
  345. extraEnvVarsSecret: ""
  346. ## @param backend.extraVolumes Optionally specify extra list of additional volumes for the backend pods
  347. ##
  348. extraVolumes: []
  349. ## @param backend.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the backend containers
  350. ##
  351. extraVolumeMounts: []
  352. ## @param backend.sidecars Add additional sidecar containers to the backend pods
  353. ## e.g:
  354. ## sidecars:
  355. ## - name: your-image-name
  356. ## image: your-image
  357. ## imagePullPolicy: Always
  358. ## ports:
  359. ## - name: portname
  360. ## containerPort: 1234
  361. ##
  362. sidecars: []
  363. ## @param backend.initContainers Add additional init containers to the backend pods
  364. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
  365. ## e.g:
  366. ## initContainers:
  367. ## - name: your-image-name
  368. ## image: your-image
  369. ## imagePullPolicy: Always
  370. ## command: ['sh', '-c', 'echo "hello world"']
  371. ##
  372. initContainers: []
  373. ## Pod Disruption Budget configuration
  374. ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
  375. ## @param backend.pdb.create Enable/disable a Pod Disruption Budget creation
  376. ## @param backend.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
  377. ## @param backend.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `backend.pdb.minAvailable` and `backend.pdb.maxUnavailable` are empty.
  378. ##
  379. pdb:
  380. create: true
  381. minAvailable: ""
  382. maxUnavailable: ""
  383. ## Autoscaling configuration
  384. ## ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/
  385. ##
  386. autoscaling:
  387. ## @param backend.autoscaling.vpa.enabled Enable VPA for backend pods
  388. ## @param backend.autoscaling.vpa.annotations Annotations for VPA resource
  389. ## @param backend.autoscaling.vpa.controlledResources VPA List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
  390. ## @param backend.autoscaling.vpa.maxAllowed VPA Max allowed resources for the pod
  391. ## @param backend.autoscaling.vpa.minAllowed VPA Min allowed resources for the pod
  392. ##
  393. vpa:
  394. enabled: false
  395. annotations: {}
  396. controlledResources: []
  397. maxAllowed: {}
  398. minAllowed: {}
  399. ## @param backend.autoscaling.vpa.updatePolicy.updateMode Autoscaling update policy
  400. ## Specifies whether recommended updates are applied when a Pod is started and whether recommended updates are applied during the life of a Pod
  401. ## Possible values are "Off", "Initial", "Recreate", and "Auto".
  402. ##
  403. updatePolicy:
  404. updateMode: Auto
  405. ## @param backend.autoscaling.hpa.enabled Enable HPA for backend pods
  406. ## @param backend.autoscaling.hpa.minReplicas Minimum number of replicas
  407. ## @param backend.autoscaling.hpa.maxReplicas Maximum number of replicas
  408. ## @param backend.autoscaling.hpa.targetCPU Target CPU utilization percentage
  409. ## @param backend.autoscaling.hpa.targetMemory Target Memory utilization percentage
  410. ##
  411. hpa:
  412. enabled: false
  413. minReplicas: ""
  414. maxReplicas: ""
  415. targetCPU: ""
  416. targetMemory: ""
  417. ## Service configuration
  418. ##
  419. service:
  420. ## @param backend.service.labels Extra labels for backend service
  421. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  422. ##
  423. labels: {}
  424. ## ServiceAccount configuration
  425. ##
  426. serviceAccount:
  427. ## @param backend.serviceAccount.create Specifies whether a ServiceAccount should be created
  428. ##
  429. create: true
  430. ## @param backend.serviceAccount.name The name of the ServiceAccount to use.
  431. ## If not set and create is true, a name is generated using the common.names.fullname template
  432. ##
  433. name: ""
  434. ## @param backend.serviceAccount.annotations Additional Service Account annotations (evaluated as a template)
  435. ##
  436. annotations: {}
  437. ## @param backend.serviceAccount.automountServiceAccountToken Automount service account token for the backend service account
  438. ##
  439. automountServiceAccountToken: true
  440. ## @param backend.serviceAccount.imagePullSecrets Add image pull secrets to the backend service account
  441. ##
  442. imagePullSecrets: []
  443. ## RBAC configuration
  444. ##
  445. rbac:
  446. ## @param backend.rbac.create Specifies whether RBAC resources should be created
  447. create: true
  448. ## Network Policies
  449. ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
  450. ##
  451. networkPolicy:
  452. ## @param backend.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
  453. ##
  454. enabled: true
  455. ## @param backend.networkPolicy.allowExternal Don't require server label for connections
  456. ## The Policy model to apply. When set to false, only pods with the correct
  457. ## server label will have network access to the ports server is listening
  458. ## on. When true, server will accept connections from any source
  459. ## (with the correct destination port).
  460. ##
  461. allowExternal: true
  462. ## @param backend.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
  463. ##
  464. allowExternalEgress: true
  465. ## @param backend.networkPolicy.extraIngress Add extra ingress rules to the NetworkPolicy
  466. ## NOTE: You likely want to allow access from your ingress, e.g.:
  467. ## extraIngress:
  468. ## - ports:
  469. ## - protocol: TCP
  470. ## port: 5001
  471. ## from:
  472. ## - namespaceSelector:
  473. ## matchLabels:
  474. ## kubernetes.io/metadata.name: istio-ingress
  475. ## podSelector:
  476. ## matchLabels:
  477. ## istio: ingress
  478. ##
  479. extraIngress: []
  480. ## @param backend.networkPolicy.extraEgress Add extra ingress rules to the NetworkPolicy (ignored if allowExternalEgress=true)
  481. ## NOTE: You likely want to allow access to OpenSearch and cluster-proxies, e.g:
  482. ## extraEgress:
  483. ## - to:
  484. ## - namespaceSelector:
  485. ## matchLabels:
  486. ## kubernetes.io/metadata.name: istio-system
  487. ## podSelector:
  488. ## matchLabels:
  489. ## istio: pilot
  490. ## - ports:
  491. ## - protocol: TCP
  492. ## port: 9200
  493. ## - protocol: TCP
  494. ## port: 9300
  495. ## to:
  496. ## - namespaceSelector:
  497. ## matchLabels:
  498. ## kubernetes.io/metadata.name: shuffle
  499. ## podSelector:
  500. ## matchLabels:
  501. ## app.kubernetes.io/name: opensearch
  502. ##
  503. extraEgress: []
  504. ## @param backend.cleanupSchedule The interval in seconds at which the cleanup job runs
  505. ##
  506. cleanupSchedule: 300
  507. ## OpenSearch configuration
  508. ##
  509. openSearch:
  510. ## @param backend.openSearch.url The URL at which OpenSearch is available
  511. ##
  512. url: "http://{{ .Release.Name }}-opensearch:9200"
  513. ## @param backend.openSearch.username The username that is used for authenticating with OpenSearch
  514. ##
  515. username: admin
  516. ## @param backend.openSearch.certificateFile The path to a custom OpenSearch certificate file
  517. ##
  518. certificateFile: ""
  519. ## @param backend.openSearch.skipSSLVerify Skip SSL verification
  520. ##
  521. skipSSLVerify: false
  522. ## @param backend.openSearch.indexPrefix A prefix for OpenSearch indices
  523. ##
  524. indexPrefix: ""
  525. ## App configuration
  526. ##
  527. apps:
  528. ## @param backend.apps.downloadLocation The location to a git repository from which default appps are downloaded on startup.
  529. ##
  530. downloadLocation: https://github.com/shuffle/python-apps
  531. ## @param backend.apps.downloadBranch The branch from which apps should be downloaded on startup.
  532. ##
  533. downloadBranch: master
  534. ## @param backend.apps.forceUpdate Force an update of apps on startup.
  535. ##
  536. forceUpdate: false
  537. ## @section frontend Parameters
  538. ##
  539. frontend:
  540. ## frontend image
  541. ## @param frontend.image.registry frontend image registry
  542. ## @param frontend.image.repository frontend image repository
  543. ## @param frontend.image.tag frontend image tag (immutable tags are recommended, defaults to appVersion)
  544. ## @param frontend.image.digest frontend image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag image tag (immutable tags are recommended)
  545. ## @param frontend.image.pullPolicy frontend image pull policy
  546. ## @param frontend.image.pullSecrets frontend image pull secrets
  547. ##
  548. image:
  549. registry: ghcr.io
  550. repository: shuffle/shuffle-frontend
  551. tag: ""
  552. digest: ""
  553. ## Specify a imagePullPolicy
  554. ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
  555. ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
  556. ##
  557. pullPolicy: IfNotPresent
  558. ## Optionally specify an array of imagePullSecrets.
  559. ## Secrets must be manually created in the namespace.
  560. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  561. ## e.g:
  562. ## pullSecrets:
  563. ## - myRegistryKeySecretName
  564. ##
  565. pullSecrets: []
  566. ## @param frontend.replicaCount Number of frontend replicas to deploy
  567. ##
  568. replicaCount: 1
  569. ## @param frontend.containerPorts.http frontend HTTP container port
  570. ## @param frontend.containerPorts.https frontend HTTPS container port
  571. ##
  572. containerPorts:
  573. http: 80
  574. https: 443
  575. ## @param frontend.extraContainerPorts Optionally specify extra list of additional ports for frontend containers
  576. ## e.g:
  577. ## extraContainerPorts:
  578. ## - name: myservice
  579. ## containerPort: 9090
  580. ##
  581. extraContainerPorts: []
  582. ## Configure extra options for frontend containers' liveness and readiness probes
  583. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
  584. ## @param frontend.livenessProbe.enabled Enable livenessProbe on frontend containers
  585. ## @param frontend.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
  586. ## @param frontend.livenessProbe.periodSeconds Period seconds for livenessProbe
  587. ## @param frontend.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
  588. ## @param frontend.livenessProbe.failureThreshold Failure threshold for livenessProbe
  589. ## @param frontend.livenessProbe.successThreshold Success threshold for livenessProbe
  590. ##
  591. livenessProbe:
  592. enabled: false
  593. initialDelaySeconds: 0
  594. periodSeconds: 15
  595. timeoutSeconds: 1
  596. failureThreshold: 4
  597. successThreshold: 1
  598. ## @param frontend.readinessProbe.enabled Enable readinessProbe on frontend containers
  599. ## @param frontend.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
  600. ## @param frontend.readinessProbe.periodSeconds Period seconds for readinessProbe
  601. ## @param frontend.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
  602. ## @param frontend.readinessProbe.failureThreshold Failure threshold for readinessProbe
  603. ## @param frontend.readinessProbe.successThreshold Success threshold for readinessProbe
  604. ##
  605. readinessProbe:
  606. enabled: false
  607. initialDelaySeconds: 0
  608. periodSeconds: 5
  609. timeoutSeconds: 1
  610. failureThreshold: 3
  611. successThreshold: 1
  612. ## @param frontend.startupProbe.enabled Enable startupProbe on frontend containers
  613. ## @param frontend.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
  614. ## @param frontend.startupProbe.periodSeconds Period seconds for startupProbe
  615. ## @param frontend.startupProbe.timeoutSeconds Timeout seconds for startupProbe
  616. ## @param frontend.startupProbe.failureThreshold Failure threshold for startupProbe
  617. ## @param frontend.startupProbe.successThreshold Success threshold for startupProbe
  618. ##
  619. startupProbe:
  620. enabled: false
  621. initialDelaySeconds: 0
  622. periodSeconds: 1
  623. timeoutSeconds: 1
  624. failureThreshold: 60
  625. successThreshold: 1
  626. ## @param frontend.customLivenessProbe Custom livenessProbe that overrides the default one
  627. ##
  628. customLivenessProbe: {}
  629. ## @param frontend.customReadinessProbe Custom readinessProbe that overrides the default one
  630. ##
  631. customReadinessProbe: {}
  632. ## @param frontend.customStartupProbe Custom startupProbe that overrides the default one
  633. ##
  634. customStartupProbe: {}
  635. ## frontend resource requests and limits
  636. ## ref: http://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
  637. ## @param frontend.resourcesPreset Set frontend container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if frontend.resources is set (frontend.resources is recommended for production).
  638. ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
  639. ##
  640. resourcesPreset: "nano"
  641. ## @param frontend.resources Set frontend container requests and limits for different resources like CPU or memory (essential for production workloads)
  642. ## Example:
  643. ## resources:
  644. ## requests:
  645. ## cpu: 2
  646. ## memory: 512Mi
  647. ## limits:
  648. ## cpu: 3
  649. ## memory: 1024Mi
  650. ##
  651. resources: {}
  652. ## Configure Pods Security Context
  653. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
  654. ## @param frontend.podSecurityContext.enabled Enable frontend pods' Security Context
  655. ## @param frontend.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy for frontend pods
  656. ## @param frontend.podSecurityContext.sysctls Set kernel settings using the sysctl interface for frontend pods
  657. ## @param frontend.podSecurityContext.supplementalGroups Set filesystem extra groups for frontend pods
  658. ## @param frontend.podSecurityContext.fsGroup Set fsGroup in frontend pods' Security Context
  659. ##
  660. podSecurityContext:
  661. enabled: false # The default shuffle frontend image does not support running as non-root, because /etc/nginx/nginx.conf is written on startup
  662. fsGroupChangePolicy: Always
  663. sysctls: []
  664. supplementalGroups: []
  665. fsGroup: 1001
  666. ## Configure Container Security Context
  667. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
  668. ## @param frontend.containerSecurityContext.enabled Enabled frontend container' Security Context
  669. ## @param frontend.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in frontend container
  670. ## @param frontend.containerSecurityContext.runAsUser Set runAsUser in frontend container' Security Context
  671. ## @param frontend.containerSecurityContext.runAsGroup Set runAsGroup in frontend container' Security Context
  672. ## @param frontend.containerSecurityContext.runAsNonRoot Set runAsNonRoot in frontend container' Security Context
  673. ## @param frontend.containerSecurityContext.readOnlyRootFilesystem Set readOnlyRootFilesystem in frontend container' Security Context
  674. ## @param frontend.containerSecurityContext.privileged Set privileged in frontend container' Security Context
  675. ## @param frontend.containerSecurityContext.allowPrivilegeEscalation Set allowPrivilegeEscalation in frontend container' Security Context
  676. ## @param frontend.containerSecurityContext.capabilities.drop List of capabilities to be dropped in frontend container
  677. ## @param frontend.containerSecurityContext.seccompProfile.type Set seccomp profile in frontend container
  678. ##
  679. containerSecurityContext:
  680. enabled: false # The default shuffle frontend image does not support running as non-root, because /etc/nginx/nginx.conf is written on startup
  681. seLinuxOptions: {}
  682. runAsUser: 1001
  683. runAsGroup: 1001
  684. runAsNonRoot: true
  685. readOnlyRootFilesystem: true
  686. privileged: false
  687. allowPrivilegeEscalation: false
  688. capabilities:
  689. drop: ["ALL"]
  690. seccompProfile:
  691. type: "RuntimeDefault"
  692. ## @param frontend.command Override default frontend container command (useful when using custom images)
  693. ##
  694. command: []
  695. ## @param frontend.args Override default frontend container args (useful when using custom images)
  696. ##
  697. args: []
  698. ## @param frontend.automountServiceAccountToken Mount Service Account token in frontend pods
  699. ##
  700. automountServiceAccountToken: false
  701. ## @param frontend.hostAliases frontend pods host aliases
  702. ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
  703. ##
  704. hostAliases: []
  705. ## @param frontend.deploymentAnnotations Annotations for frontend deployment
  706. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  707. ##
  708. deploymentAnnotations: {}
  709. ## @param frontend.podLabels Extra labels for frontend pods
  710. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  711. ##
  712. podLabels: {}
  713. ## @param frontend.podAnnotations Annotations for frontend pods
  714. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  715. ##
  716. podAnnotations: {}
  717. ## @param frontend.podAffinityPreset Pod affinity preset. Ignored if `frontend.affinity` is set. Allowed values: `soft` or `hard`
  718. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  719. ##
  720. podAffinityPreset: ""
  721. ## @param frontend.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `frontend.affinity` is set. Allowed values: `soft` or `hard`
  722. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  723. ##
  724. podAntiAffinityPreset: soft
  725. ## Node frontend.affinity preset
  726. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
  727. ##
  728. nodeAffinityPreset:
  729. ## @param frontend.nodeAffinityPreset.type Node affinity preset type. Ignored if `frontend.affinity` is set. Allowed values: `soft` or `hard`
  730. ##
  731. type: ""
  732. ## @param frontend.nodeAffinityPreset.key Node label key to match. Ignored if `frontend.affinity` is set
  733. ##
  734. key: ""
  735. ## @param frontend.nodeAffinityPreset.values Node label values to match. Ignored if `frontend.affinity` is set
  736. ## E.g.
  737. ## values:
  738. ## - e2e-az1
  739. ## - e2e-az2
  740. ##
  741. values: []
  742. ## @param frontend.affinity Affinity for frontend pods assignment
  743. ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
  744. ## NOTE: `frontend.podAffinityPreset`, `frontend.podAntiAffinityPreset`, and `frontend.nodeAffinityPreset` will be ignored when it's set
  745. ##
  746. affinity: {}
  747. ## @param frontend.nodeSelector Node labels for frontend pods assignment
  748. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
  749. ##
  750. nodeSelector: {}
  751. ## @param frontend.tolerations Tolerations for frontend pods assignment
  752. ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  753. ##
  754. tolerations: []
  755. ## @param frontend.updateStrategy.type frontend deployment strategy type
  756. ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
  757. ##
  758. updateStrategy:
  759. ## Can be set to RollingUpdate or Recreate
  760. ##
  761. type: RollingUpdate
  762. ## @param frontend.priorityClassName frontend pods' priorityClassName
  763. ##
  764. priorityClassName: ""
  765. ## @param frontend.topologySpreadConstraints Topology Spread Constraints for frontend pod assignment spread across your cluster among failure-domains
  766. ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
  767. ##
  768. topologySpreadConstraints: []
  769. ## @param frontend.schedulerName Name of the k8s scheduler (other than default) for frontend pods
  770. ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  771. ##
  772. schedulerName: ""
  773. ## @param frontend.terminationGracePeriodSeconds Seconds frontend pods need to terminate gracefully
  774. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
  775. ##
  776. terminationGracePeriodSeconds: ""
  777. ## @param frontend.lifecycleHooks for frontend containers to automate configuration before or after startup
  778. ##
  779. lifecycleHooks: {}
  780. ## @param frontend.extraEnvVars Array with extra environment variables to add to frontend containers
  781. ## e.g:
  782. ## extraEnvVars:
  783. ## - name: FOO
  784. ## value: "bar"
  785. ##
  786. extraEnvVars: []
  787. ## @param frontend.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for frontend containers
  788. ##
  789. extraEnvVarsCM: ""
  790. ## @param frontend.extraEnvVarsSecret Name of existing Secret containing extra env vars for frontend containers
  791. ##
  792. extraEnvVarsSecret: ""
  793. ## @param frontend.extraVolumes Optionally specify extra list of additional volumes for the frontend pods
  794. ##
  795. extraVolumes: []
  796. ## @param frontend.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the frontend containers
  797. ##
  798. extraVolumeMounts: []
  799. ## @param frontend.sidecars Add additional sidecar containers to the frontend pods
  800. ## e.g:
  801. ## sidecars:
  802. ## - name: your-image-name
  803. ## image: your-image
  804. ## imagePullPolicy: Always
  805. ## ports:
  806. ## - name: portname
  807. ## containerPort: 1234
  808. ##
  809. sidecars: []
  810. ## @param frontend.initContainers Add additional init containers to the frontend pods
  811. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
  812. ## e.g:
  813. ## initContainers:
  814. ## - name: your-image-name
  815. ## image: your-image
  816. ## imagePullPolicy: Always
  817. ## command: ['sh', '-c', 'echo "hello world"']
  818. ##
  819. initContainers: []
  820. ## Pod Disruption Budget configuration
  821. ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
  822. ## @param frontend.pdb.create Enable/disable a Pod Disruption Budget creation
  823. ## @param frontend.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
  824. ## @param frontend.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `frontend.pdb.minAvailable` and `frontend.pdb.maxUnavailable` are empty.
  825. ##
  826. pdb:
  827. create: true
  828. minAvailable: ""
  829. maxUnavailable: ""
  830. ## Autoscaling configuration
  831. ## ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/
  832. ##
  833. autoscaling:
  834. ## @param frontend.autoscaling.vpa.enabled Enable VPA for frontend pods
  835. ## @param frontend.autoscaling.vpa.annotations Annotations for VPA resource
  836. ## @param frontend.autoscaling.vpa.controlledResources VPA List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
  837. ## @param frontend.autoscaling.vpa.maxAllowed VPA Max allowed resources for the pod
  838. ## @param frontend.autoscaling.vpa.minAllowed VPA Min allowed resources for the pod
  839. ##
  840. vpa:
  841. enabled: false
  842. annotations: {}
  843. controlledResources: []
  844. maxAllowed: {}
  845. minAllowed: {}
  846. ## @param frontend.autoscaling.vpa.updatePolicy.updateMode Autoscaling update policy
  847. ## Specifies whether recommended updates are applied when a Pod is started and whether recommended updates are applied during the life of a Pod
  848. ## Possible values are "Off", "Initial", "Recreate", and "Auto".
  849. ##
  850. updatePolicy:
  851. updateMode: Auto
  852. ## @param frontend.autoscaling.hpa.enabled Enable HPA for frontend pods
  853. ## @param frontend.autoscaling.hpa.minReplicas Minimum number of replicas
  854. ## @param frontend.autoscaling.hpa.maxReplicas Maximum number of replicas
  855. ## @param frontend.autoscaling.hpa.targetCPU Target CPU utilization percentage
  856. ## @param frontend.autoscaling.hpa.targetMemory Target Memory utilization percentage
  857. ##
  858. hpa:
  859. enabled: false
  860. minReplicas: ""
  861. maxReplicas: ""
  862. targetCPU: ""
  863. targetMemory: ""
  864. ## Service configuration
  865. ##
  866. service:
  867. ## @param frontend.service.labels Extra labels for frontend service
  868. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  869. ##
  870. labels: {}
  871. ## ServiceAccount configuration
  872. ##
  873. serviceAccount:
  874. ## @param frontend.serviceAccount.create Specifies whether a ServiceAccount should be created
  875. ##
  876. create: true
  877. ## @param frontend.serviceAccount.name The name of the ServiceAccount to use.
  878. ## If not set and create is true, a name is generated using the common.names.fullname template
  879. ##
  880. name: ""
  881. ## @param frontend.serviceAccount.annotations Additional Service Account annotations (evaluated as a template)
  882. ##
  883. annotations: {}
  884. ## @param frontend.serviceAccount.automountServiceAccountToken Automount service account token for the frontend service account
  885. ##
  886. automountServiceAccountToken: true
  887. ## @param frontend.serviceAccount.imagePullSecrets Add image pull secrets to the frontend service account
  888. ##
  889. imagePullSecrets: []
  890. ## Network Policies
  891. ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
  892. ##
  893. networkPolicy:
  894. ## @param frontend.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
  895. ##
  896. enabled: true
  897. ## @param frontend.networkPolicy.allowExternal Don't require server label for connections
  898. ## The Policy model to apply. When set to false, only pods with the correct
  899. ## server label will have network access to the ports server is listening
  900. ## on. When true, server will accept connections from any source
  901. ## (with the correct destination port).
  902. ##
  903. allowExternal: true
  904. ## @param frontend.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
  905. ##
  906. allowExternalEgress: true
  907. ## @param frontend.networkPolicy.extraIngress Add extra ingress rules to the NetworkPolicy
  908. ## NOTE: You likely want to allow access from your ingress, e.g.:
  909. ## extraIngress:
  910. ## - ports:
  911. ## - protocol: TCP
  912. ## port: 5001
  913. ## from:
  914. ## - namespaceSelector:
  915. ## matchLabels:
  916. ## kubernetes.io/metadata.name: istio-ingress
  917. ## podSelector:
  918. ## matchLabels:
  919. ## istio: ingress
  920. ##
  921. extraIngress: []
  922. ## @param frontend.networkPolicy.extraEgress Add extra ingress rules to the NetworkPolicy (ignored if allowExternalEgress=true)
  923. ##
  924. extraEgress: []
  925. ## @section orborus Parameters
  926. ##
  927. orborus:
  928. ## orborus image
  929. ## @param orborus.image.registry orborus image registry
  930. ## @param orborus.image.repository orborus image repository
  931. ## @param orborus.image.tag orborus image tag (immutable tags are recommended, defaults to appVersion)
  932. ## @param orborus.image.digest orborus image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag image tag (immutable tags are recommended)
  933. ## @param orborus.image.pullPolicy orborus image pull policy
  934. ## @param orborus.image.pullSecrets orborus image pull secrets
  935. ##
  936. image:
  937. registry: ghcr.io
  938. repository: shuffle/shuffle-orborus
  939. tag: ""
  940. digest: ""
  941. ## Specify a imagePullPolicy
  942. ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
  943. ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
  944. ##
  945. pullPolicy: IfNotPresent
  946. ## Optionally specify an array of imagePullSecrets.
  947. ## Secrets must be manually created in the namespace.
  948. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  949. ## e.g:
  950. ## pullSecrets:
  951. ## - myRegistryKeySecretName
  952. ##
  953. pullSecrets: []
  954. ## @param orborus.replicaCount Number of orborus replicas to deploy
  955. ##
  956. replicaCount: 1
  957. ## @param orborus.extraContainerPorts Optionally specify extra list of additional ports for orborus containers
  958. ## e.g:
  959. ## extraContainerPorts:
  960. ## - name: myservice
  961. ## containerPort: 9090
  962. ##
  963. extraContainerPorts: []
  964. ## Configure extra options for orborus containers' liveness and readiness probes
  965. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
  966. ## @param orborus.livenessProbe.enabled Enable livenessProbe on orborus containers
  967. ## @param orborus.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
  968. ## @param orborus.livenessProbe.periodSeconds Period seconds for livenessProbe
  969. ## @param orborus.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
  970. ## @param orborus.livenessProbe.failureThreshold Failure threshold for livenessProbe
  971. ## @param orborus.livenessProbe.successThreshold Success threshold for livenessProbe
  972. ##
  973. livenessProbe:
  974. enabled: false
  975. initialDelaySeconds: 0
  976. periodSeconds: 15
  977. timeoutSeconds: 1
  978. failureThreshold: 4
  979. successThreshold: 1
  980. ## @param orborus.readinessProbe.enabled Enable readinessProbe on orborus containers
  981. ## @param orborus.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
  982. ## @param orborus.readinessProbe.periodSeconds Period seconds for readinessProbe
  983. ## @param orborus.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
  984. ## @param orborus.readinessProbe.failureThreshold Failure threshold for readinessProbe
  985. ## @param orborus.readinessProbe.successThreshold Success threshold for readinessProbe
  986. ##
  987. readinessProbe:
  988. enabled: false
  989. initialDelaySeconds: 0
  990. periodSeconds: 5
  991. timeoutSeconds: 1
  992. failureThreshold: 3
  993. successThreshold: 1
  994. ## @param orborus.startupProbe.enabled Enable startupProbe on orborus containers
  995. ## @param orborus.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
  996. ## @param orborus.startupProbe.periodSeconds Period seconds for startupProbe
  997. ## @param orborus.startupProbe.timeoutSeconds Timeout seconds for startupProbe
  998. ## @param orborus.startupProbe.failureThreshold Failure threshold for startupProbe
  999. ## @param orborus.startupProbe.successThreshold Success threshold for startupProbe
  1000. ##
  1001. startupProbe:
  1002. enabled: false
  1003. initialDelaySeconds: 0
  1004. periodSeconds: 1
  1005. timeoutSeconds: 1
  1006. failureThreshold: 60
  1007. successThreshold: 1
  1008. ## @param orborus.customLivenessProbe Custom livenessProbe that overrides the default one
  1009. ##
  1010. customLivenessProbe: {}
  1011. ## @param orborus.customReadinessProbe Custom readinessProbe that overrides the default one
  1012. ##
  1013. customReadinessProbe: {}
  1014. ## @param orborus.customStartupProbe Custom startupProbe that overrides the default one
  1015. ##
  1016. customStartupProbe: {}
  1017. ## orborus resource requests and limits
  1018. ## ref: http://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
  1019. ## @param orborus.resourcesPreset Set orborus container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if orborus.resources is set (orborus.resources is recommended for production).
  1020. ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
  1021. ##
  1022. resourcesPreset: "nano"
  1023. ## @param orborus.resources Set orborus container requests and limits for different resources like CPU or memory (essential for production workloads)
  1024. ## Example:
  1025. ## resources:
  1026. ## requests:
  1027. ## cpu: 2
  1028. ## memory: 512Mi
  1029. ## limits:
  1030. ## cpu: 3
  1031. ## memory: 1024Mi
  1032. ##
  1033. resources: {}
  1034. ## Configure Pods Security Context
  1035. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
  1036. ## @param orborus.podSecurityContext.enabled Enable orborus pods' Security Context
  1037. ## @param orborus.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy for orborus pods
  1038. ## @param orborus.podSecurityContext.sysctls Set kernel settings using the sysctl interface for orborus pods
  1039. ## @param orborus.podSecurityContext.supplementalGroups Set filesystem extra groups for orborus pods
  1040. ## @param orborus.podSecurityContext.fsGroup Set fsGroup in orborus pods' Security Context
  1041. ##
  1042. podSecurityContext:
  1043. enabled: true
  1044. fsGroupChangePolicy: Always
  1045. sysctls: []
  1046. supplementalGroups: []
  1047. fsGroup: 1001
  1048. ## Configure Container Security Context
  1049. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
  1050. ## @param orborus.containerSecurityContext.enabled Enabled orborus container' Security Context
  1051. ## @param orborus.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in orborus container
  1052. ## @param orborus.containerSecurityContext.runAsUser Set runAsUser in orborus container' Security Context
  1053. ## @param orborus.containerSecurityContext.runAsGroup Set runAsGroup in orborus container' Security Context
  1054. ## @param orborus.containerSecurityContext.runAsNonRoot Set runAsNonRoot in orborus container' Security Context
  1055. ## @param orborus.containerSecurityContext.readOnlyRootFilesystem Set readOnlyRootFilesystem in orborus container' Security Context
  1056. ## @param orborus.containerSecurityContext.privileged Set privileged in orborus container' Security Context
  1057. ## @param orborus.containerSecurityContext.allowPrivilegeEscalation Set allowPrivilegeEscalation in orborus container' Security Context
  1058. ## @param orborus.containerSecurityContext.capabilities.drop List of capabilities to be dropped in orborus container
  1059. ## @param orborus.containerSecurityContext.seccompProfile.type Set seccomp profile in orborus container
  1060. ##
  1061. containerSecurityContext:
  1062. enabled: true
  1063. seLinuxOptions: {}
  1064. runAsUser: 1001
  1065. runAsGroup: 1001
  1066. runAsNonRoot: true
  1067. readOnlyRootFilesystem: true
  1068. privileged: false
  1069. allowPrivilegeEscalation: false
  1070. capabilities:
  1071. drop: ["ALL"]
  1072. seccompProfile:
  1073. type: "RuntimeDefault"
  1074. ## @param orborus.command Override default orborus container command (useful when using custom images)
  1075. ##
  1076. command: []
  1077. ## @param orborus.args Override default orborus container args (useful when using custom images)
  1078. ##
  1079. args: []
  1080. ## @param orborus.automountServiceAccountToken Mount Service Account token in orborus pods
  1081. ## NOTE: orborus requires the service account credentials to be mounted if manageWorkerDeployments is enabled.
  1082. ##
  1083. automountServiceAccountToken: true
  1084. ## @param orborus.hostAliases orborus pods host aliases
  1085. ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
  1086. ##
  1087. hostAliases: []
  1088. ## @param orborus.deploymentAnnotations Annotations for orborus deployment
  1089. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  1090. ##
  1091. deploymentAnnotations: {}
  1092. ## @param orborus.podLabels Extra labels for orborus pods
  1093. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  1094. ##
  1095. podLabels: {}
  1096. ## @param orborus.podAnnotations Annotations for orborus pods
  1097. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  1098. ##
  1099. podAnnotations: {}
  1100. ## @param orborus.podAffinityPreset Pod affinity preset. Ignored if `orborus.affinity` is set. Allowed values: `soft` or `hard`
  1101. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  1102. ##
  1103. podAffinityPreset: ""
  1104. ## @param orborus.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `orborus.affinity` is set. Allowed values: `soft` or `hard`
  1105. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  1106. ##
  1107. podAntiAffinityPreset: soft
  1108. ## Node orborus.affinity preset
  1109. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
  1110. ##
  1111. nodeAffinityPreset:
  1112. ## @param orborus.nodeAffinityPreset.type Node affinity preset type. Ignored if `orborus.affinity` is set. Allowed values: `soft` or `hard`
  1113. ##
  1114. type: ""
  1115. ## @param orborus.nodeAffinityPreset.key Node label key to match. Ignored if `orborus.affinity` is set
  1116. ##
  1117. key: ""
  1118. ## @param orborus.nodeAffinityPreset.values Node label values to match. Ignored if `orborus.affinity` is set
  1119. ## E.g.
  1120. ## values:
  1121. ## - e2e-az1
  1122. ## - e2e-az2
  1123. ##
  1124. values: []
  1125. ## @param orborus.affinity Affinity for orborus pods assignment
  1126. ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
  1127. ## NOTE: `orborus.podAffinityPreset`, `orborus.podAntiAffinityPreset`, and `orborus.nodeAffinityPreset` will be ignored when it's set
  1128. ##
  1129. affinity: {}
  1130. ## @param orborus.nodeSelector Node labels for orborus pods assignment
  1131. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
  1132. ##
  1133. nodeSelector: {}
  1134. ## @param orborus.tolerations Tolerations for orborus pods assignment
  1135. ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  1136. ##
  1137. tolerations: []
  1138. ## @param orborus.updateStrategy.type orborus deployment strategy type
  1139. ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
  1140. ##
  1141. updateStrategy:
  1142. ## Can be set to RollingUpdate or Recreate
  1143. ##
  1144. type: RollingUpdate
  1145. ## @param orborus.priorityClassName orborus pods' priorityClassName
  1146. ##
  1147. priorityClassName: ""
  1148. ## @param orborus.topologySpreadConstraints Topology Spread Constraints for orborus pod assignment spread across your cluster among failure-domains
  1149. ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
  1150. ##
  1151. topologySpreadConstraints: []
  1152. ## @param orborus.schedulerName Name of the k8s scheduler (other than default) for orborus pods
  1153. ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  1154. ##
  1155. schedulerName: ""
  1156. ## @param orborus.terminationGracePeriodSeconds Seconds orborus pods need to terminate gracefully
  1157. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
  1158. ##
  1159. terminationGracePeriodSeconds: ""
  1160. ## @param orborus.lifecycleHooks for orborus containers to automate configuration before or after startup
  1161. ##
  1162. lifecycleHooks: {}
  1163. ## @param orborus.extraEnvVars Array with extra environment variables to add to orborus containers
  1164. ## e.g:
  1165. ## extraEnvVars:
  1166. ## - name: FOO
  1167. ## value: "bar"
  1168. ##
  1169. extraEnvVars: []
  1170. ## @param orborus.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for orborus containers
  1171. ##
  1172. extraEnvVarsCM: ""
  1173. ## @param orborus.extraEnvVarsSecret Name of existing Secret containing extra env vars for orborus containers
  1174. ##
  1175. extraEnvVarsSecret: ""
  1176. ## @param orborus.extraVolumes Optionally specify extra list of additional volumes for the orborus pods
  1177. ##
  1178. extraVolumes: []
  1179. ## @param orborus.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the orborus containers
  1180. ##
  1181. extraVolumeMounts: []
  1182. ## @param orborus.sidecars Add additional sidecar containers to the orborus pods
  1183. ## e.g:
  1184. ## sidecars:
  1185. ## - name: your-image-name
  1186. ## image: your-image
  1187. ## imagePullPolicy: Always
  1188. ## ports:
  1189. ## - name: portname
  1190. ## containerPort: 1234
  1191. ##
  1192. sidecars: []
  1193. ## @param orborus.initContainers Add additional init containers to the orborus pods
  1194. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
  1195. ## e.g:
  1196. ## initContainers:
  1197. ## - name: your-image-name
  1198. ## image: your-image
  1199. ## imagePullPolicy: Always
  1200. ## command: ['sh', '-c', 'echo "hello world"']
  1201. ##
  1202. initContainers: []
  1203. ## Pod Disruption Budget configuration
  1204. ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
  1205. ## @param orborus.pdb.create Enable/disable a Pod Disruption Budget creation
  1206. ## @param orborus.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
  1207. ## @param orborus.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `orborus.pdb.minAvailable` and `orborus.pdb.maxUnavailable` are empty.
  1208. ##
  1209. pdb:
  1210. create: true
  1211. minAvailable: ""
  1212. maxUnavailable: ""
  1213. ## Autoscaling configuration
  1214. ## ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/
  1215. ##
  1216. autoscaling:
  1217. ## @param orborus.autoscaling.vpa.enabled Enable VPA for orborus pods
  1218. ## @param orborus.autoscaling.vpa.annotations Annotations for VPA resource
  1219. ## @param orborus.autoscaling.vpa.controlledResources VPA List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
  1220. ## @param orborus.autoscaling.vpa.maxAllowed VPA Max allowed resources for the pod
  1221. ## @param orborus.autoscaling.vpa.minAllowed VPA Min allowed resources for the pod
  1222. ##
  1223. vpa:
  1224. enabled: false
  1225. annotations: {}
  1226. controlledResources: []
  1227. maxAllowed: {}
  1228. minAllowed: {}
  1229. ## @param orborus.autoscaling.vpa.updatePolicy.updateMode Autoscaling update policy
  1230. ## Specifies whether recommended updates are applied when a Pod is started and whether recommended updates are applied during the life of a Pod
  1231. ## Possible values are "Off", "Initial", "Recreate", and "Auto".
  1232. ##
  1233. updatePolicy:
  1234. updateMode: Auto
  1235. ## @param orborus.autoscaling.hpa.enabled Enable HPA for orborus pods
  1236. ## @param orborus.autoscaling.hpa.minReplicas Minimum number of replicas
  1237. ## @param orborus.autoscaling.hpa.maxReplicas Maximum number of replicas
  1238. ## @param orborus.autoscaling.hpa.targetCPU Target CPU utilization percentage
  1239. ## @param orborus.autoscaling.hpa.targetMemory Target Memory utilization percentage
  1240. ##
  1241. hpa:
  1242. enabled: false
  1243. minReplicas: ""
  1244. maxReplicas: ""
  1245. targetCPU: ""
  1246. targetMemory: ""
  1247. ## ServiceAccount configuration
  1248. ##
  1249. serviceAccount:
  1250. ## @param orborus.serviceAccount.create Specifies whether a ServiceAccount should be created
  1251. ##
  1252. create: true
  1253. ## @param orborus.serviceAccount.name The name of the ServiceAccount to use.
  1254. ## If not set and create is true, a name is generated using the common.names.fullname template
  1255. ##
  1256. name: ""
  1257. ## @param orborus.serviceAccount.annotations Additional Service Account annotations (evaluated as a template)
  1258. ##
  1259. annotations: {}
  1260. ## @param orborus.serviceAccount.automountServiceAccountToken Automount service account token for the orborus service account
  1261. ##
  1262. automountServiceAccountToken: true
  1263. ## @param orborus.serviceAccount.imagePullSecrets Add image pull secrets to the orborus service account
  1264. ##
  1265. imagePullSecrets: []
  1266. ## RBAC configuration
  1267. ##
  1268. rbac:
  1269. ## @param orborus.rbac.create Specifies whether RBAC resources should be created
  1270. create: true
  1271. ## Network Policies
  1272. ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
  1273. ##
  1274. networkPolicy:
  1275. ## @param orborus.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
  1276. ##
  1277. enabled: true
  1278. ## @param orborus.networkPolicy.allowExternal Don't require server label for connections
  1279. ## The Policy model to apply. When set to false, only pods with the correct
  1280. ## server label will have network access to the ports server is listening
  1281. ## on. When true, server will accept connections from any source
  1282. ## (with the correct destination port).
  1283. ##
  1284. allowExternal: true
  1285. ## @param orborus.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
  1286. ##
  1287. allowExternalEgress: true
  1288. ## @param orborus.networkPolicy.extraIngress Add extra ingress rules to the NetworkPolicy
  1289. ##
  1290. extraIngress: []
  1291. ## @param orborus.networkPolicy.extraEgress Add extra ingress rules to the NetworkPolicy (ignored if allowExternalEgress=true)
  1292. ## NOTE: You likely want to allow access to cluster-proxies, e.g:
  1293. ## extraEgress:
  1294. ## - to:
  1295. ## - namespaceSelector:
  1296. ## matchLabels:
  1297. ## kubernetes.io/metadata.name: istio-system
  1298. ## podSelector:
  1299. ## matchLabels:
  1300. ## istio: pilot
  1301. ##
  1302. extraEgress: []
  1303. ## @param orborus.executionConcurrency The maximum amount of concurrent workflow executions per worker
  1304. ##
  1305. executionConcurrency: 25
  1306. ## @param orborus.manageWorkerDeployments Whether workers are deployed and managed by orborus. When disabled, every worker is expected to be already deployed (see worker.enableHelmDeployment).
  1307. ## This effectively removes required RBAC permissions from the shuffle-orborus service account to create deployments and services.
  1308. ## Orborus might still attempt to create kubernetes objects, resulting in an error. There is currently no way to tell orborus, that it should not manage k8s resources.
  1309. ## You likely want to disable worker.enableHelmDeployment when enabling this.
  1310. manageWorkerDeployments: true
  1311. ## @section worker Parameters
  1312. ##
  1313. worker:
  1314. ## @param worker.enableHelmDeployment Deploy worker via helm. By default, workers are deployed by Orborus.
  1315. ## You might want to disable orborus.manageWorkerDeployments when enabling this.
  1316. enableHelmDeployment: false
  1317. ## worker image
  1318. ## @param worker.image.registry worker image registry
  1319. ## @param worker.image.repository worker image repository
  1320. ## @param worker.image.tag worker image tag (immutable tags are recommended, defaults to appVersion)
  1321. ## @param worker.image.digest worker image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag image tag (immutable tags are recommended)
  1322. ## @param worker.image.pullPolicy worker image pull policy. Only effective with worker.enableHelmDeployment.
  1323. ## @param worker.image.pullSecrets worker image pull secrets. Only effective with worker.enableHelmDeployment.
  1324. ##
  1325. image:
  1326. registry: ghcr.io
  1327. repository: shuffle/shuffle-worker
  1328. tag: ""
  1329. digest: ""
  1330. ## Specify a imagePullPolicy
  1331. ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
  1332. ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
  1333. ##
  1334. pullPolicy: IfNotPresent
  1335. ## Optionally specify an array of imagePullSecrets.
  1336. ## Secrets must be manually created in the namespace.
  1337. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  1338. ## e.g:
  1339. ## pullSecrets:
  1340. ## - myRegistryKeySecretName
  1341. ##
  1342. pullSecrets: []
  1343. ## @param worker.replicaCount Number of worker replicas to deploy. Only effective with worker.enableHelmDeployment.
  1344. ##
  1345. replicaCount: 1
  1346. ## @param worker.containerPorts.http backend HTTP container port
  1347. ##
  1348. containerPorts:
  1349. http: 33333
  1350. ## @param worker.extraContainerPorts Optionally specify extra list of additional ports for worker containers. Only effective with worker.enableHelmDeployment.
  1351. ## e.g:
  1352. ## extraContainerPorts:
  1353. ## - name: myservice
  1354. ## containerPort: 9090
  1355. ##
  1356. extraContainerPorts: []
  1357. ## Configure extra options for worker containers' liveness and readiness probes
  1358. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
  1359. ## @param worker.livenessProbe.enabled Enable livenessProbe on worker containers. Only effective with worker.enableHelmDeployment.
  1360. ## @param worker.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
  1361. ## @param worker.livenessProbe.periodSeconds Period seconds for livenessProbe
  1362. ## @param worker.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
  1363. ## @param worker.livenessProbe.failureThreshold Failure threshold for livenessProbe
  1364. ## @param worker.livenessProbe.successThreshold Success threshold for livenessProbe
  1365. ##
  1366. livenessProbe:
  1367. enabled: false
  1368. initialDelaySeconds: 0
  1369. periodSeconds: 15
  1370. timeoutSeconds: 1
  1371. failureThreshold: 4
  1372. successThreshold: 1
  1373. ## @param worker.readinessProbe.enabled Enable readinessProbe on worker containers. Only effective with worker.enableHelmDeployment.
  1374. ## @param worker.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
  1375. ## @param worker.readinessProbe.periodSeconds Period seconds for readinessProbe
  1376. ## @param worker.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
  1377. ## @param worker.readinessProbe.failureThreshold Failure threshold for readinessProbe
  1378. ## @param worker.readinessProbe.successThreshold Success threshold for readinessProbe
  1379. ##
  1380. readinessProbe:
  1381. enabled: false
  1382. initialDelaySeconds: 0
  1383. periodSeconds: 5
  1384. timeoutSeconds: 1
  1385. failureThreshold: 3
  1386. successThreshold: 1
  1387. ## @param worker.startupProbe.enabled Enable startupProbe on worker containers. Only effective with worker.enableHelmDeployment.
  1388. ## @param worker.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
  1389. ## @param worker.startupProbe.periodSeconds Period seconds for startupProbe
  1390. ## @param worker.startupProbe.timeoutSeconds Timeout seconds for startupProbe
  1391. ## @param worker.startupProbe.failureThreshold Failure threshold for startupProbe
  1392. ## @param worker.startupProbe.successThreshold Success threshold for startupProbe
  1393. ##
  1394. startupProbe:
  1395. enabled: false
  1396. initialDelaySeconds: 0
  1397. periodSeconds: 1
  1398. timeoutSeconds: 1
  1399. failureThreshold: 60
  1400. successThreshold: 1
  1401. ## @param worker.customLivenessProbe Custom livenessProbe that overrides the default one. Only effective with worker.enableHelmDeployment.
  1402. ##
  1403. customLivenessProbe: {}
  1404. ## @param worker.customReadinessProbe Custom readinessProbe that overrides the default one. Only effective with worker.enableHelmDeployment.
  1405. ##
  1406. customReadinessProbe: {}
  1407. ## @param worker.customStartupProbe Custom startupProbe that overrides the default one. Only effective with worker.enableHelmDeployment.
  1408. ##
  1409. customStartupProbe: {}
  1410. ## worker resource requests and limits
  1411. ## ref: http://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
  1412. ## @param worker.resourcesPreset Set worker container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if worker.resources is set (worker.resources is recommended for production).
  1413. ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
  1414. ##
  1415. resourcesPreset: "nano"
  1416. ## @param worker.resources Set worker container requests and limits for different resources like CPU or memory (essential for production workloads)
  1417. ## Example:
  1418. ## resources:
  1419. ## requests:
  1420. ## cpu: 2
  1421. ## memory: 512Mi
  1422. ## limits:
  1423. ## cpu: 3
  1424. ## memory: 1024Mi
  1425. ##
  1426. resources: {}
  1427. ## Configure Pods Security Context
  1428. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
  1429. ## @param worker.podSecurityContext.enabled Enable worker pods' Security Context
  1430. ## @param worker.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy for worker pods
  1431. ## @param worker.podSecurityContext.sysctls Set kernel settings using the sysctl interface for worker pods
  1432. ## @param worker.podSecurityContext.supplementalGroups Set filesystem extra groups for worker pods
  1433. ## @param worker.podSecurityContext.fsGroup Set fsGroup in worker pods' Security Context
  1434. ##
  1435. podSecurityContext:
  1436. enabled: true
  1437. fsGroupChangePolicy: Always
  1438. sysctls: []
  1439. supplementalGroups: []
  1440. fsGroup: 1001
  1441. ## Configure Container Security Context
  1442. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
  1443. ## @param worker.containerSecurityContext.enabled Enabled worker container' Security Context
  1444. ## @param worker.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in worker container
  1445. ## @param worker.containerSecurityContext.runAsUser Set runAsUser in worker container' Security Context
  1446. ## @param worker.containerSecurityContext.runAsGroup Set runAsGroup in worker container' Security Context
  1447. ## @param worker.containerSecurityContext.runAsNonRoot Set runAsNonRoot in worker container' Security Context
  1448. ## @param worker.containerSecurityContext.readOnlyRootFilesystem Set readOnlyRootFilesystem in worker container' Security Context
  1449. ## @param worker.containerSecurityContext.privileged Set privileged in worker container' Security Context
  1450. ## @param worker.containerSecurityContext.allowPrivilegeEscalation Set allowPrivilegeEscalation in worker container' Security Context
  1451. ## @param worker.containerSecurityContext.capabilities.drop List of capabilities to be dropped in worker container
  1452. ## @param worker.containerSecurityContext.seccompProfile.type Set seccomp profile in worker container
  1453. ##
  1454. containerSecurityContext:
  1455. enabled: true
  1456. seLinuxOptions: {}
  1457. runAsUser: 1001
  1458. runAsGroup: 1001
  1459. runAsNonRoot: true
  1460. readOnlyRootFilesystem: true
  1461. privileged: false
  1462. allowPrivilegeEscalation: false
  1463. capabilities:
  1464. drop: ["ALL"]
  1465. seccompProfile:
  1466. type: "RuntimeDefault"
  1467. ## @param worker.command Override default worker container command (useful when using custom images). Only effective with worker.enableHelmDeployment.
  1468. ##
  1469. command: []
  1470. ## @param worker.args Override default worker container args (useful when using custom images). Only effective with worker.enableHelmDeployment.
  1471. ##
  1472. args: []
  1473. ## @param worker.automountServiceAccountToken Mount Service Account token in worker pods. Only effective with worker.enableHelmDeployment.
  1474. ## NOTE: worker requires the service account credentials to be mounted if manageAppDeployments is enabled.
  1475. ##
  1476. automountServiceAccountToken: true
  1477. ## @param worker.hostAliases worker pods host aliases. Only effective with worker.enableHelmDeployment.
  1478. ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
  1479. ##
  1480. hostAliases: []
  1481. ## @param worker.deploymentAnnotations Annotations for worker deployment. Only effective with worker.enableHelmDeployment.
  1482. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  1483. ##
  1484. deploymentAnnotations: {}
  1485. ## @param worker.podLabels Extra labels for worker pods. Only effective with worker.enableHelmDeployment.
  1486. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  1487. ##
  1488. podLabels: {}
  1489. ## @param worker.podAnnotations Annotations for worker pods. Only effective with worker.enableHelmDeployment.
  1490. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  1491. ##
  1492. podAnnotations: {}
  1493. ## @param worker.podAffinityPreset Pod affinity preset. Ignored if `worker.affinity` is set. Allowed values: `soft` or `hard`. Only effective with worker.enableHelmDeployment.
  1494. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  1495. ##
  1496. podAffinityPreset: ""
  1497. ## @param worker.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `worker.affinity` is set. Allowed values: `soft` or `hard`. Only effective with worker.enableHelmDeployment.
  1498. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  1499. ##
  1500. podAntiAffinityPreset: soft
  1501. ## Node worker.affinity preset
  1502. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
  1503. ##
  1504. nodeAffinityPreset:
  1505. ## @param worker.nodeAffinityPreset.type Node affinity preset type. Ignored if `worker.affinity` is set. Allowed values: `soft` or `hard`. Only effective with worker.enableHelmDeployment.
  1506. ##
  1507. type: ""
  1508. ## @param worker.nodeAffinityPreset.key Node label key to match. Ignored if `worker.affinity` is set
  1509. ##
  1510. key: ""
  1511. ## @param worker.nodeAffinityPreset.values Node label values to match. Ignored if `worker.affinity` is set
  1512. ## E.g.
  1513. ## values:
  1514. ## - e2e-az1
  1515. ## - e2e-az2
  1516. ##
  1517. values: []
  1518. ## @param worker.affinity Affinity for worker pods assignment. Only effective with worker.enableHelmDeployment.
  1519. ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
  1520. ## NOTE: `worker.podAffinityPreset`, `worker.podAntiAffinityPreset`, and `worker.nodeAffinityPreset` will be ignored when it's set
  1521. ##
  1522. affinity: {}
  1523. ## @param worker.nodeSelector Node labels for worker pods assignment. Only effective with worker.enableHelmDeployment.
  1524. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
  1525. ##
  1526. nodeSelector: {}
  1527. ## @param worker.tolerations Tolerations for worker pods assignment. Only effective with worker.enableHelmDeployment.
  1528. ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  1529. ##
  1530. tolerations: []
  1531. ## @param worker.updateStrategy.type worker deployment strategy type. Only effective with worker.enableHelmDeployment.
  1532. ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
  1533. ##
  1534. updateStrategy:
  1535. ## Can be set to RollingUpdate or Recreate
  1536. ##
  1537. type: RollingUpdate
  1538. ## @param worker.priorityClassName worker pods' priorityClassName. Only effective with worker.enableHelmDeployment.
  1539. ##
  1540. priorityClassName: ""
  1541. ## @param worker.topologySpreadConstraints Topology Spread Constraints for worker pod assignment spread across your cluster among failure-domains. Only effective with worker.enableHelmDeployment.
  1542. ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
  1543. ##
  1544. topologySpreadConstraints: []
  1545. ## @param worker.schedulerName Name of the k8s scheduler (other than default) for worker pods. Only effective with worker.enableHelmDeployment.
  1546. ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  1547. ##
  1548. schedulerName: ""
  1549. ## @param worker.terminationGracePeriodSeconds Seconds worker pods need to terminate gracefully. Only effective with worker.enableHelmDeployment.
  1550. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
  1551. ##
  1552. terminationGracePeriodSeconds: ""
  1553. ## @param worker.lifecycleHooks for worker containers to automate configuration before or after startup. Only effective with worker.enableHelmDeployment.
  1554. ##
  1555. lifecycleHooks: {}
  1556. ## @param worker.extraEnvVars Array with extra environment variables to add to worker containers. Only effective with worker.enableHelmDeployment.
  1557. ## e.g:
  1558. ## extraEnvVars:
  1559. ## - name: FOO
  1560. ## value: "bar"
  1561. ##
  1562. extraEnvVars: []
  1563. ## @param worker.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for worker containers. Only effective with worker.enableHelmDeployment.
  1564. ##
  1565. extraEnvVarsCM: ""
  1566. ## @param worker.extraEnvVarsSecret Name of existing Secret containing extra env vars for worker containers. Only effective with worker.enableHelmDeployment.
  1567. ##
  1568. extraEnvVarsSecret: ""
  1569. ## @param worker.extraVolumes Optionally specify extra list of additional volumes for the worker pods. Only effective with worker.enableHelmDeployment.
  1570. ##
  1571. extraVolumes: []
  1572. ## @param worker.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the worker containers. Only effective with worker.enableHelmDeployment.
  1573. ##
  1574. extraVolumeMounts: []
  1575. ## @param worker.sidecars Add additional sidecar containers to the worker pods. Only effective with worker.enableHelmDeployment.
  1576. ## e.g:
  1577. ## sidecars:
  1578. ## - name: your-image-name
  1579. ## image: your-image
  1580. ## imagePullPolicy: Always
  1581. ## ports:
  1582. ## - name: portname
  1583. ## containerPort: 1234
  1584. ##
  1585. sidecars: []
  1586. ## @param worker.initContainers Add additional init containers to the worker pods. Only effective with worker.enableHelmDeployment.
  1587. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
  1588. ## e.g:
  1589. ## initContainers:
  1590. ## - name: your-image-name
  1591. ## image: your-image
  1592. ## imagePullPolicy: Always
  1593. ## command: ['sh', '-c', 'echo "hello world"']
  1594. ##
  1595. initContainers: []
  1596. ## Pod Disruption Budget configuration
  1597. ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
  1598. ## @param worker.pdb.create Enable/disable a Pod Disruption Budget creation. Only effective with worker.enableHelmDeployment.
  1599. ## @param worker.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
  1600. ## @param worker.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `worker.pdb.minAvailable` and `worker.pdb.maxUnavailable` are empty.
  1601. ##
  1602. pdb:
  1603. create: true
  1604. minAvailable: ""
  1605. maxUnavailable: ""
  1606. ## Autoscaling configuration
  1607. ## ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/
  1608. ##
  1609. autoscaling:
  1610. ## @param worker.autoscaling.vpa.enabled Enable VPA for worker pods. Only effective with worker.enableHelmDeployment.
  1611. ## @param worker.autoscaling.vpa.annotations Annotations for VPA resource
  1612. ## @param worker.autoscaling.vpa.controlledResources VPA List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
  1613. ## @param worker.autoscaling.vpa.maxAllowed VPA Max allowed resources for the pod
  1614. ## @param worker.autoscaling.vpa.minAllowed VPA Min allowed resources for the pod
  1615. ##
  1616. vpa:
  1617. enabled: false
  1618. annotations: {}
  1619. controlledResources: []
  1620. maxAllowed: {}
  1621. minAllowed: {}
  1622. ## @param worker.autoscaling.vpa.updatePolicy.updateMode Autoscaling update policy
  1623. ## Specifies whether recommended updates are applied when a Pod is started and whether recommended updates are applied during the life of a Pod
  1624. ## Possible values are "Off", "Initial", "Recreate", and "Auto".
  1625. ##
  1626. updatePolicy:
  1627. updateMode: Auto
  1628. ## @param worker.autoscaling.hpa.enabled Enable HPA for worker pods. Only effective with worker.enableHelmDeployment.
  1629. ## @param worker.autoscaling.hpa.minReplicas Minimum number of replicas
  1630. ## @param worker.autoscaling.hpa.maxReplicas Maximum number of replicas
  1631. ## @param worker.autoscaling.hpa.targetCPU Target CPU utilization percentage
  1632. ## @param worker.autoscaling.hpa.targetMemory Target Memory utilization percentage
  1633. ##
  1634. hpa:
  1635. enabled: false
  1636. minReplicas: ""
  1637. maxReplicas: ""
  1638. targetCPU: ""
  1639. targetMemory: ""
  1640. ## Service configuration
  1641. ##
  1642. service:
  1643. ## @param worker.service.labels Extra labels for worker service. Only effective with worker.enableHelmDeployment.
  1644. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  1645. ##
  1646. labels: {}
  1647. ## ServiceAccount configuration
  1648. ##
  1649. serviceAccount:
  1650. ## @param worker.serviceAccount.create Specifies whether a ServiceAccount should be created
  1651. ##
  1652. create: true
  1653. ## @param worker.serviceAccount.name The name of the ServiceAccount to use.
  1654. ## If not set and create is true, a name is generated using the common.names.fullname template
  1655. ##
  1656. name: ""
  1657. ## @param worker.serviceAccount.annotations Additional Service Account annotations (evaluated as a template)
  1658. ##
  1659. annotations: {}
  1660. ## @param worker.serviceAccount.automountServiceAccountToken Automount service account token for the worker service account
  1661. ##
  1662. automountServiceAccountToken: true
  1663. ## @param worker.serviceAccount.imagePullSecrets Add image pull secrets to the worker service account
  1664. ##
  1665. imagePullSecrets: []
  1666. ## RBAC configuration
  1667. ##
  1668. rbac:
  1669. ## @param worker.rbac.create Specifies whether RBAC resources should be created
  1670. create: true
  1671. ## Network Policies
  1672. ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
  1673. ##
  1674. networkPolicy:
  1675. ## @param worker.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
  1676. ##
  1677. enabled: true
  1678. ## @param worker.networkPolicy.allowExternal Don't require server label for connections
  1679. ## The Policy model to apply. When set to false, only pods with the correct
  1680. ## server label will have network access to the ports server is listening
  1681. ## on. When true, server will accept connections from any source
  1682. ## (with the correct destination port).
  1683. ##
  1684. allowExternal: true
  1685. ## @param worker.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
  1686. ##
  1687. allowExternalEgress: true
  1688. ## @param worker.networkPolicy.extraIngress Add extra ingress rules to the NetworkPolicy
  1689. ##
  1690. extraIngress: []
  1691. ## @param worker.networkPolicy.extraEgress Add extra ingress rules to the NetworkPolicy (ignored if allowExternalEgress=true)
  1692. ## NOTE: You likely want to allow access to cluster-proxies, e.g:
  1693. ## extraEgress:
  1694. ## - to:
  1695. ## - namespaceSelector:
  1696. ## matchLabels:
  1697. ## kubernetes.io/metadata.name: istio-system
  1698. ## podSelector:
  1699. ## matchLabels:
  1700. ## istio: pilot
  1701. ##
  1702. extraEgress: []
  1703. ## @param worker.manageAppDeployments Whether apps are deployed and managed by worker. When disabled, every used app is expected to to be already deployed (see apps.enabled).
  1704. ## This effectively removes required RBAC permissions from the shuffle-worker service account to create deployments and services.
  1705. ## The worker might still attempt to create kubernetes objects, resulting in an error. There is currently no way to tell the worker, that it should not manage k8s resources.
  1706. manageAppDeployments: true
  1707. ## @section app Parameters
  1708. ##
  1709. app:
  1710. ## @param app.image.registry app image registry (defaults to shuffle.appRegistry)
  1711. ## @param app.image.repository app image repository (defaults to shuffle.appBaseImageName)
  1712. ## @param app.image.tag app image tag (defaults to the apps version)
  1713. ## @param app.image.pullPolicy default image pull policy for app deployments. Only effective for helm-deployed apps (see apps.enabled).
  1714. ## @param app.image.pullSecrets default image pull secrets for app deployments. Only effective for helm-deployed apps (see apps.enabled).
  1715. ##
  1716. image:
  1717. registry: ""
  1718. repository: ""
  1719. tag: ""
  1720. ## Specify a imagePullPolicy
  1721. ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
  1722. ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
  1723. ##
  1724. pullPolicy: IfNotPresent
  1725. ## Optionally specify an array of imagePullSecrets.
  1726. ## Secrets must be manually created in the namespace.
  1727. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  1728. ## e.g:
  1729. ## pullSecrets:
  1730. ## - myRegistryKeySecretName
  1731. ##
  1732. pullSecrets: []
  1733. ## @param app.replicaCount Default number of replicas to deploy for each app. Only effective for helm-deployed apps (see apps.enabled).
  1734. ##
  1735. replicaCount: 1
  1736. ## @param app.extraContainerPorts Optionally specify extra list of additional ports for app containers. Only effective for helm-deployed apps (see apps.enabled).
  1737. ## e.g:
  1738. ## extraContainerPorts:
  1739. ## - name: myservice
  1740. ## containerPort: 9090
  1741. ##
  1742. extraContainerPorts: []
  1743. ## Configure extra options for app containers' liveness and readiness probes
  1744. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
  1745. ## @param app.livenessProbe.enabled Enable livenessProbe on app containers. Only effective for helm-deployed apps (see apps.enabled).
  1746. ## @param app.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
  1747. ## @param app.livenessProbe.periodSeconds Period seconds for livenessProbe
  1748. ## @param app.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
  1749. ## @param app.livenessProbe.failureThreshold Failure threshold for livenessProbe
  1750. ## @param app.livenessProbe.successThreshold Success threshold for livenessProbe
  1751. ##
  1752. livenessProbe:
  1753. enabled: false
  1754. initialDelaySeconds: 0
  1755. periodSeconds: 15
  1756. timeoutSeconds: 1
  1757. failureThreshold: 4
  1758. successThreshold: 1
  1759. ## @param app.readinessProbe.enabled Enable readinessProbe on app containers. Only effective for helm-deployed apps (see apps.enabled).
  1760. ## @param app.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
  1761. ## @param app.readinessProbe.periodSeconds Period seconds for readinessProbe
  1762. ## @param app.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
  1763. ## @param app.readinessProbe.failureThreshold Failure threshold for readinessProbe
  1764. ## @param app.readinessProbe.successThreshold Success threshold for readinessProbe
  1765. ##
  1766. readinessProbe:
  1767. enabled: false
  1768. initialDelaySeconds: 0
  1769. periodSeconds: 5
  1770. timeoutSeconds: 1
  1771. failureThreshold: 3
  1772. successThreshold: 1
  1773. ## @param app.startupProbe.enabled Enable startupProbe on app containers. Only effective for helm-deployed apps (see apps.enabled).
  1774. ## @param app.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
  1775. ## @param app.startupProbe.periodSeconds Period seconds for startupProbe
  1776. ## @param app.startupProbe.timeoutSeconds Timeout seconds for startupProbe
  1777. ## @param app.startupProbe.failureThreshold Failure threshold for startupProbe
  1778. ## @param app.startupProbe.successThreshold Success threshold for startupProbe
  1779. ##
  1780. startupProbe:
  1781. enabled: false
  1782. initialDelaySeconds: 0
  1783. periodSeconds: 1
  1784. timeoutSeconds: 1
  1785. failureThreshold: 60
  1786. successThreshold: 1
  1787. ## @param app.customLivenessProbe Custom livenessProbe that overrides the default one. Only effective for helm-deployed apps (see apps.enabled).
  1788. ##
  1789. customLivenessProbe: {}
  1790. ## @param app.customReadinessProbe Custom readinessProbe that overrides the default one. Only effective for helm-deployed apps (see apps.enabled).
  1791. ##
  1792. customReadinessProbe: {}
  1793. ## @param app.customStartupProbe Custom startupProbe that overrides the default one. Only effective for helm-deployed apps (see apps.enabled).
  1794. ##
  1795. customStartupProbe: {}
  1796. ## app resource requests and limits
  1797. ## ref: http://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
  1798. ## @param app.resourcesPreset Set app container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if app.resources is set (app.resources is recommended for production).
  1799. ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
  1800. ##
  1801. resourcesPreset: "nano"
  1802. ## @param app.resources Set app container requests and limits for different resources like CPU or memory (essential for production workloads)
  1803. ## Example:
  1804. ## resources:
  1805. ## requests:
  1806. ## cpu: 2
  1807. ## memory: 512Mi
  1808. ## limits:
  1809. ## cpu: 3
  1810. ## memory: 1024Mi
  1811. ##
  1812. resources: {}
  1813. ## Configure Pods Security Context
  1814. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
  1815. ## @param app.podSecurityContext.enabled Enable app pods' Security Context
  1816. ## @param app.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy for app pods
  1817. ## @param app.podSecurityContext.sysctls Set kernel settings using the sysctl interface for app pods
  1818. ## @param app.podSecurityContext.supplementalGroups Set filesystem extra groups for app pods
  1819. ## @param app.podSecurityContext.fsGroup Set fsGroup in app pods' Security Context
  1820. ##
  1821. podSecurityContext:
  1822. enabled: true
  1823. fsGroupChangePolicy: Always
  1824. sysctls: []
  1825. supplementalGroups: []
  1826. fsGroup: 1001
  1827. ## Configure Container Security Context
  1828. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
  1829. ## @param app.containerSecurityContext.enabled Enabled app container' Security Context
  1830. ## @param app.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in app container
  1831. ## @param app.containerSecurityContext.runAsUser Set runAsUser in app container' Security Context
  1832. ## @param app.containerSecurityContext.runAsGroup Set runAsGroup in app container' Security Context
  1833. ## @param app.containerSecurityContext.runAsNonRoot Set runAsNonRoot in app container' Security Context
  1834. ## @param app.containerSecurityContext.readOnlyRootFilesystem Set readOnlyRootFilesystem in app container' Security Context
  1835. ## @param app.containerSecurityContext.privileged Set privileged in app container' Security Context
  1836. ## @param app.containerSecurityContext.allowPrivilegeEscalation Set allowPrivilegeEscalation in app container' Security Context
  1837. ## @param app.containerSecurityContext.capabilities.drop List of capabilities to be dropped in app container
  1838. ## @param app.containerSecurityContext.seccompProfile.type Set seccomp profile in app container
  1839. ##
  1840. containerSecurityContext:
  1841. enabled: true
  1842. seLinuxOptions: {}
  1843. runAsUser: 1001
  1844. runAsGroup: 1001
  1845. runAsNonRoot: true
  1846. readOnlyRootFilesystem: true
  1847. privileged: false
  1848. allowPrivilegeEscalation: false
  1849. capabilities:
  1850. drop: ["ALL"]
  1851. seccompProfile:
  1852. type: "RuntimeDefault"
  1853. ## @param app.command Override default app container command (useful when using custom images)
  1854. ##
  1855. command: []
  1856. ## @param app.args Override default app container args (useful when using custom images)
  1857. ##
  1858. args: []
  1859. ## @param app.automountServiceAccountToken Mount Service Account token in app pods. Only effective for helm-deployed apps (see apps.enabled).
  1860. ##
  1861. automountServiceAccountToken: false
  1862. ## @param app.hostAliases app pods host aliases. Only effective for helm-deployed apps (see apps.enabled).
  1863. ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
  1864. ##
  1865. hostAliases: []
  1866. ## @param app.deploymentAnnotations Annotations for app deployment. Only effective for helm-deployed apps (see apps.enabled).
  1867. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  1868. ##
  1869. deploymentAnnotations: {}
  1870. ## @param app.podLabels Extra labels for app pods. Only effective for helm-deployed apps (see apps.enabled).
  1871. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  1872. ##
  1873. podLabels: {}
  1874. ## @param app.podAnnotations Annotations for app pods. Only effective for helm-deployed apps (see apps.enabled).
  1875. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  1876. ##
  1877. podAnnotations: {}
  1878. ## @param app.podAffinityPreset Pod affinity preset. Ignored if `app.affinity` is set. Allowed values: `soft` or `hard`. Only effective for helm-deployed apps (see apps.enabled).
  1879. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  1880. ##
  1881. podAffinityPreset: ""
  1882. ## @param app.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `app.affinity` is set. Allowed values: `soft` or `hard`. Only effective for helm-deployed apps (see apps.enabled).
  1883. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  1884. ##
  1885. podAntiAffinityPreset: soft
  1886. ## Node app.affinity preset
  1887. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
  1888. ##
  1889. nodeAffinityPreset:
  1890. ## @param app.nodeAffinityPreset.type Node affinity preset type. Ignored if `app.affinity` is set. Allowed values: `soft` or `hard`. Only effective for helm-deployed apps (see apps.enabled).
  1891. ##
  1892. type: ""
  1893. ## @param app.nodeAffinityPreset.key Node label key to match. Ignored if `app.affinity` is set
  1894. ##
  1895. key: ""
  1896. ## @param app.nodeAffinityPreset.values Node label values to match. Ignored if `app.affinity` is set
  1897. ## E.g.
  1898. ## values:
  1899. ## - e2e-az1
  1900. ## - e2e-az2
  1901. ##
  1902. values: []
  1903. ## @param app.affinity Affinity for app pods assignment. Only effective for helm-deployed apps (see apps.enabled).
  1904. ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
  1905. ## NOTE: `app.podAffinityPreset`, `app.podAntiAffinityPreset`, and `app.nodeAffinityPreset` will be ignored when it's set
  1906. ##
  1907. affinity: {}
  1908. ## @param app.nodeSelector Node labels for app pods assignment. Only effective for helm-deployed apps (see apps.enabled).
  1909. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
  1910. ##
  1911. nodeSelector: {}
  1912. ## @param app.tolerations Tolerations for app pods assignment. Only effective for helm-deployed apps (see apps.enabled).
  1913. ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  1914. ##
  1915. tolerations: []
  1916. ## @param app.updateStrategy.type app deployment strategy type. Only effective for helm-deployed apps (see apps.enabled).
  1917. ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
  1918. ##
  1919. updateStrategy:
  1920. ## Can be set to RollingUpdate or Recreate
  1921. ##
  1922. type: RollingUpdate
  1923. ## @param app.priorityClassName app pods' priorityClassName. Only effective for helm-deployed apps (see apps.enabled).
  1924. ##
  1925. priorityClassName: ""
  1926. ## @param app.topologySpreadConstraints Topology Spread Constraints for app pod assignment spread across your cluster among failure-domains. Only effective for helm-deployed apps (see apps.enabled).
  1927. ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
  1928. ##
  1929. topologySpreadConstraints: []
  1930. ## @param app.schedulerName Name of the k8s scheduler (other than default) for app pods. Only effective for helm-deployed apps (see apps.enabled).
  1931. ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  1932. ##
  1933. schedulerName: ""
  1934. ## @param app.terminationGracePeriodSeconds Seconds app pods need to terminate gracefully. Only effective for helm-deployed apps (see apps.enabled).
  1935. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
  1936. ##
  1937. terminationGracePeriodSeconds: ""
  1938. ## @param app.lifecycleHooks for app containers to automate configuration before or after startup. Only effective for helm-deployed apps (see apps.enabled).
  1939. ##
  1940. lifecycleHooks: {}
  1941. ## @param app.extraEnvVars Array with extra environment variables to add to app containers. Only effective for helm-deployed apps (see apps.enabled).
  1942. ## e.g:
  1943. ## extraEnvVars:
  1944. ## - name: FOO
  1945. ## value: "bar"
  1946. ##
  1947. extraEnvVars: []
  1948. ## @param app.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for app containers. Only effective for helm-deployed apps (see apps.enabled).
  1949. ##
  1950. extraEnvVarsCM: ""
  1951. ## @param app.extraEnvVarsSecret Name of existing Secret containing extra env vars for app containers. Only effective for helm-deployed apps (see apps.enabled).
  1952. ##
  1953. extraEnvVarsSecret: ""
  1954. ## @param app.extraVolumes Optionally specify extra list of additional volumes for the app pods. Only effective for helm-deployed apps (see apps.enabled).
  1955. ##
  1956. extraVolumes: []
  1957. ## @param app.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the app containers. Only effective for helm-deployed apps (see apps.enabled).
  1958. ##
  1959. extraVolumeMounts: []
  1960. ## @param app.sidecars Add additional sidecar containers to the app pods. Only effective for helm-deployed apps (see apps.enabled).
  1961. ## e.g:
  1962. ## sidecars:
  1963. ## - name: your-image-name
  1964. ## image: your-image
  1965. ## imagePullPolicy: Always
  1966. ## ports:
  1967. ## - name: portname
  1968. ## containerPort: 1234
  1969. ##
  1970. sidecars: []
  1971. ## @param app.initContainers Add additional init containers to the app pods. Only effective for helm-deployed apps (see apps.enabled).
  1972. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
  1973. ## e.g:
  1974. ## initContainers:
  1975. ## - name: your-image-name
  1976. ## image: your-image
  1977. ## imagePullPolicy: Always
  1978. ## command: ['sh', '-c', 'echo "hello world"']
  1979. ##
  1980. initContainers: []
  1981. ## Pod Disruption Budget configuration
  1982. ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
  1983. ## @param app.pdb.create Enable/disable a Pod Disruption Budget creation. Only effective for helm-deployed apps (see apps.enabled).
  1984. ## @param app.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
  1985. ## @param app.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `app.pdb.minAvailable` and `app.pdb.maxUnavailable` are empty.
  1986. ##
  1987. pdb:
  1988. create: true
  1989. minAvailable: ""
  1990. maxUnavailable: ""
  1991. ## Autoscaling configuration
  1992. ## ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/
  1993. ##
  1994. autoscaling:
  1995. ## @param app.autoscaling.vpa.enabled Enable VPA for app pods. Only effective for helm-deployed apps (see apps.enabled).
  1996. ## @param app.autoscaling.vpa.annotations Annotations for VPA resource
  1997. ## @param app.autoscaling.vpa.controlledResources VPA List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
  1998. ## @param app.autoscaling.vpa.maxAllowed VPA Max allowed resources for the pod
  1999. ## @param app.autoscaling.vpa.minAllowed VPA Min allowed resources for the pod
  2000. ##
  2001. vpa:
  2002. enabled: false
  2003. annotations: {}
  2004. controlledResources: []
  2005. maxAllowed: {}
  2006. minAllowed: {}
  2007. ## @param app.autoscaling.vpa.updatePolicy.updateMode Autoscaling update policy
  2008. ## Specifies whether recommended updates are applied when a Pod is started and whether recommended updates are applied during the life of a Pod
  2009. ## Possible values are "Off", "Initial", "Recreate", and "Auto".
  2010. ##
  2011. updatePolicy:
  2012. updateMode: Auto
  2013. ## @param app.autoscaling.hpa.enabled Enable HPA for app pods. Only effective for helm-deployed apps (see apps.enabled).
  2014. ## @param app.autoscaling.hpa.minReplicas Minimum number of replicas
  2015. ## @param app.autoscaling.hpa.maxReplicas Maximum number of replicas
  2016. ## @param app.autoscaling.hpa.targetCPU Target CPU utilization percentage
  2017. ## @param app.autoscaling.hpa.targetMemory Target Memory utilization percentage
  2018. ##
  2019. hpa:
  2020. enabled: false
  2021. minReplicas: ""
  2022. maxReplicas: ""
  2023. targetCPU: ""
  2024. targetMemory: ""
  2025. ## Service configuration
  2026. ##
  2027. service:
  2028. ## @param app.service.labels Extra labels for app service. Only effective for helm-deployed apps (see apps.enabled).
  2029. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  2030. ##
  2031. labels: {}
  2032. ## ServiceAccount configuration
  2033. ##
  2034. serviceAccount:
  2035. ## @param app.serviceAccount.create Specifies whether a ServiceAccount should be created
  2036. ##
  2037. create: true
  2038. ## @param app.serviceAccount.name The name of the ServiceAccount to use.
  2039. ## If not set and create is true, a name is generated using the common.names.fullname template
  2040. ##
  2041. name: ""
  2042. ## @param app.serviceAccount.annotations Additional Service Account annotations (evaluated as a template)
  2043. ##
  2044. annotations: {}
  2045. ## @param app.serviceAccount.automountServiceAccountToken Automount service account token for the app service account
  2046. ##
  2047. automountServiceAccountToken: true
  2048. ## @param app.serviceAccount.imagePullSecrets Add image pull secrets to the app service account
  2049. ##
  2050. imagePullSecrets: []
  2051. ## RBAC configuration
  2052. ##
  2053. rbac:
  2054. ## @param app.rbac.create Specifies whether RBAC resources should be created
  2055. create: true
  2056. ## Network Policies
  2057. ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
  2058. ##
  2059. networkPolicy:
  2060. ## @param app.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
  2061. ##
  2062. enabled: true
  2063. ## @param app.networkPolicy.allowExternal Don't require server label for connections
  2064. ## The Policy model to apply. When set to false, only pods with the correct
  2065. ## server label will have network access to the ports server is listening
  2066. ## on. When true, server will accept connections from any source
  2067. ## (with the correct destination port).
  2068. ##
  2069. allowExternal: true
  2070. ## @param app.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
  2071. ##
  2072. allowExternalEgress: true
  2073. ## @param app.networkPolicy.extraIngress Add extra ingress rules to the NetworkPolicy
  2074. ##
  2075. extraIngress: []
  2076. ## @param app.networkPolicy.extraEgress Add extra ingress rules to the NetworkPolicy (ignored if allowExternalEgress=true)
  2077. ##
  2078. extraEgress: []
  2079. ## @param app.mountTmpVolume Whether a writable /tmp emptyDir volume should be mounted to the app.
  2080. ##
  2081. mountTmpVolume: true
  2082. ## @param app.exposedContainerPort The port that shuffle app containers will listen on for new requests.
  2083. ##
  2084. exposedContainerPort: 80
  2085. ## @param app.sdkTimeout The timeout in seconds for app actions.
  2086. ##
  2087. sdkTimeout: 300
  2088. ## @param app.disableLogs Do not capture app logs. By default, app logs are captured, so that they are visible in the frontend.
  2089. ##
  2090. disableLogs: false
  2091. ## @section Parameters to deploy apps using helm
  2092. ##
  2093. apps:
  2094. ## @param apps.enabled Whether apps should be deployed using helm.
  2095. ## By default, workers create deployments and services for apps when they are first needed (or during startup for some selected apps).
  2096. ## Deploying apps via workers has some drawbacks, such as:
  2097. ## - A workflow fails when the app is not deployed when the workflow gets executed (see https://github.com/Shuffle/Shuffle/issues/1739)
  2098. ## - There is no way to set different service accounts, security contexts, resources, env variables, volume mounts, or replicas for different apps
  2099. ## - Worker needs elevated permissions in Kubernetes
  2100. ## Note that you can deploy some apps via helm, while keeping the flexibility of letting workers deploy apps if they are not already deployed.
  2101. ## If you deploy all needed apps via helm and dont want workers to create additional deployments, set worker.manageAppDeployments to false.
  2102. ##
  2103. enabled: false
  2104. shuffleTools:
  2105. ## @param apps.shuffleTools.enabled Whether the shuffle-tools app is enabled
  2106. ##
  2107. enabled: true
  2108. ## @skip apps.shuffleTools.name
  2109. ##
  2110. name: shuffle-tools
  2111. ## @param apps.shuffleTools.version The version of the shuffle-tools app to deploy.
  2112. ##
  2113. version: 1.2.0
  2114. # You can override .app.* values here, e.g. replicaCount, resources or image.
  2115. shuffleSubflow:
  2116. ## @param apps.shuffleSubflow.enabled Whether the shuffle-subflow app is enabled
  2117. ##
  2118. enabled: true
  2119. ## @skip apps.shuffleSubflow.name
  2120. ##
  2121. name: shuffle-subflow
  2122. ## @param apps.shuffleSubflow.version The version of the shuffle-subflow app to deploy.
  2123. ##
  2124. version: 1.1.0
  2125. # You can override .app.* values here, e.g. replicaCount, resources or image.
  2126. http:
  2127. ## @param apps.http.enabled Whether the http app is enabled
  2128. ##
  2129. enabled: true
  2130. ## @skip apps.http.name
  2131. ##
  2132. name: http
  2133. ## @param apps.http.version The version of the http app to deploy.
  2134. ##
  2135. version: 1.4.0
  2136. # You can override .app.* values here, e.g. replicaCount, resources or image.
  2137. ## @extra apps.MY_APP.app [string] The name of the app (required, e.g. shuffle-tools)
  2138. ## @extra apps.MY_APP.version [string] The version of the app (required, e.g. 1.2.0)
  2139. ## Add your own apps here. The key of the app does not matter, as long as it is unique.
  2140. ## myApp:
  2141. ## enabled: true
  2142. ## name: my-app
  2143. ## version: 1.0.0
  2144. ## ... Overwrite .app.* values here, e.g.:
  2145. ## replicaCount: 3
  2146. ## resources: {}
  2147. ## @section Traffic Exposure Parameters
  2148. ##
  2149. ## ingress parameters
  2150. ## ref: http://kubernetes.io/docs/concepts/services-networking/ingress/
  2151. ##
  2152. ingress:
  2153. ## @param ingress.enabled Enable ingress record generation for frontend and backend
  2154. ##
  2155. enabled: false
  2156. ## @param ingress.pathType Ingress path type for the frontend path
  2157. ##
  2158. pathType: Prefix
  2159. ## @param ingress.backendPathType Ingress path type for the backend path
  2160. ##
  2161. backendPathType: Prefix
  2162. ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set)
  2163. ##
  2164. apiVersion: ""
  2165. ## @param ingress.hostname Default host for the ingress record
  2166. ##
  2167. hostname: shuffle.local
  2168. ## @param ingress.ingressClassName [default: nginx] IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
  2169. ## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster .
  2170. ## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
  2171. ##
  2172. ingressClassName: ""
  2173. ## @param ingress.path [default: "/"] Ingress path for Shuffle frontend
  2174. ## NOTE: The shuffle frontend currently does not support using base paths
  2175. ##
  2176. path: /
  2177. ## @param ingress.backendPath [default: "/api/"] Ingress path for Shuffle backend
  2178. ## NOTE: The shuffle backend is currently required to be reachable at shuffle-frontend.example.com/api/
  2179. ##
  2180. backendPath: /api/
  2181. ## @param ingress.annotations Additional annotations for the Ingress resource.
  2182. ##
  2183. annotations: {}
  2184. ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter
  2185. ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}`
  2186. ## You can:
  2187. ## - Use the `ingress.secrets` parameter to create this TLS secret
  2188. ## - Rely on cert-manager to create it by setting the corresponding annotations
  2189. ## - Rely on Helm to create self-signed certificates by setting `ingress.selfSigned=true`
  2190. ##
  2191. tls: false
  2192. ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
  2193. ##
  2194. selfSigned: false
  2195. ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record
  2196. ## e.g:
  2197. ## extraHosts:
  2198. ## - name: example.local
  2199. ## path: /
  2200. ##
  2201. extraHosts: []
  2202. ## @param ingress.extraPaths An array with additional arbitrary paths that may need to be added to the ingress under the main host
  2203. ## e.g:
  2204. ## extraPaths:
  2205. ## - path: /*
  2206. ## backend:
  2207. ## serviceName: ssl-redirect
  2208. ## servicePort: use-annotation
  2209. ##
  2210. extraPaths: []
  2211. ## @param ingress.extraTls TLS configuration for additional hostname(s) to be covered with this ingress record
  2212. ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
  2213. ## e.g:
  2214. ## extraTls:
  2215. ## - hosts:
  2216. ## - example.local
  2217. ## secretName: example.local-tls
  2218. ##
  2219. extraTls: []
  2220. ## @param ingress.secrets Custom TLS certificates as secrets
  2221. ## NOTE: 'key' and 'certificate' are expected in PEM format
  2222. ## NOTE: 'name' should line up with a 'secretName' set further up
  2223. ## If it is not set and you're using cert-manager, this is unneeded, as it will create a secret for you with valid certificates
  2224. ## If it is not set and you're NOT using cert-manager either, self-signed certificates will be created valid for 365 days
  2225. ## It is also possible to create and manage the certificates outside of this helm chart
  2226. ## Please see README.md for more information
  2227. ## e.g:
  2228. ## secrets:
  2229. ## - name: example.local-tls
  2230. ## key: |-
  2231. ## -----BEGIN RSA PRIVATE KEY-----
  2232. ## ...
  2233. ## -----END RSA PRIVATE KEY-----
  2234. ## certificate: |-
  2235. ## -----BEGIN CERTIFICATE-----
  2236. ## ...
  2237. ## -----END CERTIFICATE-----
  2238. ##
  2239. secrets: []
  2240. ## @param ingress.extraRules Additional rules to be covered with this ingress record
  2241. ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules
  2242. ## e.g:
  2243. ## extraRules:
  2244. ## - host: example.local
  2245. ## http:
  2246. ## path: /
  2247. ## backend:
  2248. ## service:
  2249. ## name: example-svc
  2250. ## port:
  2251. ## name: http
  2252. ##
  2253. extraRules: []
  2254. ## @section Istio Parameters
  2255. ##
  2256. istio:
  2257. ## @param istio.enabled Enable creation of an Istio Gateway and VirtualService for frontend and backend
  2258. ##
  2259. enabled: false
  2260. ## @param istio.apiVersion The istio apiVersion to use for Gateway and VirtualService resources
  2261. ##
  2262. apiVersion: networking.istio.io/v1
  2263. ## @param istio.hosts One or more hosts exposed by Istio
  2264. ##
  2265. hosts: []
  2266. gateway:
  2267. ## @param istio.gateway.annotations Additional annotations for the Gateway resource
  2268. ##
  2269. annotations: {}
  2270. ## @param istio.gateway.selector [object, default: { istio: ingress }] The selector matches the ingress gateway pod labels
  2271. ##
  2272. selector:
  2273. istio: ingress
  2274. ## @param istio.gateway.http.enabled Enable HTTP server port 80
  2275. ## @param istio.gateway.http.httpsRedirect If set to true, a 301 redirect is send for all HTTP connections
  2276. ##
  2277. http:
  2278. enabled: true
  2279. httpsRedirect: false
  2280. ## @param istio.gateway.https.enabled Enable HTTPS server on port 443
  2281. ## @param istio.gateway.https.tlsCredentialName The name of the secret that holds the TLS certs including the CA certificates.
  2282. ## @param istio.gateway.https.tlsCipherSuites If specified, only support the specified cipher list.
  2283. ## NOTE: The secret must exist in the namespace of the istio gateway pod
  2284. ##
  2285. https:
  2286. enabled: false
  2287. tlsCredentialName: ""
  2288. tlsCipherSuites: []
  2289. ## @param istio.gateway.extraServers Additional servers for the Gateway resource
  2290. ## ref: https://istio.io/latest/docs/reference/config/networking/gateway/#Server
  2291. ##
  2292. extraServers: []
  2293. virtualService:
  2294. ## @param istio.virtualService.annotations Additional annotations for the VirtualService resource.
  2295. ##
  2296. annotations: {}
  2297. ## @param istio.virtualService.backendHeaders Header manipulation rules for backend traffic
  2298. ## ref: https://istio.io/latest/docs/reference/config/networking/virtual-service/#Headers
  2299. ##
  2300. backendHeaders: {}
  2301. ## @param istio.virtualService.frontendHeaders Header manipulation rules for frontend traffic
  2302. ## ref: https://istio.io/latest/docs/reference/config/networking/virtual-service/#Headers
  2303. ##
  2304. frontendHeaders: {}
  2305. ## @section Persistence Parameters
  2306. ##
  2307. ## Enable persistence using Persistent Volume Claims
  2308. ## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
  2309. ##
  2310. persistence:
  2311. ## @param persistence.enabled Enable persistence using Persistent Volume Claims
  2312. ##
  2313. enabled: true
  2314. ## @param persistence.apps.existingClaim Name of an existing PVC to use
  2315. ## @param persistence.apps.storageClass PVC Storage Class for shuffle-apps volume
  2316. ## Note: The default StorageClass will be used if not defined. Set it to `-` to disable dynamic provisioning
  2317. ## @param persistence.apps.subPath The sub path used in the volume
  2318. ## @param persistence.apps.accessModes The access mode of the volume
  2319. ## @param persistence.apps.size The size of the volume
  2320. ## @param persistence.apps.annotations Annotations for the PVC
  2321. ## @param persistence.apps.selector Selector to match an existing Persistent Volume
  2322. apps:
  2323. existingClaim: ""
  2324. storageClass: ""
  2325. subPath: ""
  2326. accessModes:
  2327. - ReadWriteOnce
  2328. size: 5Gi
  2329. annotations: {}
  2330. selector: {}
  2331. ## @param persistence.appBuilder.storageClass PVC Storage Class for backend-apps-claim volume
  2332. ## Note: The default StorageClass will be used if not defined. Set it to `-` to disable dynamic provisioning
  2333. ## @param persistence.appBuilder.accessModes The access mode of the volume
  2334. ## @param persistence.appBuilder.size The size of the volume
  2335. ## @param persistence.appBuilder.annotations Annotations for the PVC
  2336. ## @param persistence.appBuilder.selector Selector to match an existing Persistent Volume
  2337. appBuilder:
  2338. storageClass: ""
  2339. accessModes:
  2340. - ReadWriteOnce
  2341. size: 5Gi
  2342. annotations: {}
  2343. selector: {}
  2344. ## @param persistence.files.existingClaim Name of an existing PVC to use
  2345. ## @param persistence.files.storageClass PVC Storage Class for shuffle-files volume
  2346. ## Note: The default StorageClass will be used if not defined. Set it to `-` to disable dynamic provisioning
  2347. ## @param persistence.files.subPath The sub path used in the volume
  2348. ## @param persistence.files.accessModes The access mode of the volume
  2349. ## @param persistence.files.size The size of the volume
  2350. ## @param persistence.files.annotations Annotations for the PVC
  2351. ## @param persistence.files.selector Selector to match an existing Persistent Volume
  2352. files:
  2353. existingClaim: ""
  2354. storageClass: ""
  2355. subPath: ""
  2356. accessModes:
  2357. - ReadWriteOnce
  2358. size: 5Gi
  2359. annotations: {}
  2360. selector: {}
  2361. ## @section Init Container Parameters
  2362. ##
  2363. ## 'volumePermissions' init container parameters
  2364. ## Changes the owner and group of the persistent volume mount point to runAsUser:fsGroup values
  2365. ## based on the *podSecurityContext/*containerSecurityContext parameters
  2366. ##
  2367. volumePermissions:
  2368. ## @param volumePermissions.enabled Enable init container that changes the owner/group of the PV mount point to `runAsUser:fsGroup`
  2369. ##
  2370. enabled: false
  2371. ## OS Shell + Utility image
  2372. ## ref: https://hub.docker.com/r/bitnami/os-shell/tags/
  2373. ## @param volumePermissions.image.registry OS Shell + Utility image registry
  2374. ## @param volumePermissions.image.repository OS Shell + Utility image repository
  2375. ## @param volumePermissions.image.tag OS Shell + Utility image tag (immutable tags are recommended)
  2376. ## @param volumePermissions.image.pullPolicy OS Shell + Utility image pull policy
  2377. ## @param volumePermissions.image.pullSecrets OS Shell + Utility image pull secrets
  2378. ##
  2379. image:
  2380. registry: docker.io
  2381. repository: bitnamilegacy/os-shell
  2382. tag: 12-debian-12-r30
  2383. pullPolicy: IfNotPresent
  2384. ## Optionally specify an array of imagePullSecrets.
  2385. ## Secrets must be manually created in the namespace.
  2386. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  2387. ## e.g:
  2388. ## pullSecrets:
  2389. ## - myRegistryKeySecretName
  2390. ##
  2391. pullSecrets: []
  2392. ## Init container's resource requests and limits
  2393. ## ref: http://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
  2394. ## @param volumePermissions.resourcesPreset Set init container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if volumePermissions.resources is set (volumePermissions.resources is recommended for production).
  2395. ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
  2396. ##
  2397. resourcesPreset: "nano"
  2398. ## @param volumePermissions.resources Set init container requests and limits for different resources like CPU or memory (essential for production workloads)
  2399. ## Example:
  2400. ## resources:
  2401. ## requests:
  2402. ## cpu: 2
  2403. ## memory: 512Mi
  2404. ## limits:
  2405. ## cpu: 3
  2406. ## memory: 1024Mi
  2407. ##
  2408. resources: {}
  2409. ## Init container Container Security Context
  2410. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
  2411. ## @param volumePermissions.containerSecurityContext.enabled Enabled init container' Security Context
  2412. ## @param volumePermissions.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in init container
  2413. ## @param volumePermissions.containerSecurityContext.runAsUser Set init container's Security Context runAsUser
  2414. ## NOTE: when runAsUser is set to special value "auto", init container will try to chown the
  2415. ## data folder to auto-determined user&group, using commands: `id -u`:`id -G | cut -d" " -f2`
  2416. ## "auto" is especially useful for OpenShift which has scc with dynamic user ids (and 0 is not allowed)
  2417. ##
  2418. containerSecurityContext:
  2419. enabled: true
  2420. seLinuxOptions: {}
  2421. runAsUser: 0
  2422. ## @section OpenSearch Parameters
  2423. ##
  2424. ## OpenSearch chart configuration
  2425. ## ref: https://github.com/bitnami/charts/blob/main/bitnami/opensearch/values.yaml
  2426. ## @param opensearch.enabled Switch to enable or disable the opensearch helm chart
  2427. ## @skip opensearch.sysctlImage
  2428. ## @skip opensearch.image
  2429. ## @skip opensearch.master
  2430. ## @skip opensearch.data
  2431. ## @skip opensearch.coordinating
  2432. ## @skip opensearch.ingest
  2433. ## @skip opensearch.dashboards
  2434. ##
  2435. opensearch:
  2436. enabled: true
  2437. sysctlImage:
  2438. enabled: false
  2439. image:
  2440. registry: docker.io
  2441. repository: bitnamilegacy/opensearch
  2442. tag: "3.2.0"
  2443. master:
  2444. replicaCount: 1
  2445. data:
  2446. replicaCount: 1
  2447. coordinating:
  2448. replicaCount: 0
  2449. ingest:
  2450. replicaCount: 0
  2451. dashboards:
  2452. enabled: false
  2453. ## @section Vault Parameters
  2454. ##
  2455. vault:
  2456. ## @param vault.role Specify the Vault role, which should be used to get the secret from Vault.
  2457. ## NOTE: This value is used as a default for all secrets and can be overwritten for individual secrets
  2458. ## with the vaultRole property.
  2459. ##
  2460. role: ""
  2461. ## @param vault.secrets A list of VaultSecrets to create
  2462. ## NOTE: 'type', 'name' and 'path' must be set
  2463. ## type is the type of the Kubernetes secret
  2464. ## name is the suffix of the name of the resulting (Vault)Secret
  2465. ## path is the path of the corresponding secret in Vault
  2466. ## Additional VaultSecret parameters can optionally be set.
  2467. ## Ref: https://github.com/ricoberger/vault-secrets-operator/blob/0409d56beb36ab95c4582a0cc35c0a2b517961e7/api/v1alpha1/vaultsecret_types.go#L9-L59
  2468. ## e.g:
  2469. ## secrets:
  2470. ## - type: Opaque
  2471. ## name: "example"
  2472. ## path: "example/secret"
  2473. ##
  2474. secrets: []
  2475. ## @section Other Parameters
  2476. ##