## 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 and imagePullSecrets
##
# global:
#   imageRegistry: myRegistryName
#   imagePullSecrets:
#     - myRegistryKeySecretName
#   storageClass: myStorageClass

## String to partially override parse.fullname template (will maintain the release name)
##
# nameOverride:

## String to fully override parse.fullname template
##
# fullnameOverride:

## Init containers parameters:
## volumePermissions: Change the owner and group of the persistent volume mountpoint to runAsUser:fsGroup values from the securityContext section.
##
volumePermissions:
  enabled: false
  image:
    registry: docker.io
    repository: bitnami/minideb
    tag: buster
    pullPolicy: Always
    ## 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/
    ##
    # pullSecrets:
    #   - myRegistryKeySecretName
  resources: {}

## Kubernetes serviceType for Parse Deployment
## ref: http://kubernetes.io/docs/user-guide/services/#publishing-services---service-types
##
service:
  type: LoadBalancer
  # Parse dashboard HTTP Port
  port: 80
  ## loadBalancerIP:
  ##
  ## nodePorts:
  ##   http: <to set explicitly, choose port between 30000-32767>
  nodePorts:
    http: ""
  ## Enable client source IP preservation
  ## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
  ##
  externalTrafficPolicy: Cluster

## loadBalancerIP for the Parse Service (optional, cloud specific)
## ref: http://kubernetes.io/docs/user-guide/services/#type-loadbalancer
##
#
server:
  ## Bitnami Parse image version
  ## ref: https://hub.docker.com/r/bitnami/parse/tags/
  ##
  image:
    registry: docker.io
    repository: bitnami/parse
    tag: 4.3.0-debian-10-r43
    ## Specify a imagePullPolicy
    ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
    ## ref: http://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/
    ##
    # pullSecrets:
    #   - myRegistryKeySecretName

  ## Parse Server Pod Security Context
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
  ##
  securityContext:
    enabled: true
    fsGroup: 1001
    runAsUser: 1001

  ## Parse Server Port
  ## ref: https://github.com/bitnami/bitnami-docker-parse#configuration
  ##
  port: 1337

  ## Parse API mount path
  ## ref: https://github.com/bitnami/bitnami-docker-parse#configuration
  ##
  mountPath: /parse

  ## Parse Server App ID
  ## ref: https://github.com/bitnami/bitnami-docker-parse#configuration
  ##
  appId: myappID

  ## Parse Server Master Key
  ## ref: https://github.com/bitnami/bitnami-docker-parse#configuration
  ##
  # masterKey:

  ## An array to add extra env vars
  ## For example:
  ## extraEnvVars:
  ##  - name: PARSE_SERVER_ALLOW_CLIENT_CLASS_CREATION
  ##    value: "true"
  ##
  extraEnvVars: []
  ## Name of a ConfigMap containing extra env vars
  ##
  extraEnvVarsCM:
  ## Name of a Secret containing extra env vars
  ##
  extraEnvVarsSecret:

  ## Enable Cloud Clode
  ## ref: https://github.com/bitnami/bitnami-docker-parse#how-to-deploy-your-cloud-functions-with-parse-cloud-code
  ##
  enableCloudCode: false

  ## Cloud Code scripts
  ## Specify dictionary of Cloud Code scripts and content
  ## Alternatively, you can put your scripts under the files/cloud directory
  ##
  # cloudCodeScripts:
  #   main.js: |
  #      Parse.Cloud.define("sayHelloWorld", function(request, response) {
  #        return "Hello world!";
  #      });

  ## ConfigMap with Cloud Code scripts
  ## NOTE: This will override cloudCodeScripts
  ##
  # existingCloudCodeScriptsCM

  ## Parse Server pods' resource requests and limits
  ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
  ##
  resources: {}
  ## Parse Server pods' liveness and readiness probes
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
  ##
  livenessProbe:
    enabled: true
    initialDelaySeconds: 120
    periodSeconds: 10
    timeoutSeconds: 5
    successThreshold: 1
    failureThreshold: 5
  readinessProbe:
    enabled: true
    initialDelaySeconds: 30
    periodSeconds: 5
    timeoutSeconds: 5
    successThreshold: 1
    failureThreshold: 5

  ## Affinity for pod assignment. Evaluated as a template
  ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
  ##
  affinity: {}

  ## Node labels for pod assignment. Evaluated as a template
  ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
  ##
  nodeSelector: {}

  ## Tolerations for pod assignment. Evaluated as a template
  ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  ##
  tolerations: {}

