## @section Global parameters
## Global Docker image parameters
## Please, note that this will override the image parameters, including dependencies, configured to use the global value
## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass

## @param global.imageRegistry Global Docker image registry
## @param global.imagePullSecrets Global Docker registry secret names as an array
## @param global.storageClass Global StorageClass for Persistent Volume(s)
##
global:
  imageRegistry: ""
  ## E.g.
  ## imagePullSecrets:
  ##   - myRegistryKeySecretName
  ##
  imagePullSecrets: []
  storageClass: ""

## @section Common parameters

## @param kubeVersion Force target Kubernetes version (using Helm capabilities if not set)
##
kubeVersion: ""
## @param nameOverride String to partially override common.names.fullname template (will maintain the release name)
##
nameOverride: ""
## @param fullnameOverride String to fully override common.names.fullname template
##
fullnameOverride: ""
## @param namespaceOverride String to fully override common.names.namespace template
##
namespaceOverride: ""
## @param commonAnnotations Annotations to add to all deployed objects
##
commonAnnotations: {}
## @param commonLabels Labels to add to all deployed objects
##
commonLabels: {}
## @param extraDeploy Array of extra objects to deploy with the release
##
extraDeploy: []
## @param clusterDomain Kubernetes cluster domain name
##
clusterDomain: cluster.local

## Enable diagnostic mode in the deployment(s)/statefulset(s)
##
diagnosticMode:
  ## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden)
  ##
  enabled: false
  ## @param diagnosticMode.command Command to override all containers in the the deployment(s)/statefulset(s)
  ##
  command:
    - sleep
  ## @param diagnosticMode.args Args to override all containers in the the deployment(s)/statefulset(s)
  ##
  args:
    - infinity

## @section Common Mxnet parameters

## Bitnami Apache MXNet (Incubating) image version
## ref: https://hub.docker.com/r/bitnami/mxnet/tags/
## @param image.registry Apache MXNet (Incubating) image registry
## @param image.repository Apache MXNet (Incubating) image repository
## @param image.tag Apache MXNet (Incubating) image tag (immutable tags are recommended)
## @param image.digest Apache MXNet (Incubating) image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
## @param image.pullPolicy Apache MXNet (Incubating) image pull policy
## @param image.pullSecrets Specify docker-registry secret names as an array
## @param image.debug Specify if debug logs should be enabled
##
image:
  registry: docker.io
  repository: bitnami/mxnet
  tag: 1.9.1-debian-11-r79
  digest: ""
  ## Specify a imagePullPolicy
  ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
  ## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images
  ##
  pullPolicy: IfNotPresent
  ## Optionally specify an array of imagePullSecrets.
  ## Secrets must be manually created in the namespace.
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  ## e.g:
  ## pullSecrets:
  ##   - myRegistryKeySecretName
  ##
  pullSecrets: []
  ## Set to true if you would like to see extra information on logs
  ## It turns BASH and/or NAMI debugging in the image
  ##
  debug: false

## @param entrypoint [object] The main entrypoint of your app, this will be executed as:
##   python [file] [args]
##
entrypoint:
  file: ""
  workDir: /app
  args: ""
## @param mode Apache MXNet (Incubating) deployment mode. Can be `standalone` or `distributed`
##
mode: standalone
## @param existingSecret Name of a secret with sensitive data to mount in the pods
##
existingSecret: ""
## @param configMap Name of an existing config map containing all the files you want to load in Apache MXNet (Incubating)
##
configMap: ""

cloneFilesFromGit:
  ## @param cloneFilesFromGit.enabled Enable in order to download files from git repository
  ##
  enabled: false
  ## @param cloneFilesFromGit.repository Repository to clone
  ##
  repository: ""
  ## @param cloneFilesFromGit.revision Branch name to clone
  ##
  revision: master
  ## @param cloneFilesFromGit.extraVolumeMounts Add extra volume mounts for the GIT container
  ## Useful to mount keys to connect through ssh. (normally used with extraVolumes)
  ## E.g:
  ## extraVolumeMounts:
  ##   - name: ssh-dir
  ##     mountPath: /.ssh/
  ##
  extraVolumeMounts: []
## Enable persistence using Persistent Volume Claims
## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/
##
persistence:
  ## @param persistence.enabled Use a PVC to persist data
  ##
  enabled: false
  ## @param persistence.storageClass discourse & sidekiq data Persistent Volume Storage Class
  ## If defined, storageClassName: <storageClass>
  ## If set to "-", storageClassName: "", which disables dynamic provisioning
  ## If undefined (the default) or set to null, no storageClassName spec is
  ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
  ##   GKE, AWS & OpenStack)
  ##
  storageClass: ""
  ## @param persistence.existingClaim Use a existing PVC which must be created manually before bound
  ##
  existingClaim: ""
  ## @param persistence.mountPath Path to mount the volume at
  ##
  mountPath: /bitnami/mxnet
  ## @param persistence.accessModes Persistent Volume Access Mode
  ##
  accessModes:
    - ReadWriteOnce
  ## @param persistence.size Size of data volume
  ##
  size: 8Gi
  ## @param persistence.annotations Persistent Volume annotations
  ##
  annotations: {}
