global:
  ## NodeSelector to be used in every deployment
  ## hub, chrome, firefox, chromeDebug and firefoxDebug
  ## can also be specified at chart level see below
  nodeSelector:
  #  label: value
  ## Configure HostAliases
  hostAliases: []
  affinity:
  #  label: value
  tolerations:
  #  label: value
  ## imagePullSecrets is the secret to use to pull the image from in case of a private flavour image
  ## to be used in every deployment hub, chrome, firefox, chromeDebug and firefoxDebug
  ## can also be specified at chart level see below.
  ## Specifying secret at a chart level will override the global option
  imagePullSecrets:

hub:
  ## The repository and image
  ## ref: https://hub.docker.com/r/selenium/hub/
  image: "selenium/hub"

  ## The tag for the image
  ## ref: https://hub.docker.com/r/selenium/hub/tags/
  tag: "3.141.59"

  ## imagePullSecrets is the secret to use to pull the image from in case of a private flavour image
  # imagePullSecrets: "regcred"

  ## Specify an imagePullPolicy
  ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
  pullPolicy: "IfNotPresent"

  ## The port which the hub listens on
  port: 4444

  ## The port the service listens on
  servicePort: 4444

  ## nodePort - The node port the service exposed on
  # nodePort: 30044

  ## Timeout for probe Hub readiness via HTTP request on hub.probePath
  readinessTimeout: 1

  ## Initial delay before performing the first readinessProbe
  readinessDelay: 15

  ## Timeout for probe Hub liveness via HTTP request on hub.probePath
  livenessTimeout: 1

  ## Path for checking readiness and liveness via HTTP Request
  probePath: "/wd/hub/status"

  # Configure security context on the hub pod
  # securityContext:
  #   fsGroup: 1000
  #   runAsUser: 1000

  ## Additional environment variables to set
  extraEnvs: []
  # extraEnvs:
  #   - name: FOO
  #     valueFrom:
  #       secretKeyRef:
  #         key: FOO
  #         name: secret-resource

  ## Set the JAVA_TOOL_OPTIONS environment variable
  ## If you find your selenium hub is OOMKilled, try adding -XX:+UseSerialGC
  javaOpts: "-Xmx400m"

  ## Set the SE_OPTS environment variable
  ## ref: http://www.seleniumhq.org/docs/07_selenium_grid.jsp#node-configuration
  # seOpts:

  ## Defining a JMX port will open the port on the container, however, it
  ## requires additional javaOpts, ie
  ## javaOpts: >
  ##   -Dcom.sun.management.jmxremote.port=4000
  ##   -Dcom.sun.management.jmxremote.authenticate=false
  ##   -Dcom.sun.management.jmxremote.ssl=false
  ## ref: http://openjdk.java.net/groups/jmx/
  # jmxPort: 4000

  ## Configure resource requests and limits
  ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
  resources:
    limits:
      cpu: ".5"
      memory: "512Mi"

  ## Configure annotations on the hub pod
  podAnnotations: {}
  ## Configure labels on the hub pod
  podLabels: {}

  ## The type of service to create
  ##   Values: ClusterIP, NodePort, LoadBalancer, or ExternalName
  ## ref: https://kubernetes.io/docs/user-guide/services/
  serviceType: "LoadBalancer"

  ## The LoadBalancer IP Address
  ## ref: https://kubernetes.io/docs/user-guide/services/
  ## serviceLoadBalancerIP: "40.121.183.52"
  loadBalancerSourceRanges: []

  ## Control where client requests go, to the same pod or round-robin
  ##   Values: ClientIP or None
  ## ref: https://kubernetes.io/docs/user-guide/services/
  serviceSessionAffinity: "None"

  ## Define various attributes of the service
  # serviceAnnotations:
  #   # internal AWS ELB
  #   service.beta.kubernetes.io/aws-load-balancer-internal: "0.0.0.0/0"

  ## ref: https://github.com/SeleniumHQ/selenium/wiki/Grid2#configuring-the-nodes
  ## In milliseconds
  # gridNewSessionWaitTimeout: -1
  # gridJettyMaxThreads: -1
  ## In milliseconds
  # gridNodePolling: 5000
  ## In milliseconds
  # gridCleanUpCycle: 5000
  ## In seconds
  # gridTimeout: 30
  ## In seconds
  # gridBrowserTimeout: 0
  # gridMaxSession: 5
  ## In milliseconds
  # gridUnregisterIfStillDownAfter: 30000
  # timeZone: UTC

  ## NodeSelector to be used for the hub
  nodeSelector:
  #  label: value
  ingress:
    enabled: false
    annotations: {}
      # kubernetes.io/ingress.class: nginx
      # kubernetes.io/tls-acme: "true"
    path: /
    hosts:
      - selenium-hub.local
    tls: []
    #  - secretName: selenium-hub-tls
    #    hosts:
    #      - selenium-hub.local