dashboard:
  ## Enable deployment of Parse Dashboard
  ##
  enabled: true

  ## Bitnami Parse Dashboard image version
  ## ref: https://hub.docker.com/r/bitnami/parse-dashboard/tags/
  ##
  image:
    registry: docker.io
    repository: bitnami/parse-dashboard
    tag: 2.1.0-debian-10-r141
    ## Specify a imagePullPolicy
    ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
    ## ref: http://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/
    ##
    # pullSecrets:
    #   - myRegistryKeySecretName

  ## Parse Dashboard Pod Security Context
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
  ##
  securityContext:
    enabled: true
    fsGroup: 1001
    runAsUser: 1001

  ## Parse Dashboard application username
  ## ref: https://github.com/bitnami/bitnami-docker-parse-dashboard#configuration
  ##
  username: user

  ## Parse Dashboard application password
  ## Defaults to a random 10-character alphanumeric string if not set
  ## ref: https://github.com/bitnami/bitnami-docker-parse-dashboard#configuration
  ##
  # password:

  ## Parse Dashboard application name
  ## ref: https://github.com/bitnami/bitnami-docker-parse-dashboard#configuration
  ##
  appName: MyDashboard

  ## Parse Dashboard pods' resource requests and limits
  ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
  ##
  resources: {}
  ## Parse Dashboard pods' liveness and readiness probes
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
  ##
  livenessProbe:
    enabled: true
    initialDelaySeconds: 240
    periodSeconds: 10
    timeoutSeconds: 5
    successThreshold: 1
    failureThreshold: 5
  readinessProbe:
    enabled: true
    initialDelaySeconds: 30
    periodSeconds: 5
    timeoutSeconds: 5
    successThreshold: 1
    failureThreshold: 5

  ## Affinity for pod assignment. Evaluated as a template
  ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
  ##
  affinity: {}

  ## Node labels for pod assignment. Evaluated as a template
  ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
  ##
  nodeSelector: {}

  ## Tolerations for pod assignment. Evaluated as a template
  ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  ##
  tolerations: {}

  ## Protocol to form URLs to Parse
  ##
  parseServerUrlProtocol: "http"

  ## An array to add extra env vars
  ## For example:
  ## extraEnvVars:
  ##  - name: KIBANA_ELASTICSEARCH_URL
  ##    value: test
  ##
  extraEnvVars: []
  ## Name of a ConfigMap containing extra env vars
  ##
  extraEnvVarsCM:
  ## Name of a Secret containing extra env vars
  ##
  extraEnvVarsSecret:

## Configure the ingress resource that allows you to access the
## Parse installation.
## ref: http://kubernetes.io/docs/user-guide/ingress/
##
ingress:
  ## Set to true to enable ingress record generation
  ##
  enabled: false

  ## Set this to true in order to add the corresponding annotations for cert-manager
  ##
  certManager: false

  ## Ingress annotations done as key:value pairs. If certManager is set to true,
  ## the annotation 'kubernetes.io/tls-acme: "true"' will automatically be set
  ## ref: https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md
  ##
  annotations:
  #  kubernetes.io/ingress.class: nginx

  dashboard:
    ## The list of hostnames to be covered with this ingress record.
    ## Most likely this will be just one host, but in the event more hosts are needed, this is an array
    ##
    hosts:
      - name: parse.local
        path: /

        ## Set this to true in order to enable TLS on the ingress record
        ##
        tls: false

        ## Optionally specify the TLS hosts for the ingress record
        ## Useful when the Ingress controller supports www-redirection
        ## If not specified, the above host name will be used
        # tlsHosts:
        # - www.parse.local
        # - parse.local

        ## If TLS is set to true, you must declare what secret will store the key/certificate for TLS
        ##
        tlsSecret: parse.local-tls

  server:
    ## The list of hostnames to be covered with this ingress record.
    ## Most likely this will be just one host, but in the event more hosts are needed, this is an array
    ##
    hosts:
      - name: parse-server.local
        path: /

        ## Set this to true in order to enable TLS on the ingress record
        ##
        tls: false

        ## Optionally specify the TLS hosts for the ingress record
        ## Useful when the Ingress controller supports www-redirection
        ## If not specified, the above host name will be used
        # tlsHosts:
        # - www.parse-server.local
        # - parse-server.local

        ## If TLS is set to true, you must declare what secret will store the key/certificate for TLS
        ##
        tlsSecret: parse.local-tls

  secrets:
  ## If you're providing your own certificates, please use this to add the certificates as secrets
  ## key and certificate should start with -----BEGIN CERTIFICATE----- or
  ## -----BEGIN RSA PRIVATE KEY-----
  ##
  ## name should line up with a tlsSecret set further up
  ## If you're using cert-manager, this is unneeded, as it will create the secret for you if it is not set
  ##
  ## It is also possible to create and manage the certificates outside of this helm chart
  ## Please see README.md for more information
  # - name: parse.local-tls
  #   key:
  #   certificate:

## Enable persistence using Persistent Volume Claims
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
##
persistence:
  enabled: true
  ## parse 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: "-"
  accessMode: ReadWriteOnce
  size: 8Gi

##
## MongoDB chart configuration
##
## https://github.com/bitnami/charts/blob/master/bitnami/mongodb/values.yaml
##
mongodb:
  ## MongoDB Authentication parameters
  ##
  auth:
    ## Enable authentication
    ## ref: https://docs.mongodb.com/manual/tutorial/enable-authentication/
    ##
    enabled: true
    ## MongoDB root password
    ## ref: https://github.com/bitnami/bitnami-docker-mongodb/blob/master/README.md#setting-the-root-password-on-first-run
    ##
    rootPassword: ""
  ## Enable persistence using Persistent Volume Claims
  ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
  ##
  persistence:
    enabled: true
    ## mongodb 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: "-"
    accessMode: ReadWriteOnce
    size: 8Gi
