diff --git a/charts/selenium-grid/CHANGELOG.md b/charts/selenium-grid/CHANGELOG.md index a6bbe036a..2515b9207 100644 --- a/charts/selenium-grid/CHANGELOG.md +++ b/charts/selenium-grid/CHANGELOG.md @@ -2,6 +2,23 @@ All notable changes to this helm chart will be documented in this file. +## :heavy_check_mark: 0.24.0 + +### Added + +- Update tag in docs and files [skip ci] :: Selenium CI Bot +- Bumping chart version :: Diego Molina +- Fix minor issues after PR #1881 and #1981 (#1983) :: Viet Nguyen Duc +- Improve default value for videoRecorder in chart (#1984) :: Viet Nguyen Duc +- Improve chart templates in the section videoRecorder (#1987) :: Viet Nguyen Duc +- Update to Selenium 4.15.0 (#1990) :: Luis Correia +- feat(autoscaling): Unified parameters to set scaled options for browser nodes (#1989) :: Viet Nguyen Duc +- Add chart parameter ingress.paths to configure custom paths (#1994) :: Viet Nguyen Duc +- feat: Adding port to nodes service (#1196) :: Viet Nguyen Duc + +### Changed +- Update image tag to 4.15.0-20231102 + ## :heavy_check_mark: 0.23.0 ### Added @@ -11,7 +28,7 @@ All notable changes to this helm chart will be documented in this file. - Update Video/Dockerfile with based image ffmpeg:6.0-alpine (#1981) :: Viet Nguyen Duc ### Changed -- Update image tag to 4.15.0-20231102 +- Update image tag to 4.14.1-20231025 ## :heavy_check_mark: 0.22.0 diff --git a/charts/selenium-grid/Chart.yaml b/charts/selenium-grid/Chart.yaml index e5d9c79ec..f68a7851c 100644 --- a/charts/selenium-grid/Chart.yaml +++ b/charts/selenium-grid/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: selenium-grid description: A Helm chart for creating a Selenium Grid Server in Kubernetes type: application -version: 0.23.0 -appVersion: 4.14.1-20231025 +version: 0.24.0 +appVersion: 4.15.0-20231102 icon: https://github.com/SeleniumHQ/docker-selenium/raw/trunk/logo.png dependencies: - repository: https://kedacore.github.io/charts diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index cd2826e04..55c03b22e 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -147,6 +147,8 @@ This table contains the configuration parameters of the chart and their default | `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.loadBalancerIP` | `` | Set specific loadBalancerIP when serviceType is LoadBalancer | +| `chromeNode.service.ports` | `[]` | Extra ports exposed in node service | | `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 | @@ -184,6 +186,8 @@ This table contains the configuration parameters of the chart and their default | `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.loadBalancerIP` | `` | Set specific loadBalancerIP when serviceType is LoadBalancer | +| `firefoxNode.service.ports` | `[]` | Extra ports exposed in node service | | `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 | @@ -221,6 +225,8 @@ This table contains the configuration parameters of the chart and their default | `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.loadBalancerIP` | `` | Set specific loadBalancerIP when serviceType is LoadBalancer | +| `edgeNode.service.ports` | `[]` | Extra ports exposed in node service | | `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 | diff --git a/charts/selenium-grid/templates/chrome-node-service.yaml b/charts/selenium-grid/templates/chrome-node-service.yaml index 41aebd570..754f941ab 100644 --- a/charts/selenium-grid/templates/chrome-node-service.yaml +++ b/charts/selenium-grid/templates/chrome-node-service.yaml @@ -16,9 +16,25 @@ spec: selector: app: selenium-chrome-node app.kubernetes.io/instance: {{ .Release.Name }} + {{- if and (eq .Values.chromeNode.service.type "LoadBalancer") (.Values.chromeNode.service.loadBalancerIP) }} + loadBalancerIP: {{ .Values.chromeNode.service.loadBalancerIP }} + {{- end }} ports: - name: tcp-chrome protocol: TCP port: {{ .Values.chromeNode.seleniumServicePort }} targetPort: {{ .Values.chromeNode.seleniumPort }} + {{- with .Values.chromeNode.service.ports }} + {{- range . }} + - name: {{ .name }} + port: {{ .port }} + targetPort: {{ .targetPort }} + {{- if .protocol }} + protocol: {{ .protocol }} + {{- end }} + {{- if and (eq $.Values.chromeNode.service.type "NodePort") .nodePort }} + nodePort: {{ .nodePort }} + {{- end }} + {{- end }} + {{- end }} {{- end }} diff --git a/charts/selenium-grid/templates/edge-node-service.yaml b/charts/selenium-grid/templates/edge-node-service.yaml index ae59a4a63..ca253835a 100644 --- a/charts/selenium-grid/templates/edge-node-service.yaml +++ b/charts/selenium-grid/templates/edge-node-service.yaml @@ -16,9 +16,25 @@ spec: selector: app: selenium-edge-node app.kubernetes.io/instance: {{ .Release.Name }} + {{- if and (eq .Values.edgeNode.service.type "LoadBalancer") (.Values.edgeNode.service.loadBalancerIP) }} + loadBalancerIP: {{ .Values.edgeNode.service.loadBalancerIP }} + {{- end }} ports: - name: tcp-edge protocol: TCP port: {{ .Values.edgeNode.seleniumServicePort }} targetPort: {{ .Values.edgeNode.seleniumPort }} + {{- with .Values.edgeNode.service.ports }} + {{- range . }} + - name: {{ .name }} + port: {{ .port }} + targetPort: {{ .targetPort }} + {{- if .protocol }} + protocol: {{ .protocol }} + {{- end }} + {{- if and (eq $.Values.edgeNode.service.type "NodePort") .nodePort }} + nodePort: {{ .nodePort }} + {{- end }} + {{- end }} + {{- end }} {{- end }} diff --git a/charts/selenium-grid/templates/firefox-node-service.yaml b/charts/selenium-grid/templates/firefox-node-service.yaml index 473225f93..d8cb4c844 100644 --- a/charts/selenium-grid/templates/firefox-node-service.yaml +++ b/charts/selenium-grid/templates/firefox-node-service.yaml @@ -16,9 +16,25 @@ spec: selector: app: selenium-firefox-node app.kubernetes.io/instance: {{ .Release.Name }} + {{- if and (eq .Values.firefoxNode.service.type "LoadBalancer") (.Values.firefoxNode.service.loadBalancerIP) }} + loadBalancerIP: {{ .Values.firefoxNode.service.loadBalancerIP }} + {{- end }} ports: - name: tcp-firefox protocol: TCP port: {{ .Values.firefoxNode.seleniumServicePort }} targetPort: {{ .Values.firefoxNode.seleniumPort }} + {{- with .Values.firefoxNode.service.ports }} + {{- range . }} + - name: {{ .name }} + port: {{ .port }} + targetPort: {{ .targetPort }} + {{- if .protocol }} + protocol: {{ .protocol }} + {{- end }} + {{- if and (eq $.Values.firefoxNode.service.type "NodePort") .nodePort }} + nodePort: {{ .nodePort }} + {{- end }} + {{- end }} + {{- end }} {{- end }} diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index 36322c4d0..66841ffc9 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -464,6 +464,13 @@ chromeNode: enabled: true # Service type type: ClusterIP + # Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) + loadBalancerIP: "" + # Extra ports exposed in node service + ports: + # - name: node-port + # port: 5555 + # targetPort: 5555 # Custom annotations for service annotations: {} # Size limit for DSH volume mounted in container (if not set, default is "1Gi") @@ -589,6 +596,13 @@ firefoxNode: enabled: true # Service type type: ClusterIP + # Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) + loadBalancerIP: "" + # Extra ports exposed in node service + ports: + # - name: node-port + # port: 5555 + # targetPort: 5555 # Custom annotations for service annotations: {} # Size limit for DSH volume mounted in container (if not set, default is "1Gi") @@ -710,9 +724,15 @@ edgeNode: enabled: true # Service type type: ClusterIP + # Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) + loadBalancerIP: "" + # Extra ports exposed in node service + ports: + # - name: node-port + # port: 5555 + # targetPort: 5555 # Custom annotations for service - annotations: - hello: world + annotations: {} # Size limit for DSH volume mounted in container (if not set, default is "1Gi") dshmVolumeSizeLimit: 1Gi # Priority class name for edge-node pods