## @param extraEnvVars Array with extra environment variables to add to all the pods
## e.g:
## extraEnvVars:
##   - name: FOO
##     value: "bar"
##
extraEnvVars: []
## @param extraEnvVarsCM Name of existing ConfigMap containing extra env vars for all the pods
##
extraEnvVarsCM: ""
## @param extraEnvVarsSecret Name of existing Secret containing extra env vars for all the pods
##
extraEnvVarsSecret: ""
## @param extraVolumes Array to add extra volumes (evaluated as a template)
##
extraVolumes: []
## @param extraVolumeMounts Array to add extra mounts (normally used with extraVolumes, evaluated as a template)
##
extraVolumeMounts: []
## @param sidecars Attach additional containers to the pods (scheduler, worker and server nodes)
## e.g.
## sidecars:
##   - name: your-image-name
##     image: your-image
##     imagePullPolicy: Always
##     ports:
##       - name: portname
##         containerPort: 1234
##
sidecars: []
## @param initContainers Attach additional init containers to the pods (scheduler, worker and server nodes)
## e.g.
## initContainers:
##   - name: your-image-name
##     image: your-image
##     imagePullPolicy: Always
##     ports:
##     - name: portname
##       containerPort: 1234
##
initContainers: []

## @section Mxnet Standalone parameters (only for standalone mode)
standalone:
  ## @param standalone.affinity Affinity for Mxnet standalone pods assignment
  ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
  ## NOTE: `standalone.podAffinityPreset`, `standalone.podAntiAffinityPreset`, and `standalone.nodeAffinityPreset` will be ignored when it's set
  ##
  affinity: {}
  ## Node standalone.affinity preset
  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
  ##
  nodeAffinityPreset:
    ## @param standalone.nodeAffinityPreset.type Node affinity preset type. Ignored if `standalone.affinity` is set. Allowed values: `soft` or `hard`
    ##
    type: ""
    ## @param standalone.nodeAffinityPreset.key Node label key to match. Ignored if `standalone.affinity` is set
    ##
    key: ""
    ## @param standalone.nodeAffinityPreset.values Node label values to match. Ignored if `standalone.affinity` is set
    ## E.g.
    ## values:
    ##   - e2e-az1
    ##   - e2e-az2
    ##
    values: []
  ## @param standalone.nodeSelector Node labels for Mxnet standalone pods assignment
  ## ref: https://kubernetes.io/docs/user-guide/node-selection/
  ##
  nodeSelector: {}
  ## @param standalone.podAffinityPreset Pod affinity preset. Ignored if `standalone.affinity` is set. Allowed values: `soft` or `hard`
  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  ##
  podAffinityPreset: ""
  ## @param standalone.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `standalone.affinity` is set. Allowed values: `soft` or `hard`
  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  ##
  podAntiAffinityPreset: soft
  ## @param standalone.hostAliases Mxnet standalone pods host aliases
  ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
  ##
  hostAliases: []
  ## @param standalone.tolerations Tolerations for Mxnet standalone pods assignment
  ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  ##
  tolerations: []
  ## @param standalone.podAnnotations Annotations for Mxnet standalone pods
  ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  ##
  podAnnotations: {}
  ## @param standalone.podLabels Extra labels for Mxnet standalone pods
  ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  ##
  podLabels: {}
  ## Configure Pods Security Context
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
  ## @param standalone.podSecurityContext.enabled Enabled Mxnet standalone pods' Security Context
  ## @param standalone.podSecurityContext.fsGroup Set Mxnet standalone pod's Security Context fsGroup
  ##
  podSecurityContext:
    enabled: true
    fsGroup: 1001
  ## Configure Container Security Context
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
  ## @param standalone.containerSecurityContext.enabled Enabled Mxnet standalone containers' Security Context
  ## @param standalone.containerSecurityContext.runAsUser Set Mxnet standalone containers' Security Context runAsUser
  ## @param standalone.containerSecurityContext.runAsNonRoot Set Mxnet standalone container's Security Context runAsNonRoot
  ##
  containerSecurityContext:
    enabled: true
    runAsUser: 1001
    runAsNonRoot: true
  ## @param standalone.command Override default container command (useful when using custom images)
  ##
  command: []
  ## @param standalone.args Override default container args (useful when using custom images)
  ##
  args: []
  ## @param standalone.lifecycleHooks for the Mxnet standalone container(s) to automate configuration before or after startup
  ##
  lifecycleHooks: {}
  ## @param standalone.extraEnvVars Array with extra environment variables to add to Mxnet standalone nodes
  ## e.g:
  ## extraEnvVars:
  ##   - name: FOO
  ##     value: "bar"
  ##
  extraEnvVars: []
  ## @param standalone.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Mxnet standalone nodes
  ##
  extraEnvVarsCM: ""
  ## @param standalone.extraEnvVarsSecret Name of existing Secret containing extra env vars for Mxnet standalone nodes
  ##
  extraEnvVarsSecret: ""
  ## @param standalone.extraVolumes Optionally specify extra list of additional volumes for the Mxnet standalone pod(s)
  ##
  extraVolumes: []
  ## @param standalone.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Mxnet standalone container(s)
  ##
  extraVolumeMounts: []
  ## @param standalone.containerPorts.mxnet Mxnet container port
  ##
  containerPorts:
    mxnet: 9092
  ## @param standalone.sidecars Add additional sidecar containers to the Mxnet standalone pod(s)
  ## e.g:
  ## sidecars:
  ##   - name: your-image-name
  ##     image: your-image
  ##     imagePullPolicy: Always
  ##     ports:
  ##       - name: portname
  ##         containerPort: 1234
  ##
  sidecars: []
  ## @param standalone.initContainers Add additional init containers to the Mxnet standalone pod(s)
  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
  ## e.g:
  ## initContainers:
  ##  - name: your-image-name
  ##    image: your-image
  ##    imagePullPolicy: Always
  ##    command: ['sh', '-c', 'echo "hello world"']
  ##
  initContainers: []
  ## @param standalone.updateStrategy.type Mxnet standalone deployment strategy type.
  ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
  ## e.g:
  ## updateStrategy:
  ##  type: RollingUpdate
  ##  rollingUpdate:
  ##    maxSurge: 25%
  ##    maxUnavailable: 25%
  ##
  updateStrategy:
    type: RollingUpdate
  ## @param standalone.priorityClassName Mxnet standalone pods' priorityClassName
  ##
  priorityClassName: ""
  ## @param standalone.schedulerName Name of the k8s scheduler (other than default)
  ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  ##
  schedulerName: ""
  ## @param standalone.terminationGracePeriodSeconds In seconds, time the given to the Mxnet standalone pod needs to terminate gracefully
  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
  ##
  terminationGracePeriodSeconds: ""
  ## @param standalone.topologySpreadConstraints Topology Spread Constraints for pod assignment
  ## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
  ## The value is evaluated as a template
  ##
  topologySpreadConstraints: []
  ## Container resource requests and limits
  ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
  ## We usually recommend not to specify default resources and to leave this as a conscious
  ## choice for the user. This also increases chances charts run on environments with little
  ## resources, such as Minikube. If you do want to specify resources, uncomment the following
  ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  ## @param standalone.resources.limits The resources limits for the Mxnet container
  ## @param standalone.resources.requests The requested resources for the Mxnet container
  ##
  resources:
    ## Example:
    ## limits:
    ##    cpu: 250m
    ##    memory: 256Mi
    limits: {}
    ## Examples:
    ## requests:
    ##    cpu: 250m
    ##    memory: 256Mi
    requests: {}
  ## Configure extra options for Mxnet standalone containers' liveness, readiness and startup probes
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
  ## @param standalone.startupProbe.enabled Enable startupProbe
  ## @param standalone.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
  ## @param standalone.startupProbe.periodSeconds Period seconds for startupProbe
  ## @param standalone.startupProbe.timeoutSeconds Timeout seconds for startupProbe
  ## @param standalone.startupProbe.failureThreshold Failure threshold for startupProbe
  ## @param standalone.startupProbe.successThreshold Success threshold for startupProbe
  ##
  startupProbe:
    enabled: false
    initialDelaySeconds: 5
    periodSeconds: 5
    timeoutSeconds: 15
    successThreshold: 1
    failureThreshold: 5
  ## @param standalone.livenessProbe.enabled Enable livenessProbe
  ## @param standalone.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
  ## @param standalone.livenessProbe.periodSeconds Period seconds for livenessProbe
  ## @param standalone.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
  ## @param standalone.livenessProbe.failureThreshold Failure threshold for livenessProbe
  ## @param standalone.livenessProbe.successThreshold Success threshold for livenessProbe
  ##
  livenessProbe:
    enabled: true
    initialDelaySeconds: 5
    periodSeconds: 5
    timeoutSeconds: 15
    successThreshold: 1
    failureThreshold: 5
  ## @param standalone.readinessProbe.enabled Enable readinessProbe
  ## @param standalone.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
  ## @param standalone.readinessProbe.periodSeconds Period seconds for readinessProbe
  ## @param standalone.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
  ## @param standalone.readinessProbe.failureThreshold Failure threshold for readinessProbe
  ## @param standalone.readinessProbe.successThreshold Success threshold for readinessProbe
  ##
  readinessProbe:
    enabled: true
    initialDelaySeconds: 5
    periodSeconds: 5
    timeoutSeconds: 15
    successThreshold: 1
    failureThreshold: 5
  ## @param standalone.customStartupProbe Custom liveness probe for the Web component
  ##
  customStartupProbe: {}
  ## @param standalone.customLivenessProbe Custom liveness probe for the Web component
  ##
  customLivenessProbe: {}
  ## @param standalone.customReadinessProbe Custom readiness probe for the Web component
  ##
  customReadinessProbe: {}