chrome:
  ## Enable the creation of a node-chrome pod
  enabled: false

  ## DaemonSet instead of Deployment
  runAsDaemonSet: false

  ## The repository and image
  ## ref: https://hub.docker.com/r/selenium/node-chrome/
  image: "selenium/node-chrome"

  ## The tag for the image
  ## ref: https://hub.docker.com/r/selenium/node-chrome/tags/
  tag: "3.141.59"

  ## imagePullSecrets is the secret to use to pull the image from in case of a private flavour image
  # imagePullSecrets: "regcred"

  ## Specify an imagePullPolicy
  ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
  pullPolicy: "IfNotPresent"

  ## The number of pods in the deployment. This is ignored if runAsDaemonSet is enabled.
  replicas: 1

  ## When true will add a liveness check to the pod
  enableLivenessProbe: false

  ## When true will wait for current running sessions to finish before terminating the pod
  waitForRunningSessions: false

  ## Configure annotations on the chrome pods
  podAnnotations: {}
  ## Configure Labels on the chrome pods
  podLabels: {}

  # Configure security context on the chrome pods
  # securityContext:
  #   fsGroup: 1000
  #   runAsUser: 1000

  ## Additional environment variables to set
  extraEnvs: []
  # extraEnvs:
  #   - name: FOO
  #     valueFrom:
  #       secretKeyRef:
  #         key: FOO
  #         name: secret-resource

  ## Set the JAVA_TOOL_OPTIONS environment variable
  ## If you find your selenium node is OOMKilled, try adding -XX:+UseSerialGC
  javaOpts: "-Xmx900m"

  ## Set the SE_OPTS environment variable
  ## ref: http://www.seleniumhq.org/docs/07_selenium_grid.jsp#node-configuration
  # seOpts:

  ## Defining a JMX port will open the port on the container, however, it
  ## requires additional javaOpts, ie
  ## javaOpts: >
  ##   -Dcom.sun.management.jmxremote.port=4000
  ##   -Dcom.sun.management.jmxremote.authenticate=false
  ##   -Dcom.sun.management.jmxremote.ssl=false
  ## ref: http://openjdk.java.net/groups/jmx/
  # jmxPort: 4000

  ## User defined volumes
  ## ref: https://kubernetes.io/docs/user-guide/volumes/
  volumes:
    ## https://github.com/kubernetes/kubernetes/pull/34928#issuecomment-277952723
    ## http://stackoverflow.com/questions/39852716/chrome-driver-throwing-org-openqa-selenium-remote-sessionnotfoundexception-whe
    ## Chrome wants more than 64mb of shared memory. Docker/k8s default to 64mb.
    - name: dshm
      emptyDir:
        medium: Memory
  volumeMounts:
    - mountPath: /dev/shm
      name: dshm

  ## Configure resource requests and limits
  ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
  resources:
    limits:
      cpu: ".5"
      memory: "1000Mi"

  ## Characteristics of the browser window
  # screenWidth: 1280
  # screenHeight: 1024
  # screenDepth: 24
  # display: :10

  ## Selenium node options
  # chromeVersion:
  # nodeMaxInstances: 1
  # nodeMaxSession: 1
  ## In milliseconds
  # nodeRegisterCycle: 5000
  # nodePort: 5555
  # timeZone: UTC

  ## NodeSelector to be used for chrome
  nodeSelector:
  #  label: value


