diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 64ffd2e33..10707c5d8 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -55,6 +55,6 @@ body: attributes: label: Docker Selenium version (tag) description: What version of Docker Selenium are you using? - placeholder: 4.9.0-20230421? Please use the full tag, avoid "latest" + placeholder: 4.10.0-20230607? Please use the full tag, avoid "latest" validations: required: true \ No newline at end of file diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 7368cb94c..fed3adb46 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -21,7 +21,7 @@ jobs: - name: Output Docker info run: docker info - name: Set up Python 3.8 - uses: actions/setup-python@v4.6.0 + uses: actions/setup-python@v4.6.1 with: python-version: 3.8 - name: Get branch name (only for push to branch) diff --git a/.github/workflows/lock.yml b/.github/workflows/lock.yml index fc52457f8..599e1c54f 100644 --- a/.github/workflows/lock.yml +++ b/.github/workflows/lock.yml @@ -14,7 +14,7 @@ jobs: action: runs-on: ubuntu-latest steps: - - uses: dessant/lock-threads@c1b35aecc5cdb1a34539d14196df55838bb2f836 # v3 + - uses: dessant/lock-threads@be8aa5be94131386884a6da4189effda9b14aa21 # v3 with: process-only: 'issues' issue-lock-inactive-days: '30' diff --git a/.github/workflows/test-video.yml b/.github/workflows/test-video.yml index 11a7f23e5..039b6f6f3 100644 --- a/.github/workflows/test-video.yml +++ b/.github/workflows/test-video.yml @@ -18,7 +18,7 @@ jobs: - name: Output Docker info run: docker info - name: Set up Python 3.8 - uses: actions/setup-python@v4.6.0 + uses: actions/setup-python@v4.6.1 with: python-version: 3.8 - name: Get branch name (only for push to branch) diff --git a/Base/Dockerfile b/Base/Dockerfile index f15da67e9..d2ffcc4ac 100644 --- a/Base/Dockerfile +++ b/Base/Dockerfile @@ -92,9 +92,9 @@ COPY supervisord.conf /etc RUN mkdir -p /opt/selenium /opt/selenium/assets /var/run/supervisor /var/log/supervisor \ && touch /opt/selenium/config.toml \ && chmod -R 777 /opt/selenium /opt/selenium/assets /var/run/supervisor /var/log/supervisor /etc/passwd \ - && wget --no-verbose https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.9.0/selenium-server-4.9.1.jar \ + && wget --no-verbose https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.10.0/selenium-server-4.10.0.jar \ -O /opt/selenium/selenium-server.jar \ - && wget --no-verbose https://repo1.maven.org/maven2/org/seleniumhq/selenium/selenium-http-jdk-client/4.9.1/selenium-http-jdk-client-4.9.1.jar \ + && wget --no-verbose https://repo1.maven.org/maven2/org/seleniumhq/selenium/selenium-http-jdk-client/4.10.0/selenium-http-jdk-client-4.10.0.jar \ -O /opt/selenium/selenium-http-jdk-client.jar \ && chgrp -R 0 /opt/selenium ${HOME} /opt/selenium/assets /var/run/supervisor /var/log/supervisor \ && chmod -R g=u /opt/selenium ${HOME} /opt/selenium/assets /var/run/supervisor /var/log/supervisor \ diff --git a/Hub/start-selenium-grid-hub.sh b/Hub/start-selenium-grid-hub.sh index 0ca6aac67..efc34668d 100755 --- a/Hub/start-selenium-grid-hub.sh +++ b/Hub/start-selenium-grid-hub.sh @@ -17,6 +17,11 @@ if [ ! -z "$SE_HUB_PORT" ]; then PORT_CONFIG="--port ${SE_HUB_PORT}" fi +if [ ! -z "$SE_SUB_PATH" ]; then + echo "Using SE_SUB_PATH: ${SE_SUB_PATH}" + SUB_PATH_CONFIG="--sub-path ${SE_SUB_PATH}" +fi + EXTRA_LIBS="/opt/selenium/selenium-http-jdk-client.jar" if [ ! -z "$SE_ENABLE_TRACING" ]; then @@ -39,4 +44,5 @@ java ${JAVA_OPTS:-$SE_JAVA_OPTS} -Dwebdriver.http.factory=jdk-http-client \ --config /opt/selenium/config.toml \ ${HOST_CONFIG} \ ${PORT_CONFIG} \ + ${SUB_PATH_CONFIG} \ ${SE_OPTS} diff --git a/NodeDocker/config.toml b/NodeDocker/config.toml index 29963dbc7..c53f4b0c1 100644 --- a/NodeDocker/config.toml +++ b/NodeDocker/config.toml @@ -2,9 +2,9 @@ # Configs have a mapping between the Docker image to use and the capabilities that need to be matched to # start a container with the given image. configs = [ - "selenium/standalone-firefox:4.9.0-20230421", '{"browserName": "firefox", "platformName": "linux"}', - "selenium/standalone-chrome:4.9.0-20230421", '{"browserName": "chrome", "platformName": "linux"}', - "selenium/standalone-edge:4.9.0-20230421", '{"browserName": "MicrosoftEdge", "platformName": "linux"}' + "selenium/standalone-firefox:4.10.0-20230607", '{"browserName": "firefox", "platformName": "linux"}', + "selenium/standalone-chrome:4.10.0-20230607", '{"browserName": "chrome", "platformName": "linux"}', + "selenium/standalone-edge:4.10.0-20230607", '{"browserName": "MicrosoftEdge", "platformName": "linux"}' ] # URL for connecting to the docker daemon @@ -14,7 +14,7 @@ configs = [ # socat -4 TCP-LISTEN:2375,fork UNIX-CONNECT:/var/run/docker.sock url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-4.3.1-20230421" +video-image = "selenium/video:ffmpeg-4.3.1-20230607" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values diff --git a/README.md b/README.md index e30bb89e0..5a5117251 100644 --- a/README.md +++ b/README.md @@ -88,7 +88,7 @@ The project is made possible by volunteer contributors who have put in thousands and made the source code freely available under the [Apache License 2.0](LICENSE.md). These Docker images come with a handful of tags to simplify its usage, have a look at them in one of -our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.9.0-20230421). +our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.10.0-20230607). To get notifications of new releases, add yourself as a "Releases only" watcher. @@ -126,6 +126,7 @@ Talk to us at https://www.selenium.dev/support/ + [SE_OPTS Selenium Configuration Options](#se_opts-selenium-configuration-options) + [SE_JAVA_OPTS Java Environment Options](#se_java_opts-java-environment-options) + [Node configuration options](#node-configuration-options) + + [Setting Sub Path](#setting-sub-path) + [Setting Screen Resolution](#setting-screen-resolution) + [Grid Url and Session Timeout](#grid-url-and-session-timeout) + [Session request timeout](#session-request-timeout) @@ -144,7 +145,7 @@ Talk to us at https://www.selenium.dev/support/ 1. Start a Docker container with Firefox ```bash -docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.9.0-20230421 +docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.10.0-20230607 ``` 2. Point your WebDriver tests to http://localhost:4444 @@ -331,17 +332,17 @@ For more information on the Dev and Beta channel container images, see the blog ![Firefox](https://raw.githubusercontent.com/alrra/browser-logos/main/src/firefox/firefox_24x24.png) Firefox ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.9.0-20230421 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.10.0-20230607 ``` ![Chrome](https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome_24x24.png) Chrome ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.9.0-20230421 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.10.0-20230607 ``` ![Edge](https://raw.githubusercontent.com/alrra/browser-logos/main/src/edge/edge_24x24.png) Edge ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.9.0-20230421 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.10.0-20230607 ``` _Note: Only one Standalone container can run on port_ `4444` _at the same time._ @@ -360,44 +361,44 @@ A Docker [network](https://docs.docker.com/engine/reference/commandline/network_ ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.9.0-20230421 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.10.0-20230607 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.9.0-20230421 + selenium/node-chrome:4.10.0-20230607 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.9.0-20230421 + selenium/node-edge:4.10.0-20230607 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.9.0-20230421 + selenium/node-firefox:4.10.0-20230607 ``` ##### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.9.0-20230421 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.10.0-20230607 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-chrome:4.9.0-20230421 + selenium/node-chrome:4.10.0-20230607 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-edge:4.9.0-20230421 + selenium/node-edge:4.10.0-20230607 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-firefox:4.9.0-20230421 + selenium/node-firefox:4.10.0-20230607 ``` When you are done using the Grid, and the containers have exited, the network can be removed with the following command: @@ -414,7 +415,7 @@ configured to expose different ports. ##### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.9.0-20230421 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.10.0-20230607 ``` ##### Node Chrome - Machine/VM 2 @@ -428,7 +429,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-chrome:4.9.0-20230421 + selenium/node-chrome:4.10.0-20230607 ``` ###### Windows PowerShell @@ -440,7 +441,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-chrome:4.9.0-20230421 + selenium/node-chrome:4.10.0-20230607 ``` @@ -455,7 +456,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-edge:4.9.0-20230421 + selenium/node-edge:4.10.0-20230607 ``` ###### Windows PowerShell @@ -467,7 +468,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-edge:4.9.0-20230421 + selenium/node-edge:4.10.0-20230607 ``` ##### Node Firefox - Machine/VM 4 @@ -481,7 +482,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-firefox:4.9.0-20230421 + selenium/node-firefox:4.10.0-20230607 ``` ###### Windows PowerShell @@ -493,7 +494,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-firefox:4.9.0-20230421 + selenium/node-firefox:4.10.0-20230607 ``` ##### Node Chrome - Machine/VM 4 @@ -508,7 +509,7 @@ $ docker run -d -p 5556:5556 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ -e SE_NODE_PORT=5556 \ - selenium/node-chrome:4.9.0-20230421 + selenium/node-chrome:4.10.0-20230607 ``` ###### Windows PowerShell @@ -521,7 +522,7 @@ $ docker run -d -p 5556:5556 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` -e SE_NODE_PORT=5556 ` - selenium/node-chrome:4.9.0-20230421 + selenium/node-chrome:4.10.0-20230607 ``` #### Docker Compose @@ -553,7 +554,7 @@ ___ ## Video recording -Tests execution can be recorded by using the `selenium/video:ffmpeg-4.3.1-20230421` +Tests execution can be recorded by using the `selenium/video:ffmpeg-4.3.1-20230607` Docker image. One container is needed per each container where a browser is running. This means if you are running 5 Nodes/Standalone containers, you will need 5 video containers, the mapping is 1-1. @@ -579,8 +580,8 @@ This example shows how to start the containers manually: ``` bash $ docker network create grid -$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.9.0-20230421 -$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-4.3.1-20230421 +$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.10.0-20230607 +$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-4.3.1-20230607 # Run your tests $ docker stop video && docker rm video $ docker stop selenium && docker rm selenium @@ -612,9 +613,9 @@ You can save this file locally and name it, for example, `config.toml`. # Configs have a mapping between the Docker image to use and the capabilities that need to be matched to # start a container with the given image. configs = [ - "selenium/standalone-firefox:4.9.0-20230421", '{"browserName": "firefox"}', - "selenium/standalone-chrome:4.9.0-20230421", '{"browserName": "chrome"}', - "selenium/standalone-edge:4.9.0-20230421", '{"browserName": "MicrosoftEdge"}' + "selenium/standalone-firefox:4.10.0-20230607", '{"browserName": "firefox"}', + "selenium/standalone-chrome:4.10.0-20230607", '{"browserName": "chrome"}', + "selenium/standalone-edge:4.10.0-20230607", '{"browserName": "MicrosoftEdge"}' ] # URL for connecting to the docker daemon @@ -627,7 +628,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-4.3.1-20230421" +video-image = "selenium/video:ffmpeg-4.3.1-20230607" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -646,28 +647,28 @@ virtual machines. ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.9.0-20230421 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.10.0-20230607 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.9.0-20230421 + selenium/node-docker:4.10.0-20230607 ``` #### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.9.0-20230421 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.10.0-20230607 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.9.0-20230421 + selenium/node-docker:4.10.0-20230607 ``` To have the assets saved on your host, please mount your host path to `/opt/selenium/assets`. @@ -688,7 +689,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.9.0-20230421 + selenium/standalone-docker:4.10.0-20230607 ``` #### Windows PowerShell @@ -698,7 +699,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.9.0-20230421 + selenium/standalone-docker:4.10.0-20230607 ``` ### Using Dynamic Grid in different machines/VMs @@ -706,7 +707,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` #### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.9.0-20230421 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.10.0-20230607 ``` #### Node Chrome - Machine/VM 2 @@ -721,7 +722,7 @@ $ docker run -d -p 5555:5555 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.9.0-20230421 + selenium/node-docker:4.10.0-20230607 ``` #### Windows PowerShell @@ -734,7 +735,7 @@ $ docker run -d -p 5555:5555 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.9.0-20230421 + selenium/node-docker:4.10.0-20230607 ``` Complete the `[server]` section in the `config.toml` file. @@ -743,9 +744,9 @@ Complete the `[server]` section in the `config.toml` file. # Configs have a mapping between the Docker image to use and the capabilities that need to be matched to # start a container with the given image. configs = [ - "selenium/standalone-firefox:4.9.0-20230421", "{\"browserName\": \"firefox\"}", - "selenium/standalone-chrome:4.9.0-20230421", "{\"browserName\": \"chrome\"}", - "selenium/standalone-edge:4.9.0-20230421", "{\"browserName\": \"MicrosoftEdge\"}" + "selenium/standalone-firefox:4.10.0-20230607", "{\"browserName\": \"firefox\"}", + "selenium/standalone-chrome:4.10.0-20230607", "{\"browserName\": \"chrome\"}", + "selenium/standalone-edge:4.10.0-20230607", "{\"browserName\": \"MicrosoftEdge\"}" ] # URL for connecting to the docker daemon @@ -758,7 +759,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-4.3.1-20230421" +video-image = "selenium/video:ffmpeg-4.3.1-20230607" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -792,7 +793,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.9.0-20230421 + selenium/standalone-docker:4.10.0-20230607 ``` #### Windows PowerShell @@ -803,7 +804,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.9.0-20230421 + selenium/standalone-docker:4.10.0-20230607 ``` @@ -841,7 +842,7 @@ ___ You can pass `SE_OPTS` variable with additional commandline parameters for starting a hub or a node. ``` bash -$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.9.0-20230421 +$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.10.0-20230607 ``` ### SE_JAVA_OPTS Java Environment Options @@ -849,7 +850,7 @@ $ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub s You can pass `SE_JAVA_OPTS` environment variable to java process. ``` bash -$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.9.0-20230421 +$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.10.0-20230607 ``` ### Node configuration options @@ -871,7 +872,16 @@ $ docker run -d \ -e SE_EVENT_BUS_HOST= \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e SE_NODE_STEREOTYPE="{\"browserName\":\"${SE_NODE_BROWSER_NAME}\",\"browserVersion\":\"${SE_NODE_BROWSER_VERSION}\",\"platformName\": \"Linux\"}" \ - --shm-size="2g" selenium/node-chrome:4.9.0-20230421 + --shm-size="2g" selenium/node-chrome:4.10.0-20230607 +``` + +### Setting Sub Path + +By default, Selenium is reachable at `http://127.0.0.1:4444/`. Selenium can be configured to use a custom sub path by specifying the `SE_SUB_PATH` +environmental variable. In the example below Selenium is reachable at `http://127.0.0.1:4444/selenium-grid/` + +```bash +$ docker run -d -p 4444:4444 -e SE_SUB_PATH=/selenium-grid/ --name selenium-hub selenium/hub:4.9.0-20230421 ``` ### Setting Screen Resolution @@ -881,7 +891,7 @@ These settings can be adjusted by specifying `SE_SCREEN_WIDTH`, `SE_SCREEN_HEIGH environmental variables when starting the container. ``` bash -docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.9.0-20230421 +docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.10.0-20230607 ``` ### Grid Url and Session Timeout @@ -931,7 +941,7 @@ To avoid starting the server you can set the `START_XVFB` environment variable t ``` bash $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ - -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.9.0-20230421 + -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.10.0-20230607 ``` For more information, see this GitHub [issue](https://github.com/SeleniumHQ/docker-selenium/issues/567). @@ -944,7 +954,7 @@ pod and then scale a new one after N sessions. Set the environment variable `SE_ a value higher than zero to enable this behaviour. ``` bash -$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.9.0-20230421 +$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.10.0-20230607 ``` With the previous command, the Standalone container will shutdown after 5 sessions have been executed. @@ -1036,22 +1046,22 @@ $ docker network create grid $ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub \ --health-cmd='/opt/bin/check-grid.sh --host 0.0.0.0 --port 4444' \ --health-interval=15s --health-timeout=30s --health-retries=5 \ - selenium/hub:4.9.0-20230421 + selenium/hub:4.10.0-20230607 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.9.0-20230421 + selenium/node-chrome:4.10.0-20230607 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.9.0-20230421 + selenium/node-edge:4.10.0-20230607 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.9.0-20230421 + selenium/node-firefox:4.10.0-20230607 ``` **Note:** The `\` line delimiter won't work on Windows based terminals, try either `^` or a backtick. @@ -1105,9 +1115,9 @@ ___ ## Install certificates for Chromium based browsers -If you need to install custom certificates, CA, intermediate CA, client certificates (for exmample enterprise internal CA) +If you need to install custom certificates, CA, intermediate CA, client certificates (for example enterprise internal CA) you can use the different utils come from libnss3-tools. -Chromium based browser uses nssdb as certificate store +Chromium based browser uses nssdb as certificate store. Create new nssdb: ```bash certutil -d sql:$HOME/.pki/nssdb -N @@ -1145,7 +1155,54 @@ RUN mkdir -p -m755 /home/seluser/.pki/nssdb \ #create nssdb folder && pk12util -d sql:/home/seluser/.pki/nssdb -i client_cert.p12 -W password_of_clent_cert # client certificate install ``` This way the certificates will be installed and the node will start automatically as before. +___ + +## Alternative method: Add certificates to existing Selenium based images for browsers + +As an alternative, you can add your certificate files to existing Selenium images. This practical example +assumes you have a known image to use as a build image and have a way to publish new images to your local +docker registry. + +This example uses a RedHat based distro as build image (Rocky Linux) but it can be *any* linux image of your choice. +Please note that build instrutions will vary between distributions. You can check instructions for Ubuntu +in previous example. + +The example also assumes your internal CA is already in */etc/pki/ca-trust/source/anchors/YOUR_CA.pem*, +the default location for Rocky Linux. Alternatively, you can also provide these files from your host and +copy them into build image. +For Chrome and Edge browsers, the recipe is the same, just adapt image name (node-chrome or node-edge): +``` +# Get a standard image for creating nssdb file +FROM rockylinux:8.6 as build +RUN yum install -y nss-tools +RUN mkdir -p -m755 /seluser/.pki/nssdb \ + && certutil -d sql:/seluser/.pki/nssdb -N --empty-password \ + && certutil -d sql:/seluser/.pki/nssdb -A -t "C,," -n YOUR_CA -i /etc/pki/ca-trust/source/anchors/YOUR_CA.pem \ + && chown -R 1200:1201 /seluser + +# Start from Selenium image and add relevant files from build image +FROM selenium/node-chrome:4.10.0-20230607 +USER root +COPY --from=build /seluser/ /home/seluser/ +USER seluser +``` + +Example for Firefox: +``` +# Get a standard image for working on +FROM rockylinux:8.6 as build +RUN mkdir -p "/distribution" "/certs" && \ + cp /etc/pki/ca-trust/source/anchors/YOUR_CA*.pem /certs/ && \ + echo '{ "policies": { "Certificates": { "Install": ["/opt/firefox-latest/YOUR_CA.pem"] }} }' >"/distribution/policies.json" + +# Start from Selenium image and add relevant files from build image +FROM selenium/node-firefox:4.10.0-20230607 +USER root +COPY --from=build /certs /opt/firefox-latest +COPY --from=build /distribution /opt/firefox-latest/distribution +USER seluser +``` ___ ## Debugging @@ -1163,9 +1220,9 @@ You can override it with the `SE_VNC_PORT` environment variable in case you want Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.9.0-20230421 -$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.9.0-20230421 -$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.9.0-20230421 +$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.10.0-20230607 +$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.10.0-20230607 +$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.10.0-20230607 ``` Then, you would use in your VNC client: @@ -1191,9 +1248,9 @@ You can also override it with the `SE_NO_VNC_PORT` environment variable in case Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.9.0-20230421 -$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.9.0-20230421 -$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.9.0-20230421 +$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.10.0-20230607 +$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.10.0-20230607 +$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.10.0-20230607 ``` Then, you would use in your browser: @@ -1212,28 +1269,28 @@ In order to enable tracing in Selenium Grid container, the following commands ca ```bash docker network create grid docker run -d -p 16686:16686 -p 14250:14250 --net grid --name jaeger jaegertracing/all-in-one:1.17 -docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.9.0-20230421 +docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.10.0-20230607 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-hub" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.9.0-20230421 + selenium/node-chrome:4.10.0-20230607 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.9.0-20230421 + selenium/node-edge:4.10.0-20230607 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.9.0-20230421 + selenium/node-firefox:4.10.0-20230607 ``` You can also refer to the below docker-compose yaml files to be able to start a simple grid (or) a dynamic grid. @@ -1293,7 +1350,7 @@ container in the following way: ```bash docker run -d -p 4444:4444 --shm-size="2g" \ -v /home/ubuntu/files:/home/seluser/files \ - selenium/standalone-chrome:4.9.0-20230421 + selenium/standalone-chrome:4.10.0-20230607 ``` That will mount the host `/home/ubuntu/files` directory diff --git a/Router/start-selenium-grid-router.sh b/Router/start-selenium-grid-router.sh index 07c5f57ca..b99f675e5 100755 --- a/Router/start-selenium-grid-router.sh +++ b/Router/start-selenium-grid-router.sh @@ -35,6 +35,11 @@ if [[ -z "${SE_SESSION_QUEUE_PORT}" ]]; then exit 1 fi +if [ ! -z "$SE_SUB_PATH" ]; then + echo "Using SE_SUB_PATH: ${SE_SUB_PATH}" + SUB_PATH_CONFIG="--sub-path ${SE_SUB_PATH}" +fi + if [ ! -z "$SE_OPTS" ]; then echo "Appending Selenium options: ${SE_OPTS}" fi @@ -72,4 +77,5 @@ java ${JAVA_OPTS:-$SE_JAVA_OPTS} -Dwebdriver.http.factory=jdk-http-client \ --bind-host ${SE_BIND_HOST} \ ${HOST_CONFIG} \ ${PORT_CONFIG} \ + ${SUB_PATH_CONFIG} \ ${SE_OPTS} diff --git a/Standalone/start-selenium-standalone.sh b/Standalone/start-selenium-standalone.sh index 2cf5a6978..7af58b6e8 100755 --- a/Standalone/start-selenium-standalone.sh +++ b/Standalone/start-selenium-standalone.sh @@ -2,6 +2,11 @@ # # IMPORTANT: Change this file only in directory Standalone! +if [ ! -z "$SE_SUB_PATH" ]; then + echo "Using SE_SUB_PATH: ${SE_SUB_PATH}" + SUB_PATH_CONFIG="--sub-path ${SE_SUB_PATH}" +fi + if [ ! -z "$SE_OPTS" ]; then echo "Appending Selenium options: ${SE_OPTS}" fi @@ -28,4 +33,5 @@ java ${JAVA_OPTS:-$SE_JAVA_OPTS} -Dwebdriver.http.factory=jdk-http-client \ --ext ${EXTRA_LIBS} standalone \ --bind-host ${SE_BIND_HOST} \ --config /opt/selenium/config.toml \ + ${SUB_PATH_CONFIG} \ ${SE_OPTS} \ No newline at end of file diff --git a/Video/Dockerfile b/Video/Dockerfile index e69bddcd0..0988a1544 100644 --- a/Video/Dockerfile +++ b/Video/Dockerfile @@ -40,5 +40,6 @@ ENV SE_FRAME_RATE 15 ENV SE_CODEC libx264 ENV SE_PRESET "-preset ultrafast" ENV FILE_NAME video.mp4 +ENV SE_VIDEO_FOLDER /videos -EXPOSE 9000 \ No newline at end of file +EXPOSE 9000 diff --git a/Video/video.sh b/Video/video.sh index d764b726c..7bf59a015 100755 --- a/Video/video.sh +++ b/Video/video.sh @@ -7,6 +7,7 @@ FILE_NAME=${FILE_NAME} FRAME_RATE=${FRAME_RATE:-$SE_FRAME_RATE} CODEC=${CODEC:-$SE_CODEC} PRESET=${PRESET:-$SE_PRESET} +VIDEO_FOLDER=${SE_VIDEO_FOLDER} return_code=1 max_attempts=50 @@ -23,5 +24,5 @@ until [ $return_code -eq 0 -o $attempts -eq $max_attempts ]; do done # exec replaces the video.sh process with ffmpeg, this makes easier to pass the process termination signal -exec ffmpeg -y -f x11grab -video_size ${VIDEO_SIZE} -r ${FRAME_RATE} -i ${DISPLAY_CONTAINER_NAME}:${DISPLAY_NUM}.0 -codec:v ${CODEC} ${PRESET} -pix_fmt yuv420p "/videos/$FILE_NAME" +exec ffmpeg -y -f x11grab -video_size ${VIDEO_SIZE} -r ${FRAME_RATE} -i ${DISPLAY_CONTAINER_NAME}:${DISPLAY_NUM}.0 -codec:v ${CODEC} ${PRESET} -pix_fmt yuv420p "$VIDEO_FOLDER/$FILE_NAME" diff --git a/charts/selenium-grid/CHANGELOG.md b/charts/selenium-grid/CHANGELOG.md index 3666415d8..31325e789 100644 --- a/charts/selenium-grid/CHANGELOG.md +++ b/charts/selenium-grid/CHANGELOG.md @@ -2,6 +2,31 @@ All notable changes to this helm chart will be documented in this file. +## :heavy_check_mark: 0.18.1 + +### Changed +- Update image tag to 4.10.0-20230607 + +## :heavy_check_mark: 0.18.0 + +### Added +- Add affinity to helm charts (#1851) + +## :heavy_check_mark: 0.17.0 + +### Added +- Make deployment securityContext configurable via values.yaml (#1845) + +## :heavy_check_mark: 0.16.1 + +### Changed +- Update image tag to 4.9.1-20230508 + +## :heavy_check_mark: 0.16.0 + +### Added +- Custom Ingress Path for Helm Chart (#1834) + ## :heavy_check_mark: 0.15.8 ### Changed diff --git a/charts/selenium-grid/Chart.yaml b/charts/selenium-grid/Chart.yaml index 7c657fdea..c7e446434 100644 --- a/charts/selenium-grid/Chart.yaml +++ b/charts/selenium-grid/Chart.yaml @@ -2,6 +2,6 @@ apiVersion: v2 name: selenium-grid description: A Helm chart for creating a Selenium Grid Server in Kubernetes type: application -version: 0.15.8 -appVersion: 4.9.0-20230421 +version: 0.18.1 +appVersion: 4.10.0-20230607 icon: https://github.com/SeleniumHQ/docker-selenium/raw/trunk/logo.png diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index 4f401587c..7c84e4067 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -51,208 +51,246 @@ For now, global configuration supported is: | Parameter | Default | Description | | ----------------------------------- | ---------------------------------- | ------------------------------------- | -| `global.seleniumGrid.imageTag` | `4.9.0-20230421` | Image tag for all selenium components | -| `global.seleniumGrid.nodesImageTag` | `4.9.0-20230421` | Image tag for browser's nodes | +| `global.seleniumGrid.imageTag` | `4.10.0-20230607` | Image tag for all selenium components | +| `global.seleniumGrid.nodesImageTag` | `4.10.0-20230607` | Image tag for browser's nodes | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | +| `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | +| `global.seleniumGrid.affinity` | `{}` | Affinity assigned globally | This table contains the configuration parameters of the chart and their default values: -| Parameter | Default | Description | -| --------------------------------------- | ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -| `isolateComponents` | `false` | Deploy Router, Distributor, EventBus, SessionMap and Nodes separately | -| `busConfigMap.name` | `selenium-event-bus-config` | Name of the configmap that contains SE_EVENT_BUS_HOST, SE_EVENT_BUS_PUBLISH_PORT and SE_EVENT_BUS_SUBSCRIBE_PORT variables | -| `ingress.enabled` | `true` | Enable or disable ingress resource | -| `ingress.className` | `""` | Name of ingress class to select which controller will implement ingress resource | -| `ingress.annotations` | `{}` | Custom annotations for ingress resource | -| `ingress.hostname` | `selenium-grid.local` | Default host for the ingress resource | -| `ingress.tls` | `[]` | TLS backend configuration for ingress resource | -| `busConfigMap.annotations` | `{}` | Custom annotations for configmap | -| `chromeNode.enabled` | `true` | Enable chrome nodes | -| `chromeNode.deploymentEnabled` | `true` | Enable creation of Deployment for chrome nodes | -| `chromeNode.replicas` | `1` | Number of chrome nodes | -| `chromeNode.imageName` | `selenium/node-chrome` | Image of chrome nodes | -| `chromeNode.imageTag` | `4.9.0-20230421` | Image of chrome nodes | -| `chromeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | -| `chromeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | -| `chromeNode.ports` | `[5555]` | Port list to enable on container | -| `chromeNode.seleniumPort` | `5900` | Selenium port (spec.ports[0].targetPort in kubernetes service) | -| `chromeNode.seleniumServicePort` | `6900` | Selenium port exposed in service (spec.ports[0].port in kubernetes service) | -| `chromeNode.annotations` | `{}` | Annotations for chrome-node pods | -| `chromeNode.labels` | `{}` | Labels for chrome-node pods | -| `chromeNode.resources` | `See values.yaml` | Resources for chrome-node pods | -| `chromeNode.tolerations` | `[]` | Tolerations for chrome-node pods | -| `chromeNode.nodeSelector` | `{}` | Node Selector for chrome-node pods | -| `chromeNode.hostAliases` | `nil` | Custom host aliases for chrome nodes | -| `chromeNode.priorityClassName` | `""` | Priority class name for chrome-node pods | -| `chromeNode.extraEnvironmentVariables` | `nil` | Custom environment variables for chrome nodes | -| `chromeNode.extraEnvFrom` | `nil` | Custom environment taken from `configMap` or `secret` variables for chrome nodes | -| `chromeNode.service.enabled` | `true` | Create a service for node | -| `chromeNode.service.type` | `ClusterIP` | Service type | -| `chromeNode.service.annotations` | `{}` | Custom annotations for service | -| `chromeNode.dshmVolumeSizeLimit` | `1Gi` | Size limit for DSH volume mounted in container (if not set, default is "1Gi") | -| `chromeNode.startupProbe` | `{}` | Probe to check pod is started successfully | -| `chromeNode.terminationGracePeriodSeconds` | `30` | Time to graceful terminate container (default: 30s) | -| `chromeNode.lifecycle` | `{}` | hooks to make pod correctly shutdown or started | -| `chromeNode.extraVolumeMounts` | `[]` | Extra mounts of declared ExtraVolumes into pod | -| `chromeNode.extraVolumes` | `[]` | Extra Volumes declarations to be used in the pod (can be any supported volume type: ConfigMap, Secret, PVC, NFS, etc.) | -| `firefoxNode.enabled` | `true` | Enable firefox nodes | -| `firefoxNode.deploymentEnabled` | `true` | Enable creation of Deployment for firefox nodes | -| `firefoxNode.replicas` | `1` | Number of firefox nodes | -| `firefoxNode.imageName` | `selenium/node-firefox` | Image of firefox nodes | -| `firefoxNode.imageTag` | `4.9.0-20230421` | Image of firefox nodes | -| `firefoxNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | -| `firefoxNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | -| `firefoxNode.ports` | `[5555]` | Port list to enable on container | -| `firefoxNode.seleniumPort` | `5900` | Selenium port (spec.ports[0].targetPort in kubernetes service) | -| `firefoxNode.seleniumServicePort` | `6900` | Selenium port exposed in service (spec.ports[0].port in kubernetes service) | -| `firefoxNode.annotations` | `{}` | Annotations for firefox-node pods | -| `firefoxNode.labels` | `{}` | Labels for firefox-node pods | -| `firefoxNode.resources` | `See values.yaml` | Resources for firefox-node pods | -| `firefoxNode.tolerations` | `[]` | Tolerations for firefox-node pods | -| `firefoxNode.nodeSelector` | `{}` | Node Selector for firefox-node pods | -| `firefoxNode.hostAliases` | `nil` | Custom host aliases for firefox nodes | -| `firefoxNode.priorityClassName` | `""` | Priority class name for firefox-node pods | -| `firefoxNode.extraEnvironmentVariables` | `nil` | Custom environment variables for firefox nodes | -| `firefoxNode.extraEnvFrom` | `nil` | Custom environment variables taken from `configMap` or `secret` for firefox nodes | -| `firefoxNode.service.enabled` | `true` | Create a service for node | -| `firefoxNode.service.type` | `ClusterIP` | Service type | -| `firefoxNode.service.annotations` | `{}` | Custom annotations for service | -| `firefoxNode.dshmVolumeSizeLimit` | `1Gi` | Size limit for DSH volume mounted in container (if not set, default is "1Gi") | -| `firefoxNode.startupProbe` | `{}` | Probe to check pod is started successfully | -| `firefoxNode.terminationGracePeriodSeconds` | `30` | Time to graceful terminate container (default: 30s) | -| `firefoxNode.lifecycle` | `{}` | hooks to make pod correctly shutdown or started | -| `firefoxNode.extraVolumeMounts` | `[]` | Extra mounts of declared ExtraVolumes into pod | -| `firefoxNode.extraVolumes` | `[]` | Extra Volumes declarations to be used in the pod (can be any supported volume type: ConfigMap, Secret, PVC, NFS, etc.) | -| `edgeNode.enabled` | `true` | Enable edge nodes | -| `edgeNode.deploymentEnabled` | `true` | Enable creation of Deployment for edge nodes | -| `edgeNode.replicas` | `1` | Number of edge nodes | -| `edgeNode.imageName` | `selenium/node-edge` | Image of edge nodes | -| `edgeNode.imageTag` | `4.9.0-20230421` | Image of edge nodes | -| `edgeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | -| `edgeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | -| `edgeNode.ports` | `[5555]` | Port list to enable on container | -| `edgeNode.seleniumPort` | `5900` | Selenium port (spec.ports[0].targetPort in kubernetes service) | -| `edgeNode.seleniumServicePort` | `6900` | Selenium port exposed in service (spec.ports[0].port in kubernetes service) | -| `edgeNode.annotations` | `{}` | Annotations for edge-node pods | -| `edgeNode.labels` | `{}` | Labels for edge-node pods | -| `edgeNode.resources` | `See values.yaml` | Resources for edge-node pods | -| `edgeNode.tolerations` | `[]` | Tolerations for edge-node pods | -| `edgeNode.nodeSelector` | `{}` | Node Selector for edge-node pods | -| `edgeNode.hostAliases` | `nil` | Custom host aliases for edge nodes | -| `edgeNode.priorityClassName` | `""` | Priority class name for edge-node pods | -| `edgeNode.extraEnvironmentVariables` | `nil` | Custom environment variables for firefox nodes | -| `edgeNode.extraEnvFrom` | `nil` | Custom environment taken from `configMap` or `secret` variables for firefox nodes | -| `edgeNode.service.enabled` | `true` | Create a service for node | -| `edgeNode.service.type` | `ClusterIP` | Service type | -| `edgeNode.service.annotations` | `{}` | Custom annotations for service | -| `edgeNode.dshmVolumeSizeLimit` | `1Gi` | Size limit for DSH volume mounted in container (if not set, default is "1Gi") | -| `edgeNode.startupProbe` | `{}` | Probe to check pod is started successfully | -| `edgeNode.terminationGracePeriodSeconds` | `30` | Time to graceful terminate container (default: 30s) | -| `edgeNode.lifecycle` | `{}` | hooks to make pod correctly shutdown or started | -| `edgeNode.extraVolumeMounts` | `[]` | Extra mounts of declared ExtraVolumes into pod | -| `edgeNode.extraVolumes` | `[]` | Extra Volumes declarations to be used in the pod (can be any supported volume type: ConfigMap, Secret, PVC, NFS, etc.) | -| `customLabels` | `{}` | Custom labels for k8s resources | +| Parameter | Default | Description | +|---------------------------------------------|-----------------------------|----------------------------------------------------------------------------------------------------------------------------| +| `isolateComponents` | `false` | Deploy Router, Distributor, EventBus, SessionMap and Nodes separately | +| `busConfigMap.name` | `selenium-event-bus-config` | Name of the configmap that contains SE_EVENT_BUS_HOST, SE_EVENT_BUS_PUBLISH_PORT and SE_EVENT_BUS_SUBSCRIBE_PORT variables | +| `ingress.enabled` | `true` | Enable or disable ingress resource | +| `ingress.className` | `""` | Name of ingress class to select which controller will implement ingress resource | +| `ingress.annotations` | `{}` | Custom annotations for ingress resource | +| `ingress.hostname` | `selenium-grid.local` | Default host for the ingress resource | +| `ingress.path` | `/` | Default host path for the ingress resource | +| `ingress.tls` | `[]` | TLS backend configuration for ingress resource | +| `busConfigMap.annotations` | `{}` | Custom annotations for configmap | +| `chromeNode.enabled` | `true` | Enable chrome nodes | +| `chromeNode.deploymentEnabled` | `true` | Enable creation of Deployment for chrome nodes | +| `chromeNode.replicas` | `1` | Number of chrome nodes | +| `chromeNode.imageName` | `selenium/node-chrome` | Image of chrome nodes | +| `chromeNode.imageTag` | `4.10.0-20230607` | Image of chrome nodes | +| `chromeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | +| `chromeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | +| `chromeNode.ports` | `[5555]` | Port list to enable on container | +| `chromeNode.seleniumPort` | `5900` | Selenium port (spec.ports[0].targetPort in kubernetes service) | +| `chromeNode.seleniumServicePort` | `6900` | Selenium port exposed in service (spec.ports[0].port in kubernetes service) | +| `chromeNode.annotations` | `{}` | Annotations for chrome-node pods | +| `chromeNode.labels` | `{}` | Labels for chrome-node pods | +| `chromeNode.resources` | `See values.yaml` | Resources for chrome-node pods | +| `chromeNode.securityContext` | `See values.yaml` | Security context for chrome-node pods | +| `chromeNode.tolerations` | `[]` | Tolerations for chrome-node pods | +| `chromeNode.nodeSelector` | `{}` | Node Selector for chrome-node pods | +| `chromeNode.affinity` | `{}` | Affinity for chrome-node pods | +| `chromeNode.hostAliases` | `nil` | Custom host aliases for chrome nodes | +| `chromeNode.priorityClassName` | `""` | Priority class name for chrome-node pods | +| `chromeNode.extraEnvironmentVariables` | `nil` | Custom environment variables for chrome nodes | +| `chromeNode.extraEnvFrom` | `nil` | Custom environment taken from `configMap` or `secret` variables for chrome nodes | +| `chromeNode.service.enabled` | `true` | Create a service for node | +| `chromeNode.service.type` | `ClusterIP` | Service type | +| `chromeNode.service.annotations` | `{}` | Custom annotations for service | +| `chromeNode.dshmVolumeSizeLimit` | `1Gi` | Size limit for DSH volume mounted in container (if not set, default is "1Gi") | +| `chromeNode.startupProbe` | `{}` | Probe to check pod is started successfully | +| `chromeNode.terminationGracePeriodSeconds` | `30` | Time to graceful terminate container (default: 30s) | +| `chromeNode.lifecycle` | `{}` | hooks to make pod correctly shutdown or started | +| `chromeNode.extraVolumeMounts` | `[]` | Extra mounts of declared ExtraVolumes into pod | +| `chromeNode.extraVolumes` | `[]` | Extra Volumes declarations to be used in the pod (can be any supported volume type: ConfigMap, Secret, PVC, NFS, etc.) | +| `firefoxNode.enabled` | `true` | Enable firefox nodes | +| `firefoxNode.deploymentEnabled` | `true` | Enable creation of Deployment for firefox nodes | +| `firefoxNode.replicas` | `1` | Number of firefox nodes | +| `firefoxNode.imageName` | `selenium/node-firefox` | Image of firefox nodes | +| `firefoxNode.imageTag` | `4.10.0-20230607` | Image of firefox nodes | +| `firefoxNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | +| `firefoxNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | +| `firefoxNode.ports` | `[5555]` | Port list to enable on container | +| `firefoxNode.seleniumPort` | `5900` | Selenium port (spec.ports[0].targetPort in kubernetes service) | +| `firefoxNode.seleniumServicePort` | `6900` | Selenium port exposed in service (spec.ports[0].port in kubernetes service) | +| `firefoxNode.annotations` | `{}` | Annotations for firefox-node pods | +| `firefoxNode.labels` | `{}` | Labels for firefox-node pods | +| `firefoxNode.resources` | `See values.yaml` | Resources for firefox-node pods | +| `firefoxNode.securityContext` | `See values.yaml` | Security context for firefox-node pods | +| `firefoxNode.tolerations` | `[]` | Tolerations for firefox-node pods | +| `firefoxNode.nodeSelector` | `{}` | Node Selector for firefox-node pods | +| `firefoxNode.affinity` | `{}` | Affinity for +firefox-node pods | +| `firefoxNode.hostAliases` | `nil` | Custom host aliases for firefox nodes | +| `firefoxNode.priorityClassName` | `""` | Priority class name for firefox-node pods | +| `firefoxNode.extraEnvironmentVariables` | `nil` | Custom environment variables for firefox nodes | +| `firefoxNode.extraEnvFrom` | `nil` | Custom environment variables taken from `configMap` or `secret` for firefox nodes | +| `firefoxNode.service.enabled` | `true` | Create a service for node | +| `firefoxNode.service.type` | `ClusterIP` | Service type | +| `firefoxNode.service.annotations` | `{}` | Custom annotations for service | +| `firefoxNode.dshmVolumeSizeLimit` | `1Gi` | Size limit for DSH volume mounted in container (if not set, default is "1Gi") | +| `firefoxNode.startupProbe` | `{}` | Probe to check pod is started successfully | +| `firefoxNode.terminationGracePeriodSeconds` | `30` | Time to graceful terminate container (default: 30s) | +| `firefoxNode.lifecycle` | `{}` | hooks to make pod correctly shutdown or started | +| `firefoxNode.extraVolumeMounts` | `[]` | Extra mounts of declared ExtraVolumes into pod | +| `firefoxNode.extraVolumes` | `[]` | Extra Volumes declarations to be used in the pod (can be any supported volume type: ConfigMap, Secret, PVC, NFS, etc.) | +| `edgeNode.enabled` | `true` | Enable edge nodes | +| `edgeNode.deploymentEnabled` | `true` | Enable creation of Deployment for edge nodes | +| `edgeNode.replicas` | `1` | Number of edge nodes | +| `edgeNode.imageName` | `selenium/node-edge` | Image of edge nodes | +| `edgeNode.imageTag` | `4.10.0-20230607` | Image of edge nodes | +| `edgeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | +| `edgeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | +| `edgeNode.ports` | `[5555]` | Port list to enable on container | +| `edgeNode.seleniumPort` | `5900` | Selenium port (spec.ports[0].targetPort in kubernetes service) | +| `edgeNode.seleniumServicePort` | `6900` | Selenium port exposed in service (spec.ports[0].port in kubernetes service) | +| `edgeNode.annotations` | `{}` | Annotations for edge-node pods | +| `edgeNode.labels` | `{}` | Labels for edge-node pods | +| `edgeNode.resources` | `See values.yaml` | Resources for edge-node pods | +| `edgeNode.securityContext` | `See values.yaml` | Security context for edge-node pods | +| `edgeNode.tolerations` | `[]` | Tolerations for edge-node pods | +| `edgeNode.nodeSelector` | `{}` | Node Selector for edge-node pods | +| `edgeNode.affinity` | `{}` | Affinity for +edge-node +pods | +| `edgeNode.hostAliases` | `nil` | Custom host aliases for edge nodes | +| `edgeNode.priorityClassName` | `""` | Priority class name for edge-node pods | +| `edgeNode.extraEnvironmentVariables` | `nil` | Custom environment variables for firefox nodes | +| `edgeNode.extraEnvFrom` | `nil` | Custom environment taken from `configMap` or `secret` variables for firefox nodes | +| `edgeNode.service.enabled` | `true` | Create a service for node | +| `edgeNode.service.type` | `ClusterIP` | Service type | +| `edgeNode.service.annotations` | `{}` | Custom annotations for service | +| `edgeNode.dshmVolumeSizeLimit` | `1Gi` | Size limit for DSH volume mounted in container (if not set, default is "1Gi") | +| `edgeNode.startupProbe` | `{}` | Probe to check pod is started successfully | +| `edgeNode.terminationGracePeriodSeconds` | `30` | Time to graceful terminate container (default: 30s) | +| `edgeNode.lifecycle` | `{}` | hooks to make pod correctly shutdown or started | +| `edgeNode.extraVolumeMounts` | `[]` | Extra mounts of declared ExtraVolumes into pod | +| `edgeNode.extraVolumes` | `[]` | Extra Volumes declarations to be used in the pod (can be any supported volume type: ConfigMap, Secret, PVC, NFS, etc.) | +| `customLabels` | `{}` | Custom labels for k8s resources | ### Configuration for Selenium-Hub You can configure the Selenium Hub with this values: -| Parameter | Default | Description | -| ------------------------------- | ----------------- | -------------------------------------------------------------------------------------------------------------------------------- | -| `hub.imageName` | `selenium/hub` | Selenium Hub image name | -| `hub.imageTag` | `nil` | Selenium Hub image tag (this overwrites `.global.seleniumGrid.imageTag` value) | -| `hub.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | -| `hub.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | -| `hub.annotations` | `{}` | Custom annotations for Selenium Hub pod | -| `hub.labels` | `{}` | Custom labels for Selenium Hub pod | -| `hub.publishPort` | `4442` | Port where events are published | -| `hub.subscribePort` | `4443` | Port where to subscribe for events | -| `hub.port` | `4444` | Selenium Hub port | -| `hub.livenessProbe` | `See values.yaml` | Liveness probe settings | -| `hub.readinessProbe` | `See values.yaml` | Readiness probe settings | -| `hub.tolerations` | `[]` | Tolerations for selenium-hub pods | -| `hub.nodeSelector` | `{}` | Node Selector for selenium-hub pods | -| `hub.priorityClassName` | `""` | Priority class name for selenium-hub pods | -| `hub.extraEnvironmentVariables` | `nil` | Custom environment variables for selenium-hub | -| `hub.extraEnvFrom` | `nil` | Custom environment variables for selenium taken from `configMap` or `secret`-hub | -| `hub.resources` | `{}` | Resources for selenium-hub container | -| `hub.serviceType` | `ClusterIP` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | -| `hub.loadBalancerIP` | `nil` | Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) | -| `hub.serviceAnnotations` | `{}` | Custom annotations for Selenium Hub service | +| Parameter | Default | Description | +|---------------------------------|--------------------|--------------------------------------------------------------------------------------------------------------------------------------------------| +| `hub.imageName` | `selenium/hub` | Selenium Hub image name | +| `hub.imageTag` | `nil` | Selenium Hub image tag (this overwrites `.global.seleniumGrid.imageTag` value) | +| `hub.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | +| `hub.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | +| `hub.annotations` | `{}` | Custom annotations for Selenium Hub pod | +| `hub.labels` | `{}` | Custom labels for Selenium Hub pod | +| `hub.publishPort` | `4442` | Port where events are published | +| `hub.subscribePort` | `4443` | Port where to subscribe for events | +| `hub.port` | `4444` | Selenium Hub port | +| `hub.livenessProbe` | `See values.yaml` | Liveness probe settings | +| `hub.readinessProbe` | `See values.yaml` | Readiness probe settings | +| `hub.tolerations` | `[]` | Tolerations for selenium-hub pods | +| `hub.nodeSelector` | `{}` | Node Selector for selenium-hub pods | +| `hub.affinity` | `{}` | Affinity for +selenium-hub +pods | +| `hub.priorityClassName` | `""` | Priority class name for selenium-hub pods | +| `hub.subPath` | `/` | Custom sub path for the hub deployment | +| `hub.extraEnvironmentVariables` | `nil` | Custom environment variables for selenium-hub | +| `hub.extraEnvFrom` | `nil` | Custom environment variables for selenium taken from `configMap` or `secret`-hub | +| `hub.resources` | `{}` | Resources for selenium-hub container | +| `hub.securityContext` | `See values.yaml` | Security context for selenium-hub container | +| `hub.serviceType` | `ClusterIP` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | +| `hub.loadBalancerIP` | `nil` | Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) | +| `hub.serviceAnnotations` | `{}` | Custom annotations for Selenium Hub service | ### Configuration for isolated components If you implement selenium-grid with separate components (`isolateComponents: true`), you can configure all components via the following values: -| Parameter | Default | Description | -| --------------------------------------------- | ------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -| `components.router.imageName` | `selenium/router` | Router image name | -| `components.router.imageTag` | `nil` | Router image tag (this overwrites `.global.seleniumGrid.imageTag` value) | -| `components.router.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | -| `components.router.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | -| `components.router.annotations` | `{}` | Custom annotations for router pod | -| `components.router.port` | `4444` | Router port | -| `components.router.livenessProbe` | `See values.yaml` | Liveness probe settings | -| `components.router.readinessProbe` | `See values.yaml` | Readiness probe settings | -| `components.router.resources` | `{}` | Resources for router container | -| `components.router.serviceType` | `ClusterIP` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types)| -| `components.router.loadBalancerIP` | `nil` | Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) | -| `components.router.serviceAnnotations` | `{}` | Custom annotations for router service | -| `components.router.tolerations` | `[]` | Tolerations for router pods | -| `components.router.nodeSelector` | `{}` | Node Selector for router pods | -| `components.router.priorityClassName` | `""` | Priority class name for router pods | -| `components.distributor.imageName` | `selenium/distributor` | Distributor image name | -| `components.distributor.imageTag` | `nil` | Distributor image tag (this overwrites `.global.seleniumGrid.imageTag` value) | -| `components.distributor.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | -| `components.distributor.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | -| `components.distributor.annotations` | `{}` | Custom annotations for Distributor pod | -| `components.distributor.port` | `5553` | Distributor port | -| `components.distributor.resources` | `{}` | Resources for Distributor container | -| `components.distributor.serviceType` | `ClusterIP` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | -| `components.distributor.serviceAnnotations` | `{}` | Custom annotations for Distributor service | -| `components.distributor.tolerations` | `[]` | Tolerations for Distributor pods | -| `components.distributor.nodeSelector` | `{}` | Node Selector for Distributor pods | -| `components.distributor.priorityClassName` | `""` | Priority class name for Distributor pods | -| `components.eventBus.imageName` | `selenium/event-bus` | Event Bus image name | -| `components.eventBus.imageTag` | `nil` | Event Bus image tag (this overwrites `.global.seleniumGrid.imageTag` value) | -| `components.eventBus.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | -| `components.eventBus.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | -| `components.eventBus.annotations` | `{}` | Custom annotations for Event Bus pod | -| `components.eventBus.port` | `5557` | Event Bus port | -| `components.eventBus.publishPort` | `4442` | Port where events are published | -| `components.eventBus.subscribePort` | `4443` | Port where to subscribe for events | -| `components.eventBus.resources` | `{}` | Resources for event-bus container | -| `components.eventBus.serviceType` | `ClusterIP` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | -| `components.eventBus.serviceAnnotations` | `{}` | Custom annotations for Event Bus service | -| `components.eventBus.tolerations` | `[]` | Tolerations for Event Bus pods | -| `components.eventBus.nodeSelector` | `{}` | Node Selector for Event Bus pods | -| `components.eventBus.priorityClassName` | `""` | Priority class name for Event Bus pods | -| `components.sessionMap.imageName` | `selenium/sessions` | Session Map image name | -| `components.sessionMap.imageTag` | `nil` | Session Map image tag (this overwrites `.global.seleniumGrid.imageTag` value) | -| `components.sessionMap.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | -| `components.sessionMap.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | -| `components.sessionMap.annotations` | `{}` | Custom annotations for Session Map pod | -| `components.sessionMap.resources` | `{}` | Resources for event-bus container | -| `components.sessionMap.serviceType` | `ClusterIP` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | -| `components.sessionMap.serviceAnnotations` | `{}` | Custom annotations for Session Map service | -| `components.sessionMap.tolerations` | `[]` | Tolerations for Session Map pods | -| `components.sessionMap.nodeSelector` | `{}` | Node Selector for Session Map pods | -| `components.sessionMap.priorityClassName` | `""` | Priority class name for Session Map pods | -| `components.sessionQueue.imageName` | `selenium/session-queue` | Session Queue image name | -| `components.sessionQueue.imageTag` | `nil` | Session Queue image tag (this overwrites `.global.seleniumGrid.imageTag` value) | -| `components.sessionQueue.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | -| `components.sessionQueue.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | -| `components.sessionQueue.annotations` | `{}` | Custom annotations for Session Queue pod | -| `components.sessionQueue.port` | `5559` | Session Queue Port | -| `components.sessionQueue.resources` | `{}` | Resources for event-bus container | -| `components.sessionQueue.serviceType` | `ClusterIP` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | -| `components.sessionQueue.serviceAnnotations` | `{}` | Custom annotations for Session Queue service | -| `components.sessionQueue.tolerations` | `[]` | Tolerations for Session Queue pods | -| `components.sessionQueue.nodeSelector` | `{}` | Node Selector for Session Queue pods | -| `components.sessionQueue.priorityClassName` | `""` | Priority class name for Session Queue pods | -| `components.extraEnvironmentVariables` | `nil` | Custom environment variables for all components | -| `components.extraEnvFrom` | `nil` | Custom environment variables taken from `configMap` or `secret` for all components | +| Parameter | Default | Description | +|----------------------------------------------|--------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------| +| `components.router.imageName` | `selenium/router` | Router image name | +| `components.router.imageTag` | `nil` | Router image tag (this overwrites `.global.seleniumGrid.imageTag` value) | +| `components.router.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | +| `components.router.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | +| `components.router.annotations` | `{}` | Custom annotations for router pod | +| `components.router.port` | `4444` | Router port | +| `components.router.livenessProbe` | `See values.yaml` | Liveness probe settings | +| `components.router.readinessProbe` | `See values.yaml` | Readiness probe settings | +| `components.router.resources` | `{}` | Resources for router pod | +| `components.router.securityContext` | `See values.yaml` | Security context for router pod | +| `components.router.serviceType` | `ClusterIP` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | +| `components.router.loadBalancerIP` | `nil` | Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) | +| `components.router.serviceAnnotations` | `{}` | Custom annotations for router service | +| `components.router.tolerations` | `[]` | Tolerations for router pods | +| `components.router.nodeSelector` | `{}` | Node Selector for router pods | +| `components.router.affinity` | `{}` | Affinity for +router +pods | +| `components.router.priorityClassName` | `""` | Priority class name for router pods | +| `components.distributor.imageName` | `selenium/distributor` | Distributor image name | +| `components.distributor.imageTag` | `nil` | Distributor image tag (this overwrites `.global.seleniumGrid.imageTag` value) | +| `components.distributor.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | +| `components.distributor.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | +| `components.distributor.annotations` | `{}` | Custom annotations for Distributor pod | +| `components.distributor.port` | `5553` | Distributor port | +| `components.distributor.resources` | `{}` | Resources for Distributor pod | +| `components.distributor.securityContext` | `See values.yaml` | Security context for Distributor pod | +| `components.distributor.serviceType` | `ClusterIP` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | +| `components.distributor.serviceAnnotations` | `{}` | Custom annotations for Distributor service | +| `components.distributor.tolerations` | `[]` | Tolerations for Distributor pods | +| `components.distributor.nodeSelector` | `{}` | Node Selector for Distributor pods | +| `components.distributor.affinity` | `{}` | Affinity for +Distributor +pods | +| `components.distributor.priorityClassName` | `""` | Priority class name for Distributor pods | +| `components.eventBus.imageName` | `selenium/event-bus` | Event Bus image name | +| `components.eventBus.imageTag` | `nil` | Event Bus image tag (this overwrites `.global.seleniumGrid.imageTag` value) | +| `components.eventBus.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | +| `components.eventBus.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | +| `components.eventBus.annotations` | `{}` | Custom annotations for Event Bus pod | +| `components.eventBus.port` | `5557` | Event Bus port | +| `components.eventBus.publishPort` | `4442` | Port where events are published | +| `components.eventBus.subscribePort` | `4443` | Port where to subscribe for events | +| `components.eventBus.resources` | `{}` | Resources for event-bus pod | +| `components.eventBus.securityContext` | `See values.yaml` | Security context for event-bus pod | +| `components.eventBus.serviceType` | `ClusterIP` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | +| `components.eventBus.serviceAnnotations` | `{}` | Custom annotations for Event Bus service | +| `components.eventBus.tolerations` | `[]` | Tolerations for Event Bus pods | +| `components.eventBus.nodeSelector` | `{}` | Node Selector for Event Bus pods | +| `components.eventBus.affinity` | `{}` | Affinity for +Event Bus +pods | +| `components.eventBus.priorityClassName` | `""` | Priority class name for Event Bus pods | +| `components.sessionMap.imageName` | `selenium/sessions` | Session Map image name | +| `components.sessionMap.imageTag` | `nil` | Session Map image tag (this overwrites `.global.seleniumGrid.imageTag` value) | +| `components.sessionMap.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | +| `components.sessionMap.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | +| `components.sessionMap.annotations` | `{}` | Custom annotations for Session Map pod | +| `components.sessionMap.resources` | `{}` | Resources for Session Map pod | +| `components.sessionMap.securityContext` | `See values.yaml` | Security context for Session Map pod | +| `components.sessionMap.serviceType` | `ClusterIP` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | +| `components.sessionMap.serviceAnnotations` | `{}` | Custom annotations for Session Map service | +| `components.sessionMap.tolerations` | `[]` | Tolerations for Session Map pods | +| `components.sessionMap.nodeSelector` | `{}` | Node Selector for Session Map pods | +| `components.sessionMap.affinity` | `{}` | Affinity for +Session Map +pods | +| `components.sessionMap.priorityClassName` | `""` | Priority class name for Session Map pods | +| `components.sessionQueue.imageName` | `selenium/session-queue` | Session Queue image name | +| `components.sessionQueue.imageTag` | `nil` | Session Queue image tag (this overwrites `.global.seleniumGrid.imageTag` value) | +| `components.sessionQueue.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | +| `components.sessionQueue.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | +| `components.sessionQueue.annotations` | `{}` | Custom annotations for Session Queue pod | +| `components.sessionQueue.port` | `5559` | Session Queue Port | +| `components.sessionQueue.resources` | `{}` | Resources for Session Queue pod | +| `components.sessionQueue.securityContext` | `See values.yaml` | Security context for Session Queue pod | +| `components.sessionQueue.serviceType` | `ClusterIP` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | +| `components.sessionQueue.serviceAnnotations` | `{}` | Custom annotations for Session Queue service | +| `components.sessionQueue.tolerations` | `[]` | Tolerations for Session Queue pods | +| `components.sessionQueue.nodeSelector` | `{}` | Node Selector for Session Queue pods | +| `components.sessionQueue.affinity` | `{}` | Affinity for +Session Queue +pods | +| `components.sessionQueue.priorityClassName` | `""` | Priority class name for Session Queue pods | +| `components.subPath` | `/` | Custom sub path for all components | +| `components.extraEnvironmentVariables` | `nil` | Custom environment variables for all components | +| `components.extraEnvFrom` | `nil` | Custom environment variables taken from `configMap` or `secret` for all components | See how to customize a helm chart installation in the [Helm Docs](https://helm.sh/docs/intro/using_helm/#customizing-the-chart-before-installing) for more information. diff --git a/charts/selenium-grid/templates/chrome-node-deployment.yaml b/charts/selenium-grid/templates/chrome-node-deployment.yaml index dcf5ea6f9..1fa349332 100644 --- a/charts/selenium-grid/templates/chrome-node-deployment.yaml +++ b/charts/selenium-grid/templates/chrome-node-deployment.yaml @@ -62,6 +62,9 @@ spec: {{- with .Values.chromeNode.resources }} resources: {{- toYaml . | nindent 12 }} {{- end }} + {{- with .Values.chromeNode.securityContext }} + securityContext: {{- toYaml . | nindent 12 }} + {{- end }} {{- with .Values.chromeNode.lifecycle }} lifecycle: {{- toYaml . | nindent 12 }} {{- end }} @@ -75,9 +78,12 @@ spec: {{- with .Values.chromeNode.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} + {{- if or .Values.global.seleniumGrid.affinity .Values.chromeNode.affinity }} + {{- $affinityYaml := default .Values.global.seleniumGrid.affinity .Values.chromeNode.affinity }} + affinity: {{- toYaml $affinityYaml | nindent 8 }} + {{- end }} {{- with .Values.chromeNode.tolerations }} - tolerations: - {{ toYaml . | nindent 6 }} + tolerations: {{ toYaml . | nindent 6 }} {{- end }} {{- with .Values.chromeNode.priorityClassName }} priorityClassName: {{ . }} diff --git a/charts/selenium-grid/templates/distributor-deployment.yaml b/charts/selenium-grid/templates/distributor-deployment.yaml index 410e482ff..21fa43192 100644 --- a/charts/selenium-grid/templates/distributor-deployment.yaml +++ b/charts/selenium-grid/templates/distributor-deployment.yaml @@ -53,6 +53,9 @@ spec: {{- with .Values.components.distributor.resources }} resources: {{- toYaml . | nindent 12 }} {{- end }} + {{- with .Values.components.distributor.securityContext }} + securityContext: {{- toYaml . | nindent 12 }} + {{- end }} {{- if or .Values.global.seleniumGrid.imagePullSecret .Values.components.distributor.imagePullSecret }} imagePullSecrets: - name: {{ default .Values.global.seleniumGrid.imagePullSecret .Values.components.distributor.imagePullSecret }} @@ -60,9 +63,12 @@ spec: {{- with .Values.components.distributor.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} + {{- if or .Values.global.seleniumGrid.affinity .Values.components.distributor.affinity }} + {{- $affinityYaml := default .Values.global.seleniumGrid.affinity .Values.components.distributor.affinity }} + affinity: {{- toYaml $affinityYaml | nindent 8 }} + {{- end }} {{- with .Values.components.distributor.tolerations }} - tolerations: - {{ toYaml . | nindent 6 }} + tolerations: {{ toYaml . | nindent 6 }} {{- end }} {{- with .Values.components.distributor.priorityClassName }} priorityClassName: {{ . }} diff --git a/charts/selenium-grid/templates/edge-node-deployment.yaml b/charts/selenium-grid/templates/edge-node-deployment.yaml index cb62346df..78774c99c 100644 --- a/charts/selenium-grid/templates/edge-node-deployment.yaml +++ b/charts/selenium-grid/templates/edge-node-deployment.yaml @@ -62,6 +62,9 @@ spec: {{- with .Values.edgeNode.resources }} resources: {{- toYaml . | nindent 12 }} {{- end }} + {{- with .Values.edgeNode.securityContext }} + securityContext: {{- toYaml . | nindent 12 }} + {{- end }} {{- with .Values.edgeNode.lifecycle }} lifecycle: {{- toYaml . | nindent 12 }} {{- end }} @@ -71,9 +74,12 @@ spec: {{- with .Values.edgeNode.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} + {{- if or .Values.global.seleniumGrid.affinity .Values.edgeNode.affinity }} + {{- $affinityYaml := default .Values.global.seleniumGrid.affinity .Values.edgeNode.affinity }} + affinity: {{- toYaml $affinityYaml | nindent 8 }} + {{- end }} {{- with .Values.edgeNode.tolerations }} - tolerations: - {{ toYaml . | nindent 6 }} + tolerations: {{ toYaml . | nindent 6 }} {{- end }} {{- if or .Values.global.seleniumGrid.imagePullSecret .Values.edgeNode.imagePullSecret }} imagePullSecrets: diff --git a/charts/selenium-grid/templates/event-bus-deployment.yaml b/charts/selenium-grid/templates/event-bus-deployment.yaml index a1fd55626..b27b63687 100644 --- a/charts/selenium-grid/templates/event-bus-deployment.yaml +++ b/charts/selenium-grid/templates/event-bus-deployment.yaml @@ -46,12 +46,18 @@ spec: {{- with .Values.components.eventBus.resources }} resources: {{- toYaml . | nindent 12 }} {{- end }} + {{- with .Values.components.eventBus.securityContext }} + securityContext: {{- toYaml . | nindent 12 }} + {{- end }} {{- with .Values.components.eventBus.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} + {{- if or .Values.global.seleniumGrid.affinity .Values.components.eventBus.affinity }} + {{- $affinityYaml := default .Values.global.seleniumGrid.affinity .Values.components.eventBus.affinity }} + affinity: {{- toYaml $affinityYaml | nindent 8 }} + {{- end }} {{- with .Values.components.eventBus.tolerations }} - tolerations: - {{ toYaml . | nindent 6 }} + tolerations: {{ toYaml . | nindent 6 }} {{- end }} {{- if or .Values.global.seleniumGrid.imagePullSecret .Values.components.eventBus.imagePullSecret }} imagePullSecrets: diff --git a/charts/selenium-grid/templates/firefox-node-deployment.yaml b/charts/selenium-grid/templates/firefox-node-deployment.yaml index 9fdb8d8cf..03e57a990 100644 --- a/charts/selenium-grid/templates/firefox-node-deployment.yaml +++ b/charts/selenium-grid/templates/firefox-node-deployment.yaml @@ -62,6 +62,9 @@ spec: {{- with .Values.firefoxNode.resources }} resources: {{- toYaml . | nindent 12 }} {{- end }} + {{- with .Values.firefoxNode.securityContext }} + securityContext: {{- toYaml . | nindent 12 }} + {{- end }} {{- with .Values.firefoxNode.lifecycle }} lifecycle: {{- toYaml . | nindent 12 }} {{- end }} @@ -71,9 +74,12 @@ spec: {{- with .Values.firefoxNode.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} + {{- if or .Values.global.seleniumGrid.affinity .Values.firefoxNode.affinity }} + {{- $affinityYaml := default .Values.global.seleniumGrid.affinity .Values.firefoxNode.affinity }} + affinity: {{- toYaml $affinityYaml | nindent 8 }} + {{- end }} {{- with .Values.firefoxNode.tolerations }} - tolerations: - {{ toYaml . | nindent 6 }} + tolerations: {{ toYaml . | nindent 6 }} {{- end }} {{- if or .Values.global.seleniumGrid.imagePullSecret .Values.firefoxNode.imagePullSecret }} imagePullSecrets: diff --git a/charts/selenium-grid/templates/hub-deployment.yaml b/charts/selenium-grid/templates/hub-deployment.yaml index 29074c2dd..c65e02c90 100644 --- a/charts/selenium-grid/templates/hub-deployment.yaml +++ b/charts/selenium-grid/templates/hub-deployment.yaml @@ -61,9 +61,12 @@ spec: successThreshold: {{ .Values.hub.readinessProbe.successThreshold }} failureThreshold: {{ .Values.hub.readinessProbe.failureThreshold }} {{- end }} - {{- with .Values.hub.extraEnvironmentVariables }} - env: {{- tpl (toYaml .) $ | nindent 12 }} - {{- end }} + env: + - name: SE_SUB_PATH + value: {{ .Values.hub.subPath }} + {{- with .Values.hub.extraEnvironmentVariables }} + {{- tpl (toYaml .) $ | nindent 12 }} + {{- end }} {{- with .Values.hub.extraEnvFrom }} envFrom: {{- toYaml . | nindent 12 }} @@ -71,12 +74,18 @@ spec: {{- with .Values.hub.resources }} resources: {{- toYaml . | nindent 12 }} {{- end }} + {{- with .Values.hub.securityContext }} + securityContext: {{- toYaml . | nindent 12 }} + {{- end }} {{- with .Values.hub.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} + {{- if or .Values.global.seleniumGrid.affinity .Values.hub.affinity }} + {{- $affinityYaml := default .Values.global.seleniumGrid.affinity .Values.hub.affinity }} + affinity: {{- toYaml $affinityYaml | nindent 8 }} + {{- end }} {{- with .Values.hub.tolerations }} - tolerations: - {{ toYaml . | nindent 6 }} + tolerations: {{ toYaml . | nindent 6 }} {{- end }} {{- if or .Values.global.seleniumGrid.imagePullSecret .Values.hub.imagePullSecret }} imagePullSecrets: diff --git a/charts/selenium-grid/templates/ingress.yaml b/charts/selenium-grid/templates/ingress.yaml index cc20bf520..6df2c9553 100644 --- a/charts/selenium-grid/templates/ingress.yaml +++ b/charts/selenium-grid/templates/ingress.yaml @@ -46,7 +46,7 @@ spec: {{- end }} {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.Version }} paths: - - path: / + - path: {{ $.Values.ingress.path | default "/" }} pathType: Prefix backend: service: diff --git a/charts/selenium-grid/templates/router-deployment.yaml b/charts/selenium-grid/templates/router-deployment.yaml index 3f94706fd..5f04d2e41 100644 --- a/charts/selenium-grid/templates/router-deployment.yaml +++ b/charts/selenium-grid/templates/router-deployment.yaml @@ -42,6 +42,8 @@ spec: value: {{ template "seleniumGrid.sessionQueue.fullname" . }} - name: SE_SESSION_QUEUE_PORT value: {{ .Values.components.sessionQueue.port | quote }} + - name: SE_SUB_PATH + value: {{ .Values.components.subPath }} {{- with .Values.components.extraEnvironmentVariables }} {{- tpl (toYaml .) $ | nindent 12 }} {{- end }} @@ -77,12 +79,18 @@ spec: {{- with .Values.components.router.resources }} resources: {{- toYaml . | nindent 12 }} {{- end }} + {{- with .Values.components.router.securityContext }} + securityContext: {{- toYaml . | nindent 12 }} + {{- end }} {{- with .Values.components.router.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} + {{- if or .Values.global.seleniumGrid.affinity .Values.components.router.affinity }} + {{- $affinityYaml := default .Values.global.seleniumGrid.affinity .Values.components.router.affinity }} + affinity: {{- toYaml $affinityYaml | nindent 8 }} + {{- end }} {{- with .Values.components.router.tolerations }} - tolerations: - {{ toYaml . | nindent 6 }} + tolerations: {{ toYaml . | nindent 6 }} {{- end }} {{- if or .Values.global.seleniumGrid.imagePullSecret .Values.components.router.imagePullSecret }} imagePullSecrets: diff --git a/charts/selenium-grid/templates/session-map-deployment.yaml b/charts/selenium-grid/templates/session-map-deployment.yaml index 8149b629f..00f1dc9fb 100644 --- a/charts/selenium-grid/templates/session-map-deployment.yaml +++ b/charts/selenium-grid/templates/session-map-deployment.yaml @@ -44,12 +44,18 @@ spec: {{- with .Values.components.sessionMap.resources }} resources: {{- toYaml . | nindent 12 }} {{- end }} + {{- with .Values.components.sessionMap.securityContext }} + securityContext: {{- toYaml . | nindent 12 }} + {{- end }} {{- with .Values.components.sessionMap.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} + {{- if or .Values.global.seleniumGrid.affinity .Values.components.sessionMap.affinity }} + {{- $affinityYaml := default .Values.global.seleniumGrid.affinity .Values.components.sessionMap.affinity }} + affinity: {{- toYaml $affinityYaml | nindent 8 }} + {{- end }} {{- with .Values.components.sessionMap.tolerations }} - tolerations: - {{ toYaml . | nindent 6 }} + tolerations: {{ toYaml . | nindent 6 }} {{- end }} {{- if or .Values.global.seleniumGrid.imagePullSecret .Values.components.sessionMap.imagePullSecret }} imagePullSecrets: diff --git a/charts/selenium-grid/templates/session-queuer-deployment.yaml b/charts/selenium-grid/templates/session-queuer-deployment.yaml index 18b171885..ac7718261 100644 --- a/charts/selenium-grid/templates/session-queuer-deployment.yaml +++ b/charts/selenium-grid/templates/session-queuer-deployment.yaml @@ -42,12 +42,18 @@ spec: {{- with .Values.components.sessionQueue.resources }} resources: {{- toYaml . | nindent 12 }} {{- end }} + {{- with .Values.components.sessionQueue.securityContext }} + securityContext: {{- toYaml . | nindent 12 }} + {{- end }} {{- with .Values.components.sessionQueue.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} + {{- if or .Values.global.seleniumGrid.affinity .Values.components.sessionQueue.affinity }} + {{- $affinityYaml := default .Values.global.seleniumGrid.affinity .Values.components.sessionQueue.affinity }} + affinity: {{- toYaml $affinityYaml | nindent 8 }} + {{- end }} {{- with .Values.components.sessionQueue.tolerations }} - tolerations: - {{ toYaml . | nindent 6 }} + tolerations: {{ toYaml . | nindent 6 }} {{- end }} {{- if or .Values.global.seleniumGrid.imagePullSecret .Values.components.sessionQueue.imagePullSecret }} imagePullSecrets: diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index 7b877894d..ec6c7f8d2 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -1,9 +1,9 @@ global: seleniumGrid: # Image tag for all selenium components - imageTag: 4.9.0-20230421 + imageTag: 4.10.0-20230607 # Image tag for browser's nodes - nodesImageTag: 4.9.0-20230421 + nodesImageTag: 4.10.0-20230607 # Pull secret for all components, can be overridden individually imagePullSecret: "" @@ -20,6 +20,8 @@ ingress: annotations: {} # Default host for the ingress resource hostname: selenium-grid.local + # Default host path for the ingress resource + path: / # TLS backend configuration for ingress resource tls: [] @@ -38,7 +40,7 @@ components: # Router image name imageName: selenium/router # Router image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.9.0-20230421 + # imageTag: 4.10.0-20230607 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -69,6 +71,8 @@ components: successThreshold: 1 # Resources for router container resources: {} + # SecurityContext for router container + securityContext: {} # Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) serviceType: ClusterIP # Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) @@ -87,7 +91,7 @@ components: # Distributor image name imageName: selenium/distributor # Distributor image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.9.0-20230421 + # imageTag: 4.10.0-20230607 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -100,6 +104,8 @@ components: port: 5553 # Resources for Distributor container resources: {} + # SecurityContext for Distributor container + securityContext: {} # Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) serviceType: ClusterIP # Custom annotations for Distributor service @@ -116,7 +122,7 @@ components: # Event Bus image name imageName: selenium/event-bus # Event Bus image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.9.0-20230421 + # imageTag: 4.10.0-20230607 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -133,6 +139,8 @@ components: subscribePort: 4443 # Resources for event-bus container resources: {} + # SecurityContext for event-bus container + securityContext: {} # Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) serviceType: ClusterIP # Custom annotations for Event Bus service @@ -149,7 +157,7 @@ components: # Session Map image name imageName: selenium/sessions # Session Map image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.9.0-20230421 + # imageTag: 4.10.0-20230607 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -161,6 +169,8 @@ components: port: 5556 # Resources for Session Map container resources: {} + # SecurityContext for Session Map container + securityContext: {} # Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) serviceType: ClusterIP # Custom annotations for Session Map service @@ -177,7 +187,7 @@ components: # Session Queue image name imageName: selenium/session-queue # Session Queue image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.9.0-20230421 + # imageTag: 4.10.0-20230607 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -189,6 +199,8 @@ components: port: 5559 # Resources for Session Queue container resources: {} + # SecurityContext for Session Queue container + securityContext: {} # Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) serviceType: ClusterIP # Custom annotations for Session Queue service @@ -200,6 +212,9 @@ components: # Priority class name for Session Queue pods priorityClassName: "" + # Custom sub path for all components + subPath: / + # Custom environment variables for all components extraEnvironmentVariables: # - name: SE_JAVA_OPTS @@ -222,7 +237,7 @@ hub: # Selenium Hub image name imageName: selenium/hub # Selenium Hub image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.9.0-20230421 + # imageTag: 4.10.0-20230607 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -256,6 +271,8 @@ hub: timeoutSeconds: 10 periodSeconds: 10 successThreshold: 1 + # Custom sub path for the hub deployment + subPath: / # Custom environment variables for selenium-hub extraEnvironmentVariables: # - name: SE_JAVA_OPTS @@ -273,6 +290,8 @@ hub: # name: mysecret # Resources for selenium-hub container resources: {} + # SecurityContext for selenium-hub container + securityContext: {} # Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) serviceType: ClusterIP # Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) @@ -301,7 +320,7 @@ chromeNode: # Image of chrome nodes imageName: selenium/node-chrome # Image of chrome nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.9.0-20230421 + # imageTag: 4.10.0-20230607 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -326,6 +345,8 @@ chromeNode: limits: memory: "1Gi" cpu: "1" + # SecurityContext for chrome-node container + securityContext: {} # Tolerations for chrome-node pods tolerations: [] # Node selector for chrome-node pods @@ -413,7 +434,7 @@ firefoxNode: # Image of firefox nodes imageName: selenium/node-firefox # Image of firefox nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.9.0-20230421 + # imageTag: 4.10.0-20230607 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -442,6 +463,8 @@ firefoxNode: limits: memory: "1Gi" cpu: "1" + # SecurityContext for firefox-node container + securityContext: {} # Custom host aliases for firefox nodes hostAliases: # - ip: "198.51.100.0" @@ -525,7 +548,7 @@ edgeNode: # Image of edge nodes imageName: selenium/node-edge # Image of edge nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.9.0-20230421 + # imageTag: 4.10.0-20230607 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -553,6 +576,8 @@ edgeNode: limits: memory: "1Gi" cpu: "1" + # SecurityContext for edge-node container + securityContext: {} # Custom host aliases for edge nodes hostAliases: # - ip: "198.51.100.0" diff --git a/docker-compose-v2-tracing.yml b/docker-compose-v2-tracing.yml index ab24346e6..519c893c0 100644 --- a/docker-compose-v2-tracing.yml +++ b/docker-compose-v2-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.9.0-20230421 + image: selenium/node-chrome:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-hub @@ -23,7 +23,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.9.0-20230421 + image: selenium/node-edge:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-hub @@ -37,7 +37,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.9.0-20230421 + image: selenium/node-firefox:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-hub @@ -51,7 +51,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.9.0-20230421 + image: selenium/hub:4.10.0-20230607 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v2.yml b/docker-compose-v2.yml index 50a94d83f..11db5cd3c 100644 --- a/docker-compose-v2.yml +++ b/docker-compose-v2.yml @@ -4,7 +4,7 @@ version: '2' services: chrome: - image: selenium/node-chrome:4.9.0-20230421 + image: selenium/node-chrome:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-hub @@ -16,7 +16,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.9.0-20230421 + image: selenium/node-edge:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-hub @@ -28,7 +28,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.9.0-20230421 + image: selenium/node-firefox:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-hub @@ -40,7 +40,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.9.0-20230421 + image: selenium/hub:4.10.0-20230607 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-basicauth.yml b/docker-compose-v3-basicauth.yml index 5cd1298ea..29ae1a432 100644 --- a/docker-compose-v3-basicauth.yml +++ b/docker-compose-v3-basicauth.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.9.0-20230421 + image: selenium/node-chrome:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.9.0-20230421 + image: selenium/node-edge:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.9.0-20230421 + image: selenium/node-firefox:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.9.0-20230421 + image: selenium/hub:4.10.0-20230607 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-dev.yml b/docker-compose-v3-dev.yml index be0a8af99..a7282ebe2 100644 --- a/docker-compose-v3-dev.yml +++ b/docker-compose-v3-dev.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.9.0-20230421 + image: selenium/node-chrome:4.10.0-20230607 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -16,7 +16,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.9.0-20230421 + image: selenium/node-edge:4.10.0-20230607 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.9.0-20230421 + image: selenium/node-firefox:4.10.0-20230607 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -40,7 +40,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.9.0-20230421 + image: selenium/hub:4.10.0-20230607 container_name: selenium-hub volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-dynamic-grid.yml b/docker-compose-v3-dynamic-grid.yml index f3fefcfee..57d6a72d2 100644 --- a/docker-compose-v3-dynamic-grid.yml +++ b/docker-compose-v3-dynamic-grid.yml @@ -4,7 +4,7 @@ version: "3" services: node-docker: - image: selenium/node-docker:4.9.0-20230421 + image: selenium/node-docker:4.10.0-20230607 volumes: - ./assets:/opt/selenium/assets - ./NodeDocker/config.toml:/opt/bin/config.toml @@ -17,7 +17,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.9.0-20230421 + image: selenium/hub:4.10.0-20230607 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-full-grid-dev.yml b/docker-compose-v3-full-grid-dev.yml index 092d6e70c..5b807a1c8 100644 --- a/docker-compose-v3-full-grid-dev.yml +++ b/docker-compose-v3-full-grid-dev.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.9.0-20230421 + image: selenium/event-bus:4.10.0-20230607 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-event-bus @@ -14,7 +14,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.9.0-20230421 + image: selenium/sessions:4.10.0-20230607 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-sessions @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.9.0-20230421 + image: selenium/session-queue:4.10.0-20230607 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-session-queue @@ -36,7 +36,7 @@ services: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.9.0-20230421 + image: selenium/distributor:4.10.0-20230607 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-distributor @@ -56,7 +56,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.9.0-20230421 + image: selenium/router:4.10.0-20230607 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-router @@ -75,7 +75,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.9.0-20230421 + image: selenium/node-chrome:4.10.0-20230607 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -87,7 +87,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.9.0-20230421 + image: selenium/node-edge:4.10.0-20230607 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -99,7 +99,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.9.0-20230421 + image: selenium/node-firefox:4.10.0-20230607 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-full-grid-swarm.yml b/docker-compose-v3-full-grid-swarm.yml index 9a214fb9b..b96890a83 100644 --- a/docker-compose-v3-full-grid-swarm.yml +++ b/docker-compose-v3-full-grid-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.9.0-20230421 + image: selenium/node-chrome:4.10.0-20230607 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.9.0-20230421 + image: selenium/node-edge:4.10.0-20230607 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.9.0-20230421 + image: selenium/node-firefox:4.10.0-20230607 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.9.0-20230421 + image: selenium/hub:4.10.0-20230607 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-full-grid-tracing.yml b/docker-compose-v3-full-grid-tracing.yml index 66e06271b..9bba2cdc3 100644 --- a/docker-compose-v3-full-grid-tracing.yml +++ b/docker-compose-v3-full-grid-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" selenium-event-bus: - image: selenium/event-bus:4.9.0-20230421 + image: selenium/event-bus:4.10.0-20230607 container_name: selenium-event-bus ports: - "4442:4442" @@ -21,7 +21,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-event-bus selenium-sessions: - image: selenium/sessions:4.9.0-20230421 + image: selenium/sessions:4.10.0-20230607 container_name: selenium-sessions ports: - "5556:5556" @@ -34,7 +34,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-sessions selenium-session-queue: - image: selenium/session-queue:4.9.0-20230421 + image: selenium/session-queue:4.10.0-20230607 container_name: selenium-session-queue ports: - "5559:5559" @@ -42,7 +42,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-session-queue selenium-distributor: - image: selenium/distributor:4.9.0-20230421 + image: selenium/distributor:4.10.0-20230607 container_name: selenium-distributor ports: - "5553:5553" @@ -61,7 +61,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-distributor selenium-router: - image: selenium/router:4.9.0-20230421 + image: selenium/router:4.10.0-20230607 container_name: selenium-router ports: - "4444:4444" @@ -79,7 +79,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-router chrome: - image: selenium/node-chrome:4.9.0-20230421 + image: selenium/node-chrome:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-event-bus @@ -90,7 +90,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.9.0-20230421 + image: selenium/node-edge:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-event-bus @@ -101,7 +101,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.9.0-20230421 + image: selenium/node-firefox:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-full-grid.yml b/docker-compose-v3-full-grid.yml index f60aab9f9..d5a200142 100644 --- a/docker-compose-v3-full-grid.yml +++ b/docker-compose-v3-full-grid.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.9.0-20230421 + image: selenium/event-bus:4.10.0-20230607 container_name: selenium-event-bus ports: - "4442:4442" @@ -12,7 +12,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.9.0-20230421 + image: selenium/sessions:4.10.0-20230607 container_name: selenium-sessions ports: - "5556:5556" @@ -24,13 +24,13 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.9.0-20230421 + image: selenium/session-queue:4.10.0-20230607 container_name: selenium-session-queue ports: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.9.0-20230421 + image: selenium/distributor:4.10.0-20230607 container_name: selenium-distributor ports: - "5553:5553" @@ -48,7 +48,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.9.0-20230421 + image: selenium/router:4.10.0-20230607 container_name: selenium-router ports: - "4444:4444" @@ -65,7 +65,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.9.0-20230421 + image: selenium/node-chrome:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-event-bus @@ -75,7 +75,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.9.0-20230421 + image: selenium/node-edge:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-event-bus @@ -85,7 +85,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.9.0-20230421 + image: selenium/node-firefox:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-swarm.yml b/docker-compose-v3-swarm.yml index 9a214fb9b..b96890a83 100644 --- a/docker-compose-v3-swarm.yml +++ b/docker-compose-v3-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.9.0-20230421 + image: selenium/node-chrome:4.10.0-20230607 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.9.0-20230421 + image: selenium/node-edge:4.10.0-20230607 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.9.0-20230421 + image: selenium/node-firefox:4.10.0-20230607 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.9.0-20230421 + image: selenium/hub:4.10.0-20230607 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-tracing.yml b/docker-compose-v3-tracing.yml index f7475f391..0695cd163 100644 --- a/docker-compose-v3-tracing.yml +++ b/docker-compose-v3-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.9.0-20230421 + image: selenium/node-chrome:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-hub @@ -21,7 +21,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.9.0-20230421 + image: selenium/node-edge:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-hub @@ -33,7 +33,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.9.0-20230421 + image: selenium/node-firefox:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-hub @@ -45,7 +45,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox selenium-hub: - image: selenium/hub:4.9.0-20230421 + image: selenium/hub:4.10.0-20230607 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-video.yml b/docker-compose-v3-video.yml index f9139d161..7483b64b5 100644 --- a/docker-compose-v3-video.yml +++ b/docker-compose-v3-video.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.9.0-20230421 + image: selenium/node-chrome:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.9.0-20230421 + image: selenium/node-edge:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.9.0-20230421 + image: selenium/node-firefox:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 chrome_video: - image: selenium/video:ffmpeg-4.3.1-20230421 + image: selenium/video:ffmpeg-4.3.1-20230607 volumes: - /tmp/videos:/videos depends_on: @@ -44,7 +44,7 @@ services: - FILE_NAME=chrome_video.mp4 edge_video: - image: selenium/video:ffmpeg-4.3.1-20230421 + image: selenium/video:ffmpeg-4.3.1-20230607 volumes: - /tmp/videos:/videos depends_on: @@ -54,7 +54,7 @@ services: - FILE_NAME=edge_video.mp4 firefox_video: - image: selenium/video:ffmpeg-4.3.1-20230421 + image: selenium/video:ffmpeg-4.3.1-20230607 volumes: - /tmp/videos:/videos depends_on: @@ -64,7 +64,7 @@ services: - FILE_NAME=firefox_video.mp4 selenium-hub: - image: selenium/hub:4.9.0-20230421 + image: selenium/hub:4.10.0-20230607 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3.yml b/docker-compose-v3.yml index e7f90515d..44b6b9281 100644 --- a/docker-compose-v3.yml +++ b/docker-compose-v3.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.9.0-20230421 + image: selenium/node-chrome:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.9.0-20230421 + image: selenium/node-edge:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.9.0-20230421 + image: selenium/node-firefox:4.10.0-20230607 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.9.0-20230421 + image: selenium/hub:4.10.0-20230607 container_name: selenium-hub ports: - "4442:4442"