## @section Mxnet Server parameters (only for distributed mode)

server:
  ## @param server.replicaCount Number of Server nodes that will execute your code
  ##
  replicaCount: 1
  ## @param server.affinity Affinity for Mxnet server pods assignment
  ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
  ## NOTE: `server.podAffinityPreset`, `server.podAntiAffinityPreset`, and `server.nodeAffinityPreset` will be ignored when it's set
  ##
  affinity: {}
  ## Node server.affinity preset
  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
  ##
  nodeAffinityPreset:
    ## @param server.nodeAffinityPreset.type Node affinity preset type. Ignored if `server.affinity` is set. Allowed values: `soft` or `hard`
    ##
    type: ""
    ## @param server.nodeAffinityPreset.key Node label key to match. Ignored if `server.affinity` is set
    ##
    key: ""
    ## @param server.nodeAffinityPreset.values Node label values to match. Ignored if `server.affinity` is set
    ## E.g.
    ## values:
    ##   - e2e-az1
    ##   - e2e-az2
    ##
    values: []
  ## @param server.nodeSelector Node labels for Mxnet server pods assignment
  ## ref: https://kubernetes.io/docs/user-guide/node-selection/
  ##
  nodeSelector: {}
  ## @param server.podAffinityPreset Pod affinity preset. Ignored if `server.affinity` is set. Allowed values: `soft` or `hard`
  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  ##
  podAffinityPreset: ""
  ## @param server.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `server.affinity` is set. Allowed values: `soft` or `hard`
  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  ##
  podAntiAffinityPreset: soft
  ## @param server.hostAliases Mxnet server pods host aliases
  ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
  ##
  hostAliases: []
  ## @param server.tolerations Tolerations for Mxnet server pods assignment
  ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  ##
  tolerations: []
  ## @param server.podAnnotations Annotations for Mxnet server pods
  ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  ##
  podAnnotations: {}
  ## @param server.podLabels Extra labels for Mxnet server pods
  ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  ##
  podLabels: {}
  ## Configure Pods Security Context
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
  ## @param server.podSecurityContext.enabled Enabled Mxnet server pods' Security Context
  ## @param server.podSecurityContext.fsGroup Set Mxnet server pod's Security Context fsGroup
  ##
  podSecurityContext:
    enabled: true
    fsGroup: 1001
  ## Configure Container Security Context
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
  ## @param server.containerSecurityContext.enabled Enabled Mxnet server containers' Security Context
  ## @param server.containerSecurityContext.runAsUser Set Mxnet server containers' Security Context runAsUser
  ## @param server.containerSecurityContext.runAsNonRoot Set Mxnet server container's Security Context runAsNonRoot
  ##
  containerSecurityContext:
    enabled: true
    runAsUser: 1001
    runAsNonRoot: true
  ## @param server.command Override default container command (useful when using custom images)
  ##
  command: []
  ## @param server.args Override default container args (useful when using custom images)
  ##
  args: []
  ## @param server.lifecycleHooks for the Mxnet server container(s) to automate configuration before or after startup
  ##
  lifecycleHooks: {}
  ## @param server.extraEnvVars Array with extra environment variables to add to Mxnet server nodes
  ## e.g:
  ## extraEnvVars:
  ##   - name: FOO
  ##     value: "bar"
  ##
  extraEnvVars: []
  ## @param server.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Mxnet server nodes
  ##
  extraEnvVarsCM: ""
  ## @param server.extraEnvVarsSecret Name of existing Secret containing extra env vars for Mxnet server nodes
  ##
  extraEnvVarsSecret: ""
  ## @param server.extraVolumes Optionally specify extra list of additional volumes for the Mxnet server pod(s)
  ##
  extraVolumes: []
  ## @param server.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Mxnet server container(s)
  ##
  extraVolumeMounts: []
  ## @param server.sidecars Add additional sidecar containers to the Mxnet server pod(s)
  ## e.g:
  ## sidecars:
  ##   - name: your-image-name
  ##     image: your-image
  ##     imagePullPolicy: Always
  ##     ports:
  ##       - name: portname
  ##         containerPort: 1234
  ##
  sidecars: []
  ## @param server.initContainers Add additional init containers to the Mxnet server pod(s)
  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
  ## e.g:
  ## initContainers:
  ##  - name: your-image-name
  ##    image: your-image
  ##    imagePullPolicy: Always
  ##    command: ['sh', '-c', 'echo "hello world"']
  ##
  initContainers: []
  ## @param server.updateStrategy.type Mxnet server deployment strategy type.
  ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
  ## e.g:
  ## updateStrategy:
  ##  type: RollingUpdate
  ##  rollingUpdate:
  ##    maxSurge: 25%
  ##    maxUnavailable: 25%
  ##
  updateStrategy:
    type: RollingUpdate
  ## @param server.priorityClassName Mxnet server pods' priorityClassName
  ##
  priorityClassName: ""
  ## @param server.schedulerName Name of the k8s scheduler (other than default)
  ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  ##
  schedulerName: ""
  ## @param server.terminationGracePeriodSeconds In seconds, time the given to the Mxnet server pod needs to terminate gracefully
  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
  ##
  terminationGracePeriodSeconds: ""
  ## @param server.topologySpreadConstraints Topology Spread Constraints for pod assignment
  ## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
  ## The value is evaluated as a template
  ##
  topologySpreadConstraints: []
  ## @param server.podManagementPolicy podManagementPolicy to manage scaling operation of Mxnet server pods
  ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
  ##
  podManagementPolicy: ""
  ## Container resource requests and limits
  ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
  ## We usually recommend not to specify default resources and to leave this as a conscious
  ## choice for the user. This also increases chances charts run on environments with little
  ## resources, such as Minikube. If you do want to specify resources, uncomment the following
  ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  ## @param server.resources.limits The resources limits for the Mxnet container
  ## @param server.resources.requests The requested resources for the Mxnet container
  ##
  resources:
    ## Example:
    ## limits:
    ##    cpu: 250m
    ##    memory: 256Mi
    limits: {}
    ## Examples:
    ## requests:
    ##    cpu: 250m
    ##    memory: 256Mi
    requests: {}
  ## Configure extra options for Mxnet server containers' liveness, readiness and startup probes
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
  ## @param server.startupProbe.enabled Enable startupProbe
  ## @param server.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
  ## @param server.startupProbe.periodSeconds Period seconds for startupProbe
  ## @param server.startupProbe.timeoutSeconds Timeout seconds for startupProbe
  ## @param server.startupProbe.failureThreshold Failure threshold for startupProbe
  ## @param server.startupProbe.successThreshold Success threshold for startupProbe
  ##
  startupProbe:
    enabled: false
    initialDelaySeconds: 5
    periodSeconds: 5
    timeoutSeconds: 15
    successThreshold: 1
    failureThreshold: 5
  ## @param server.livenessProbe.enabled Enable livenessProbe
  ## @param server.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
  ## @param server.livenessProbe.periodSeconds Period seconds for livenessProbe
  ## @param server.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
  ## @param server.livenessProbe.failureThreshold Failure threshold for livenessProbe
  ## @param server.livenessProbe.successThreshold Success threshold for livenessProbe
  ##
  livenessProbe:
    enabled: true
    initialDelaySeconds: 5
    periodSeconds: 5
    timeoutSeconds: 15
    successThreshold: 1
    failureThreshold: 5
  ## @param server.readinessProbe.enabled Enable readinessProbe
  ## @param server.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
  ## @param server.readinessProbe.periodSeconds Period seconds for readinessProbe
  ## @param server.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
  ## @param server.readinessProbe.failureThreshold Failure threshold for readinessProbe
  ## @param server.readinessProbe.successThreshold Success threshold for readinessProbe
  ##
  readinessProbe:
    enabled: true
    initialDelaySeconds: 5
    periodSeconds: 5
    timeoutSeconds: 15
    successThreshold: 1
    failureThreshold: 5
  ## @param server.customStartupProbe Custom liveness probe for the Web component
  ##
  customStartupProbe: {}
  ## @param server.customLivenessProbe Custom liveness probe for the Web component
  ##
  customLivenessProbe: {}
  ## @param server.customReadinessProbe Custom readiness probe for the Web component
  ##
  customReadinessProbe: {}