chromeDebug:
  ## Enable the creation of a node-chrome-debug pod
  enabled: false

  ## DaemonSet instead of Deployment
  runAsDaemonSet: false

  ## The repository and image
  ## ref: https://hub.docker.com/r/selenium/node-chrome-debug/
  image: "selenium/node-chrome-debug"

  ## The tag for the image
  ## ref: https://hub.docker.com/r/selenium/node-chrome-debug/tags/
  tag: "3.141.59"

  ## imagePullSecrets is the secret to use to pull the image from in case of a private flavour image
  # imagePullSecrets: "regcred"

  ## Specify an imagePullPolicy
  ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
  pullPolicy: "IfNotPresent"

  ## The number of pods in the deployment. This is ignored if runAsDaemonSet is enabled.
  replicas: 1

  ## When true will add a liveness check to the pod
  enableLivenessProbe: false

  ## When true will wait for current running sessions to finish before terminating the pod
  waitForRunningSessions: false

  ## Configure annotations on the chrome debug pods
  podAnnotations: {}
  ## Configure labels on the chrome debug pods
  podLabels: {}

  # Configure security context on the chrome debug pods
  # securityContext:
  #   fsGroup: 1000
  #   runAsUser: 1000

  ## Additional environment variables to set
  extraEnvs: []
  # extraEnvs:
  #   - name: FOO
  #     valueFrom:
  #       secretKeyRef:
  #         key: FOO
  #         name: secret-resource

  ## Set the JAVA_TOOL_OPTIONS environment variable
  ## If you find your selenium hub is OOMKilled, try adding -XX:+UseSerialGC
  javaOpts: "-Xmx900m"

  ## Set the SE_OPTS environment variable
  ## ref: http://www.seleniumhq.org/docs/07_selenium_grid.jsp#node-configuration
  # seOpts:

  ## Defining a JMX port will open the port on the container, however, it
  ## requires additional javaOpts, ie
  ## javaOpts: >
  ##   -Dcom.sun.management.jmxremote.port=4000
  ##   -Dcom.sun.management.jmxremote.authenticate=false
  ##   -Dcom.sun.management.jmxremote.ssl=false
  ## ref: http://openjdk.java.net/groups/jmx/
  # jmxPort: 4000

  ## User defined volumes
  ## ref: https://kubernetes.io/docs/user-guide/volumes/
  volumes:
    ## https://github.com/kubernetes/kubernetes/pull/34928#issuecomment-277952723
    ## http://stackoverflow.com/questions/39852716/chrome-driver-throwing-org-openqa-selenium-remote-sessionnotfoundexception-whe
    ## Chrome wants more than 64mb of shared memory. Docker/k8s default to 64mb.
    - name: dshm
      emptyDir:
        medium: Memory
  volumeMounts:
    - mountPath: /dev/shm
      name: dshm

  ## Configure resource requests and limits
  ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
  resources:
    limits:
      cpu: ".5"
      memory: "1500Mi"

  ## Characteristics of the browser window
  # screenWidth: 1280
  # screenHeight: 1024
  # screenDepth: 24
  # display: :10

  ## Selenium node options
  # chromeVersion:
  # nodeMaxInstances: 1
  # nodeMaxSession: 1
  ## In milliseconds
  # nodeRegisterCycle: 5000
  # nodePort: 5555
  # timeZone: UTC

  ## NodeSelector to be used for chromeDebug
  nodeSelector:
  #  label: value

firefox:
  ## Enable the creation of a node-firefox pod
  enabled: false

  ## DaemonSet instead of Deployment
  runAsDaemonSet: false

  ## The repository and image
  ## ref: https://hub.docker.com/r/selenium/node-firefox/
  image: "selenium/node-firefox"

  ## The tag for the image
  ## ref: https://hub.docker.com/r/selenium/node-firefox/tags/
  tag: "3.141.59"

  ## imagePullSecrets is the secret to use to pull the image from in case of a private flavour image
  # imagePullSecrets: "regcred"

  ## Specify an imagePullPolicy
  ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
  pullPolicy: "IfNotPresent"

  ## The number of pods in the deployment. This is ignored if runAsDaemonSet is enabled.
  replicas: 1

  ## When true will add a liveness check to the pod
  enableLivenessProbe: false

  ## When true will wait for current running sessions to finish before terminating the pod
  waitForRunningSessions: false

  ## Configure annotations on the firefox pods
  podAnnotations: {}
  ## Configure labels on the firefox pods
  podLabels: {}

  # Configure security context on the firefox pods
  # securityContext:
  #   fsGroup: 1000
  #   runAsUser: 1000

  ## Additional environment variables to set
  extraEnvs: []
  # extraEnvs:
  #   - name: FOO
  #     valueFrom:
  #       secretKeyRef:
  #         key: FOO
  #         name: secret-resource

  ## Set the JAVA_TOOL_OPTIONS environment variable
  ## If you find your selenium hub is OOMKilled, try adding -XX:+UseSerialGC
  javaOpts: "-Xmx900m"

  ## Set the SE_OPTS environment variable
  ## ref: http://www.seleniumhq.org/docs/07_selenium_grid.jsp#node-configuration
  # seOpts:

  ## Defining a JMX port will open the port on the container, however, it
  ## requires additional javaOpts, ie
  ## javaOpts: >
  ##   -Dcom.sun.management.jmxremote.port=4000
  ##   -Dcom.sun.management.jmxremote.authenticate=false
  ##   -Dcom.sun.management.jmxremote.ssl=false
  ## ref: http://openjdk.java.net/groups/jmx/
  # jmxPort: 4000

  volumes:
    ## https://docs.openshift.com/container-platform/3.6/dev_guide/shared_memory.html
    - name: dshm
      emptyDir:
        medium: Memory
  volumeMounts:
    - mountPath: /dev/shm
      name: dshm

  ## Configure resource requests and limits
  ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
  resources:
    limits:
      cpu: ".5"
      memory: "1000Mi"

  ## Characteristics of the browser window
  # screenWidth: 1280
  # screenHeight: 1024
  # screenDepth: 24
  # display: :10

  ## Selenium node options
  # firefoxVersion:
  # nodeMaxInstances: 1
  # nodeMaxSession: 1
  ## In milliseconds
  # nodeRegisterCycle: 5000
  # nodePort: 5555
  # timeZone: UTC

  ## NodeSelector to be used for firefox
  nodeSelector:
  #  label: value

