Files
deprecated-helm-charts/stable/selenium
Kierran McPhersonandKubernetes Prow Robot b126e741ba [stable/selenium] Allow customising the hub ports (#9953)
* Allow customising the hub service port

Signed-off-by: Kierran McPherson <kierranm@gmail.com>

* bump chart to 1.0.0 since its in stable.

Signed-off-by: Paul Czarkowski <username.taken@gmail.com>
2019-01-26 08:36:40 -08:00
..

Selenium

TL;DR;

$ helm install stable/selenium

Introduction

This chart bootstraps a Selenium deployment on a Kubernetes cluster using the Helm package manager.

Prerequisites

  • Kubernetes 1.5+ with Beta APIs enabled

Installing the Chart

To install the chart with the release name my-release:

$ helm install --name my-release stable/selenium

The command deploys Selenium on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.

Tip

: List all releases using helm list

Uninstalling the Chart

To uninstall/delete the my-release deployment:

$ helm delete my-release

The command removes all the Kubernetes components associated with the chart and deletes the release.

Configuration

The following table lists the configurable parameters of the Selenium chart and their default values.

Parameter Description Default
global.nodeselector Node label to be useed globally for scheduling of all images nil
global.hostAliases A list of hostAliases, that contains ip and hostnames, to be used globally []
global.affinity Deployemnt affinities to be used globally for scheduling of all images nil
global.tolerations Deployment tolerations to be used globally for scheduling of all images nil
hub.image The selenium hub image selenium/hub
hub.tag The selenium hub image tag 3.14.0
hub.pullPolicy The pull policy for the hub image IfNotPresent
hub.port The port the hub listens on 4444
hub.servicePort The port the hub Service listens on 4444

| hub.podAnnotations | Annotations on the hub pod | {} | | hub.javaOpts | The java options for the selenium hub JVM, default sets the maximum heap size to 1,000 mb | -Xmx1000m | | hub.resources | The resources for the hub container, defaults to minimum half a cpu and maximum 1,000 mb RAM | {"limits":{"cpu":".5", "memory":"1000Mi"}} | | hub.serviceType | The Service type | LoadBalancer | | hub.serviceLoadBalancerIP | The Public IP for the Load Balancer | nil | | hub.loadBalancerSourceRanges | A list of IP CIDRs allowed access to load balancer (if supported) | [] | | hub.serviceSessionAffinity | The session affinity for the hub service| None | | hub.gridNewSessionWaitTimeout | | nil | | hub.gridJettyMaxThreads | | nil | | hub.gridNodePolling | | nil | | hub.gridCleanUpCycle | | nil | | hub.gridTimeout | | nil | | hub.gridBrowserTimeout | | nil | | hub.gridMaxSession | | nil | | hub.gridUnregisterIfStillDownAfer | | nil | | hub.seOpts | Command line arguments to pass to hub | nil | | hub.timeZone | The time zone for the container | nil | | hub.nodeselector | Node label to use for scheduling of the hub if set this takes precedence over the global value | nil | | hub.affinity | Deployemnt affinities to use for scheduling of the hub if set this takes precedence over the global value | nil | | hub.tolerations | Deployment tolerations to use for scheduling of the hub if set this takes precedence over the global value | nil | | hub.ingress.enabled | Configure an ingress for the selenium hub | false | | hub.ingress.annotations | Annotations for the ingress for the selenium hub | nil | | hub.ingress.path | The path for this ingress from which to route the traffic to the selenium hub | / | | hub.ingress.hosts | The list hosts for which this ingress should resolve the selenium hub | [selenium-hub.local] | | hub.ingress.tls | The tls secret to configure ssl for this ingress | [] | | hub.readinessTimeout | Timeout for hub readiness probe in seconds | 1 | | hub.livenessTimeout | Timeout for hub liveness probe in seconds | 1 | | hub.probePath | Path for readiness and liveness probes to check | /wd/hub/status | | chrome.enabled | Schedule a chrome node pod | false | | chrome.image | The selenium node chrome image | selenium/node-chrome | | chrome.tag | The selenium node chrome tag | 3.14.0 | | chrome.pullPolicy | The pull policy for the node chrome image | IfNotPresent | | chrome.replicas | The number of selenium node chrome pods | 1 | | chrome.podAnnotations | Annotations on the chrome pods | {} | | chrome.javaOpts | The java options for the selenium node chrome JVM, default sets the maximum heap size to 900 mb | -Xmx900m | | chrome.volumeMounts | Additional volumes to mount, the default provides a larger shared memory | [{"mountPath":"/dev/shm", "name":"dshm"}] | | chrome.volumes | Additional volumes import, the default provides a larger shared memory | [{"name":"dshm", "emptyDir":{"medium":"Memory"}}] | | chrome.resources | The resources for the node chrome container, defaults to minimum half a cpu and maximum 1,000 mb | {"limits":{"cpu":".5", "memory":"1000Mi"}} | | chrome.screenWidth | | nil | | chrome.screenHeight | | nil | | chrome.screenDepth | | nil | | chrome.display | The vnc display | nil | | chrome.chromeVersion | The version of chrome to use | nil | | chrome.nodeMaxInstances | The maximum number of browser instances | nil | | chrome.nodeMaxSession | The maximum number of sessions | nil | | chrome.nodeRegistryCycle | The number of milliseconds to wait, registering a node| nil | | chrome.nodePort | The port to listen on | nil | | chrome.seOpts | Command line arguments to pass to node | nil | | chrome.timeZone | The time zone for the container | nil | | chrome.nodeselector | Node label to use for scheduling of chrome images if set this takes precedence over the global value | nil | | chrome.affinity | Deployemnt affinities to use for scheduling of the chrome if set this takes precedence over the global value | nil | | chrome.tolerations | Deployment tolerations to use for scheduling of the chrome if set this takes precedence over the global value | nil | | chromeDebug.enabled | Schedule a selenium node chrome debug pod | false | | chromeDebug.image | The selenium node chrome debug image | selenium/node-chrome-debug | | chromeDebug.tag | The selenium node chrome debug tag | 3.14.0 | | chromeDebug.pullPolicy | The selenium node chrome debug pull policy | IfNotPresent | | chromeDebug.replicas | The number of selenium node chrome debug pods | 1 | | chromeDebug.podAnnotations | Annotations on the Chrome debug pod | {} | | chromeDebug.javaOpts | The java options for a selenium node chrome debug JVM, default sets the max heap size to 900 mb | -Xmx900m | | chromeDebug.volumeMounts | Additional volumes to mount, the default provides a larger shared | [{"mountPath":"/dev/shm", "name":"dshm"}] | | chromeDebug.volumes | Additional volumes import, the default provides a larger shared | [{"name":"dshm", "emptyDir":{"medium":"Memory"}}] | | chromeDebug.resources | The resources for the hub container, defaults to minimum half a cpu and maximum 1,000 mb | {"limits":{"cpu":".5", "memory":"1000Mi"}} | | chromeDebug.screenWidth | | nil | | chromeDebug.screenHeight | | nil | | chromeDebug.screenDepth | | nil | | chromeDebug.display | The vnc display | nil | | chromeDebug.chromeVersion | The version of chrome to use | nil | | chromeDebug.nodeMaxInstances | The maximum number of browser instances | nil | | chromeDebug.nodeMaxSession | The maximum number of sessions | nil | | chromeDebug.nodeRegistryCycle | The number of milliseconds to wait, registering a node| nil | | chromeDebug.nodePort | The port to listen on | nil | | chromeDebug.seOpts | Command line arguments to pass to node | nil | | chromeDebug.timeZone | The time zone for the container | nil | | chromeDebug.nodeselector | Node label to use for scheduling of chromeDebug images if set this takes precedence over the global value | nil | | chromeDebug.affinity | Deployemnt affinities to use for scheduling of the chromeDebug if set this takes precedence over the global value | nil | | chromeDebug.tolerations | Deployment tolerations to use for scheduling of the chromeDebug if set this takes precedence over the global value | nil | | firefox.enabled | Schedule a selenium node firefox pod | false | | firefox.image | The selenium node firefox image | selenium/node-firefox | | firefox.tag | The selenium node firefox tag | 3.14.0 | | firefox.pullPolicy | The selenium node firefox pull policy | IfNotPresent | | firefox.replicas | The number of selenium node firefox pods | 1 | | firefox.podAnnotations | Annotations on the firefox pods | {} | | firefox.javaOpts | The java options for a selenium node firefox JVM, default sets the max heap size to 900 mb | -Xmx900m | | firefox.resources | The resources for the hub container, defaults to minimum half a cpu and maximum 1,000 mb | {"limits":{"cpu":".5", "memory":"1000Mi"}} | | firefox.screenWidth | | nil | | firefox.screenHeight | | nil | | firefox.screenDepth | | nil | | firefox.display | The vnc display | nil | | firefox.firefoxVersion | The version of firefox to use | nil | | firefox.nodeMaxInstances | The maximum number of browser instances | nil | | firefox.nodeMaxSession | The maximum number of sessions | nil | | firefox.nodeRegistryCycle | The number of milliseconds to wait, registering a node| nil | | firefox.nodePort | The port to listen on | nil | | firefox.seOpts | Command line arguments to pass to node | nil | | firefox.timeZone | The time zone for the container | nil | | firefox.nodeselector | Node label to use for scheduling of firefox images if set this takes precedence over the global value | nil | | firefox.affinity | Deployemnt affinities to use for scheduling of the firefox if set this takes precedence over the global value | nil | | firefox.tolerations | Deployment tolerations to use for scheduling of the firefox if set this takes precedence over the global value | nil | | firefoxDebug.enabled | Schedule a selenium node firefox debug pod | false | | firefoxDebug.image | The selenium node firefox debug image | selenium/node-firefox-debug | | firefoxDebug.tag | The selenium node firefox debug tag | 3.14.0 | | firefoxDebug.pullPolicy | The selenium node firefox debug pull policy | IfNotPresent | | firefoxDebug.replicas | The numer of selenium node firefox debug pods | 1 | | firefoxDebug.podAnnotations | Annotations on the firefox debug pods | {} | | firefoxDebug.javaOpts | The java options for a selenium node firefox debug JVM, default sets the max heap size to 900 mb | -Xmx900m | | firefoxDebug.resources | The resources for the selenium node firefox debug container, defaults to minimum half a cpu and maximum 1,000 mb | {"limits":{"cpu":".5", "memory":"1000Mi"}} | | firefoxDebug.screenWidth | | nil | | firefoxDebug.screenHeight | | nil | | firefoxDebug.screenDepth | | nil | | firefoxDebug.display | The vnc display | nil | | firefoxDebug.firefoxVersion | The version of firefox to use | nil | | firefoxDebug.nodeMaxInstances | The maximum number of browser instances | nil | | firefoxDebug.nodeMaxSession | The maximum number of sessions | nil | | firefoxDebug.nodeRegistryCycle | The number of milliseconds to wait, registering a node| nil | | firefoxDebug.nodePort | The port to listen on | nil | | firefoxDebug.seOpts | Command line arguments to pass to node | nil | | firefoxDebug.timeZone | The time zone for the container | nil | | firefoxDebug.nodeselector | Node label to use for scheduling of firefoxDebug images if set this takes precedence over the global value | nil | | firefoxDebug.affinity | Deployemnt affinities to use for scheduling of the firefoxDebug if set this takes precedence over the global value | nil | | firefoxDebug.tolerations | Deployment tolerations to use for scheduling of the firefoxDebug if set this takes precedence over the global value | nil |

Specify each parameter using the --set key=value[,key=value] argument to helm install. For example,

$ helm install --name my-release \
  --set chrome.enabled=true \
    stable/selenium

Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,

$ helm install --name my-release -f values.yaml stable/selenium

Tip

: You can use the default values.yaml