## @section Mxnet Worker parameters (only for distributed mode)

worker:
  ## @param worker.replicaCount Number of Worker nodes that will execute your code
  ##
  replicaCount: 1
    ## @param worker.affinity Affinity for Mxnet worker pods assignment
  ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
  ## NOTE: `worker.podAffinityPreset`, `worker.podAntiAffinityPreset`, and `worker.nodeAffinityPreset` will be ignored when it's set
  ##
  affinity: {}
  ## Node worker.affinity preset
  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
  ##
  nodeAffinityPreset:
    ## @param worker.nodeAffinityPreset.type Node affinity preset type. Ignored if `worker.affinity` is set. Allowed values: `soft` or `hard`
    ##
    type: ""
    ## @param worker.nodeAffinityPreset.key Node label key to match. Ignored if `worker.affinity` is set
    ##
    key: ""
    ## @param worker.nodeAffinityPreset.values Node label values to match. Ignored if `worker.affinity` is set
    ## E.g.
    ## values:
    ##   - e2e-az1
    ##   - e2e-az2
    ##
    values: []
  ## @param worker.nodeSelector Node labels for Mxnet worker pods assignment
  ## ref: https://kubernetes.io/docs/user-guide/node-selection/
  ##
  nodeSelector: {}
  ## @param worker.podAffinityPreset Pod affinity preset. Ignored if `worker.affinity` is set. Allowed values: `soft` or `hard`
  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  ##
  podAffinityPreset: ""
  ## @param worker.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `worker.affinity` is set. Allowed values: `soft` or `hard`
  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  ##
  podAntiAffinityPreset: soft
  ## @param worker.hostAliases Mxnet worker pods host aliases
  ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
  ##
  hostAliases: []
  ## @param worker.tolerations Tolerations for Mxnet worker pods assignment
  ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  ##
  tolerations: []
  ## @param worker.podAnnotations Annotations for Mxnet worker pods
  ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  ##
  podAnnotations: {}
  ## @param worker.podLabels Extra labels for Mxnet worker pods
  ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  ##
  podLabels: {}
  ## Configure Pods Security Context
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
  ## @param worker.podSecurityContext.enabled Enabled Mxnet worker pods' Security Context
  ## @param worker.podSecurityContext.fsGroup Set Mxnet worker pod's Security Context fsGroup
  ##
  podSecurityContext:
    enabled: true
    fsGroup: 1001
  ## Configure Container Security Context
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
  ## @param worker.containerSecurityContext.enabled Enabled Mxnet worker containers' Security Context
  ## @param worker.containerSecurityContext.runAsUser Set Mxnet worker containers' Security Context runAsUser
  ## @param worker.containerSecurityContext.runAsNonRoot Set Mxnet worker container's Security Context runAsNonRoot
  ##
  containerSecurityContext:
    enabled: true
    runAsUser: 1001
    runAsNonRoot: true
  ## @param worker.command Override default container command (useful when using custom images)
  ##
  command: []
  ## @param worker.args Override default container args (useful when using custom images)
  ##
  args: []
  ## @param worker.lifecycleHooks for the Mxnet worker container(s) to automate configuration before or after startup
  ##
  lifecycleHooks: {}
  ## @param worker.extraEnvVars Array with extra environment variables to add to Mxnet worker nodes
  ## e.g:
  ## extraEnvVars:
  ##   - name: FOO
  ##     value: "bar"
  ##
  extraEnvVars: []
  ## @param worker.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Mxnet worker nodes
  ##
  extraEnvVarsCM: ""
  ## @param worker.extraEnvVarsSecret Name of existing Secret containing extra env vars for Mxnet worker nodes
  ##
  extraEnvVarsSecret: ""
  ## @param worker.extraVolumes Optionally specify extra list of additional volumes for the Mxnet worker pod(s)
  ##
  extraVolumes: []
  ## @param worker.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Mxnet worker container(s)
  ##
  extraVolumeMounts: []
  ## @param worker.sidecars Add additional sidecar containers to the Mxnet worker pod(s)
  ## e.g:
  ## sidecars:
  ##   - name: your-image-name
  ##     image: your-image
  ##     imagePullPolicy: Always
  ##     ports:
  ##       - name: portname
  ##         containerPort: 1234
  ##
  sidecars: []
  ## @param worker.initContainers Add additional init containers to the Mxnet worker pod(s)
  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
  ## e.g:
  ## initContainers:
  ##  - name: your-image-name
  ##    image: your-image
  ##    imagePullPolicy: Always
  ##    command: ['sh', '-c', 'echo "hello world"']
  ##
  initContainers: []
  ## @param worker.updateStrategy.type Mxnet worker deployment strategy type.
  ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
  ## e.g:
  ## updateStrategy:
  ##  type: RollingUpdate
  ##  rollingUpdate:
  ##    maxSurge: 25%
  ##    maxUnavailable: 25%
  ##
  updateStrategy:
    type: RollingUpdate
  ## @param worker.priorityClassName Mxnet worker pods' priorityClassName
  ##
  priorityClassName: ""
  ## @param worker.schedulerName Name of the k8s scheduler (other than default)
  ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  ##
  schedulerName: ""
  ## @param worker.terminationGracePeriodSeconds In seconds, time the given to the Mxnet worker pod needs to terminate gracefully
  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
  ##
  terminationGracePeriodSeconds: ""
  ## @param worker.topologySpreadConstraints Topology Spread Constraints for pod assignment
  ## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
  ## The value is evaluated as a template
  ##
  topologySpreadConstraints: []
  ## @param worker.podManagementPolicy podManagementPolicy to manage scaling operation of Mxnet worker pods
  ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
  ##
  podManagementPolicy: ""
  ## Container resource requests and limits
  ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
  ## We usually recommend not to specify default resources and to leave this as a conscious
  ## choice for the user. This also increases chances charts run on environments with little
  ## resources, such as Minikube. If you do want to specify resources, uncomment the following
  ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  ## @param worker.resources.limits The resources limits for the Mxnet container
  ## @param worker.resources.requests The requested resources for the Mxnet container
  ##
  resources:
    ## Example:
    ## limits:
    ##    cpu: 250m
    ##    memory: 256Mi
    limits: {}
    ## Examples:
    ## requests:
    ##    cpu: 250m
    ##    memory: 256Mi
    requests: {}
  ## Configure extra options for Mxnet worker containers' liveness, readiness and startup probes
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
  ## @param worker.startupProbe.enabled Enable startupProbe
  ## @param worker.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
  ## @param worker.startupProbe.periodSeconds Period seconds for startupProbe
  ## @param worker.startupProbe.timeoutSeconds Timeout seconds for startupProbe
  ## @param worker.startupProbe.failureThreshold Failure threshold for startupProbe
  ## @param worker.startupProbe.successThreshold Success threshold for startupProbe
  ##
  startupProbe:
    enabled: false
    initialDelaySeconds: 5
    periodSeconds: 5
    timeoutSeconds: 15
    successThreshold: 1
    failureThreshold: 5
  ## @param worker.livenessProbe.enabled Enable livenessProbe
  ## @param worker.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
  ## @param worker.livenessProbe.periodSeconds Period seconds for livenessProbe
  ## @param worker.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
  ## @param worker.livenessProbe.failureThreshold Failure threshold for livenessProbe
  ## @param worker.livenessProbe.successThreshold Success threshold for livenessProbe
  ##
  livenessProbe:
    enabled: true
    initialDelaySeconds: 5
    periodSeconds: 5
    timeoutSeconds: 15
    successThreshold: 1
    failureThreshold: 5
  ## @param worker.readinessProbe.enabled Enable readinessProbe
  ## @param worker.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
  ## @param worker.readinessProbe.periodSeconds Period seconds for readinessProbe
  ## @param worker.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
  ## @param worker.readinessProbe.failureThreshold Failure threshold for readinessProbe
  ## @param worker.readinessProbe.successThreshold Success threshold for readinessProbe
  ##
  readinessProbe:
    enabled: true
    initialDelaySeconds: 5
    periodSeconds: 5
    timeoutSeconds: 15
    successThreshold: 1
    failureThreshold: 5
  ## @param worker.customStartupProbe Custom liveness probe for the Web component
  ##
  customStartupProbe: {}
  ## @param worker.customLivenessProbe Custom liveness probe for the Web component
  ##
  customLivenessProbe: {}
  ## @param worker.customReadinessProbe Custom readiness probe for the Web component
  ##
  customReadinessProbe: {}