firefoxDebug:
  ## Enable the creation of a node-firefox-debug pod
  enabled: false

  ## DaemonSet instead of Deployment
  runAsDaemonSet: false

  ## The repository and image
  ## ref: https://hub.docker.com/r/selenium/node-firefox-debug/
  image: "selenium/node-firefox-debug"

  ## The tag for the image
  ## ref: https://hub.docker.com/r/selenium/node-firefox-debug/tags/
  tag: "3.141.59"

  ## imagePullSecrets is the secret to use to pull the image from in case of a private flavour image
  # imagePullSecrets: "regcred"

  ## Specify an imagePullPolicy
  ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
  pullPolicy: "IfNotPresent"

  ## The number of pods in the deployment. This is ignored if runAsDaemonSet is enabled.
  replicas: 1

  ## When true will add a liveness check to the pod
  enableLivenessProbe: false

  ## When true will wait for current running sessions to finish before terminating the pod
  waitForRunningSessions: false

  ## Configure annotations on the firefox debug pods
  podAnnotations: {}
  ## Configure labels on the firefox debug pods
  podLabels: {}

  # Configure security context on the firefox debug pods
  # securityContext:
  #   fsGroup: 1000
  #   runAsUser: 1000

  ## Additional environment variables to set
  extraEnvs: []
  # extraEnvs:
  #   - name: FOO
  #     valueFrom:
  #       secretKeyRef:
  #         key: FOO
  #         name: secret-resource

  ## Set the JAVA_TOOL_OPTIONS environment variable
  ## If you find your selenium hub is OOMKilled, try adding -XX:+UseSerialGC
  javaOpts: "-Xmx900m"

  ## Set the SE_OPTS environment variable
  ## ref: http://www.seleniumhq.org/docs/07_selenium_grid.jsp#node-configuration
  # seOpts:

  ## Defining a JMX port will open the port on the container, however, it
  ## requires additional javaOpts, ie
  ## javaOpts: >
  ##   -Dcom.sun.management.jmxremote.port=4000
  ##   -Dcom.sun.management.jmxremote.authenticate=false
  ##   -Dcom.sun.management.jmxremote.ssl=false
  ## ref: http://openjdk.java.net/groups/jmx/
  # jmxPort: 4000

  volumes:
    ## https://docs.openshift.com/container-platform/3.6/dev_guide/shared_memory.html
    - name: dshm
      emptyDir:
        medium: Memory
  volumeMounts:
    - mountPath: /dev/shm
      name: dshm

  ## Configure resource requests and limits
  ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
  resources:
    limits:
      cpu: ".5"
      memory: "1500Mi"

  ## Characteristics of the browser window
  # screenWidth: 1280
  # screenHeight: 1024
  # screenDepth: 24
  # display: :10

  ## Selenium node options
  # firefoxVersion:
  # nodeMaxInstances: 1
  # nodeMaxSession: 1
  ## In milliseconds
  # nodeRegisterCycle: 5000
  # nodePort: 5555
  # timeZone: UTC

  ## NodeSelector to be used for firefoxDebug
  nodeSelector:
  #  label: value