## @section Mxnet Scheduler parameters (only for distributed mode)

scheduler:
  ## @param scheduler.containerPorts.mxnet The port used to communicate with the scheduler
  ## MASTER_PORT will be set to this value
  ##
  containerPorts:
    mxnet: 9092
  ## @param scheduler.affinity Affinity for Mxnet scheduler pods assignment
  ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
  ## NOTE: `scheduler.podAffinityPreset`, `scheduler.podAntiAffinityPreset`, and `scheduler.nodeAffinityPreset` will be ignored when it's set
  ##
  affinity: {}
  ## Node scheduler.affinity preset
  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
  ##
  nodeAffinityPreset:
    ## @param scheduler.nodeAffinityPreset.type Node affinity preset type. Ignored if `scheduler.affinity` is set. Allowed values: `soft` or `hard`
    ##
    type: ""
    ## @param scheduler.nodeAffinityPreset.key Node label key to match. Ignored if `scheduler.affinity` is set
    ##
    key: ""
    ## @param scheduler.nodeAffinityPreset.values Node label values to match. Ignored if `scheduler.affinity` is set
    ## E.g.
    ## values:
    ##   - e2e-az1
    ##   - e2e-az2
    ##
    values: []
  ## @param scheduler.nodeSelector Node labels for Mxnet scheduler pods assignment
  ## ref: https://kubernetes.io/docs/user-guide/node-selection/
  ##
  nodeSelector: {}
  ## @param scheduler.podAffinityPreset Pod affinity preset. Ignored if `scheduler.affinity` is set. Allowed values: `soft` or `hard`
  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  ##
  podAffinityPreset: ""
  ## @param scheduler.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `scheduler.affinity` is set. Allowed values: `soft` or `hard`
  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  ##
  podAntiAffinityPreset: soft
  ## @param scheduler.hostAliases Mxnet scheduler pods host aliases
  ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
  ##
  hostAliases: []
  ## @param scheduler.tolerations Tolerations for Mxnet scheduler pods assignment
  ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  ##
  tolerations: []
  ## @param scheduler.podAnnotations Annotations for Mxnet scheduler pods
  ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  ##
  podAnnotations: {}
  ## @param scheduler.podLabels Extra labels for Mxnet scheduler pods
  ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  ##
  podLabels: {}
  ## Configure Pods Security Context
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
  ## @param scheduler.podSecurityContext.enabled Enabled Mxnet scheduler pods' Security Context
  ## @param scheduler.podSecurityContext.fsGroup Set Mxnet scheduler pod's Security Context fsGroup
  ##
  podSecurityContext:
    enabled: true
    fsGroup: 1001
  ## Configure Container Security Context
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
  ## @param scheduler.containerSecurityContext.enabled Enabled Mxnet scheduler containers' Security Context
  ## @param scheduler.containerSecurityContext.runAsUser Set Mxnet scheduler containers' Security Context runAsUser
  ## @param scheduler.containerSecurityContext.runAsNonRoot Set Mxnet scheduler container's Security Context runAsNonRoot
  ##
  containerSecurityContext:
    enabled: true
    runAsUser: 1001
    runAsNonRoot: true
  ## @param scheduler.command Override default container command (useful when using custom images)
  ##
  command: []
  ## @param scheduler.args Override default container args (useful when using custom images)
  ##
  args: []
  ## @param scheduler.lifecycleHooks for the Mxnet scheduler container(s) to automate configuration before or after startup
  ##
  lifecycleHooks: {}
  ## @param scheduler.extraEnvVars Array with extra environment variables to add to Mxnet scheduler nodes
  ## e.g:
  ## extraEnvVars:
  ##   - name: FOO
  ##     value: "bar"
  ##
  extraEnvVars: []
  ## @param scheduler.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Mxnet scheduler nodes
  ##
  extraEnvVarsCM: ""
  ## @param scheduler.extraEnvVarsSecret Name of existing Secret containing extra env vars for Mxnet scheduler nodes
  ##
  extraEnvVarsSecret: ""
  ## @param scheduler.extraVolumes Optionally specify extra list of additional volumes for the Mxnet scheduler pod(s)
  ##
  extraVolumes: []
  ## @param scheduler.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Mxnet scheduler container(s)
  ##
  extraVolumeMounts: []
  ## @param scheduler.sidecars Add additional sidecar containers to the Mxnet scheduler pod(s)
  ## e.g:
  ## sidecars:
  ##   - name: your-image-name
  ##     image: your-image
  ##     imagePullPolicy: Always
  ##     ports:
  ##       - name: portname
  ##         containerPort: 1234
  ##
  sidecars: []
  ## @param scheduler.initContainers Add additional init containers to the Mxnet scheduler pod(s)
  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
  ## e.g:
  ## initContainers:
  ##  - name: your-image-name
  ##    image: your-image
  ##    imagePullPolicy: Always
  ##    command: ['sh', '-c', 'echo "hello world"']
  ##
  initContainers: []
  ## @param scheduler.updateStrategy.type Mxnet scheduler deployment strategy type.
  ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
  ## e.g:
  ## updateStrategy:
  ##  type: RollingUpdate
  ##  rollingUpdate:
  ##    maxSurge: 25%
  ##    maxUnavailable: 25%
  ##
  updateStrategy:
    type: RollingUpdate
  ## @param scheduler.priorityClassName Mxnet scheduler pods' priorityClassName
  ##
  priorityClassName: ""
  ## @param scheduler.schedulerName Name of the k8s scheduler (other than default)
  ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  ##
  schedulerName: ""
  ## @param scheduler.terminationGracePeriodSeconds In seconds, time the given to the Mxnet scheduler pod needs to terminate gracefully
  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
  ##
  terminationGracePeriodSeconds: ""
  ## @param scheduler.topologySpreadConstraints Topology Spread Constraints for pod assignment
  ## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
  ## The value is evaluated as a template
  ##
  topologySpreadConstraints: []
  ## Container resource requests and limits
  ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
  ## We usually recommend not to specify default resources and to leave this as a conscious
  ## choice for the user. This also increases chances charts run on environments with little
  ## resources, such as Minikube. If you do want to specify resources, uncomment the following
  ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  ## @param scheduler.resources.limits The resources limits for the Mxnet container
  ## @param scheduler.resources.requests The requested resources for the Mxnet container
  ##
  resources:
    ## Example:
    ## limits:
    ##    cpu: 250m
    ##    memory: 256Mi
    limits: {}
    ## Examples:
    ## requests:
    ##    cpu: 250m
    ##    memory: 256Mi
    requests: {}
  ## Configure extra options for Mxnet scheduler containers' liveness, readiness and startup probes
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
  ## @param scheduler.startupProbe.enabled Enable startupProbe
  ## @param scheduler.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
  ## @param scheduler.startupProbe.periodSeconds Period seconds for startupProbe
  ## @param scheduler.startupProbe.timeoutSeconds Timeout seconds for startupProbe
  ## @param scheduler.startupProbe.failureThreshold Failure threshold for startupProbe
  ## @param scheduler.startupProbe.successThreshold Success threshold for startupProbe
  ##
  startupProbe:
    enabled: false
    initialDelaySeconds: 5
    periodSeconds: 5
    timeoutSeconds: 15
    successThreshold: 1
    failureThreshold: 5
  ## @param scheduler.livenessProbe.enabled Enable livenessProbe
  ## @param scheduler.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
  ## @param scheduler.livenessProbe.periodSeconds Period seconds for livenessProbe
  ## @param scheduler.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
  ## @param scheduler.livenessProbe.failureThreshold Failure threshold for livenessProbe
  ## @param scheduler.livenessProbe.successThreshold Success threshold for livenessProbe
  ##
  livenessProbe:
    enabled: true
    initialDelaySeconds: 5
    periodSeconds: 5
    timeoutSeconds: 15
    successThreshold: 1
    failureThreshold: 5
  ## @param scheduler.readinessProbe.enabled Enable readinessProbe
  ## @param scheduler.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
  ## @param scheduler.readinessProbe.periodSeconds Period seconds for readinessProbe
  ## @param scheduler.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
  ## @param scheduler.readinessProbe.failureThreshold Failure threshold for readinessProbe
  ## @param scheduler.readinessProbe.successThreshold Success threshold for readinessProbe
  ##
  readinessProbe:
    enabled: true
    initialDelaySeconds: 5
    periodSeconds: 5
    timeoutSeconds: 15
    successThreshold: 1
    failureThreshold: 5
  ## @param scheduler.customStartupProbe Custom liveness probe for the Web component
  ##
  customStartupProbe: {}
  ## @param scheduler.customLivenessProbe Custom liveness probe for the Web component
  ##
  customLivenessProbe: {}
  ## @param scheduler.customReadinessProbe Custom readiness probe for the Web component
  ##
  customReadinessProbe: {}
  ## Service for the scheduler node
  ##
  service:
    ## @param scheduler.service.type Kubernetes service type
    ##
    type: ClusterIP
    ## @param scheduler.service.ports.mxnet Scheduler Service port
    ##
    ports:
      mxnet: 9092
    ## Specify the nodePort value for the LoadBalancer and NodePort service types.
    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
    ## @param scheduler.service.nodePorts.mxnet Node port for Mxnet scheduler
    ##
    nodePorts:
      mxnet: ""
    ## @param scheduler.service.clusterIP Scheduler service Cluster IP
    ## e.g.:
    ## clusterIP: None
    ##
    clusterIP: ""
    ## @param scheduler.service.loadBalancerIP Scheduler service Load Balancer IP
    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
    ##
    loadBalancerIP: ""
    ## @param scheduler.service.loadBalancerSourceRanges Scheduler service Load Balancer sources
    ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
    ## e.g:
    ## loadBalancerSourceRanges:
    ##   - 10.10.10.0/24
    ##
    loadBalancerSourceRanges: []
    ## @param scheduler.service.externalTrafficPolicy Scheduler service external traffic policy
    ## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
    ##
    externalTrafficPolicy: Cluster
    ## @param scheduler.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
    ##
    extraPorts: []
    ## @param scheduler.service.annotations Additional custom annotations for Scheduler service
    ##
    annotations: {}
    ## @param scheduler.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
    ## If "ClientIP", consecutive client requests will be directed to the same Pod
    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
    ##
    sessionAffinity: None
    ## @param scheduler.service.sessionAffinityConfig Additional settings for the sessionAffinity
    ## sessionAffinityConfig:
    ##   clientIP:
    ##     timeoutSeconds: 300
    ##
    sessionAffinityConfig: {}

## @section Init containers parameters
## Bitnami git image version
## ref: https://hub.docker.com/r/bitnami/git/tags/
## @param git.registry Git image registry
## @param git.repository Git image repository
## @param git.tag Git image tag (immutable tags are recommended)
## @param git.digest Git image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
## @param git.pullPolicy Git image pull policy
## @param git.pullSecrets Specify docker-registry secret names as an array
##
git:
  registry: docker.io
  repository: bitnami/git
  tag: 2.39.0-debian-11-r11
  digest: ""
  pullPolicy: IfNotPresent
  ## Optionally specify an array of imagePullSecrets.
  ## Secrets must be manually created in the namespace.
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  ## e.g:
  ## pullSecrets:
  ##   - myRegistryKeySecretName
  ##
  pullSecrets: []

## volumePermissions: Change the owner and group of the persistent volume mountpoint to runAsUser:fsGroup values from the securityContext section.
##
volumePermissions:
  ## @param volumePermissions.enabled Enable init container that changes volume permissions in the data directory
  ##
  enabled: false
  ## @param volumePermissions.image.registry Init container volume-permissions image registry
  ## @param volumePermissions.image.repository Init container volume-permissions image repository
  ## @param volumePermissions.image.tag Init container volume-permissions image tag (immutable tags are recommended)
  ## @param volumePermissions.image.digest Init container volume-permissions image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
  ## @param volumePermissions.image.pullPolicy Init container volume-permissions image pull policy
  ## @param volumePermissions.image.pullSecrets Specify docker-registry secret names as an array
  ##
  image:
    registry: docker.io
    repository: bitnami/bitnami-shell
    tag: 11-debian-11-r72
    digest: ""
    pullPolicy: IfNotPresent
    ## Optionally specify an array of imagePullSecrets.
    ## Secrets must be manually created in the namespace.
    ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
    ## e.g:
    ## pullSecrets:
    ##   - myRegistryKeySecretName
    ##
    pullSecrets: []
  ## Init container' resource requests and limits
  ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
  ## We usually recommend not to specify default resources and to leave this as a conscious
  ## choice for the user. This also increases chances charts run on environments with little
  ## resources, such as Minikube. If you do want to specify resources, uncomment the following
  ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  ## @param volumePermissions.resources.limits The resources limits for the container
  ## @param volumePermissions.resources.requests The requested resources for the container
  ##
  resources:
    ## Example:
    ## limits:
    ##    cpu: 100m
    ##    memory: 128Mi
    limits: {}
    ## Examples:
    ## requests:
    ##    cpu: 100m
    ##    memory: 128Mi
    requests: {}
