diff --git a/charts/selenium-grid/CHANGELOG.md b/charts/selenium-grid/CHANGELOG.md index 03361a8f9..fa36a61e0 100644 --- a/charts/selenium-grid/CHANGELOG.md +++ b/charts/selenium-grid/CHANGELOG.md @@ -2,6 +2,11 @@ All notable changes to this helm chart will be documented in this file. +## :heavy_check_mark: 0.8.0 + +### Added +- Added support of loadBalancerIP for hub and router services + ## :heavy_check_mark: 0.7.0 ### Added diff --git a/charts/selenium-grid/Chart.yaml b/charts/selenium-grid/Chart.yaml index 3e9d0ad63..bde4091ca 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.7.0 +version: 0.8.0 appVersion: 4.3.0-20220706 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 765c4b138..e75a7d6d2 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -166,6 +166,7 @@ You can configure the Selenium Hub with this values: | `hub.extraEnvFrom` | `nil` | Custom environment variables for selenium taken from `configMap` or `secret`-hub | | `hub.resources` | `{}` | Resources for selenium-hub container | | `hub.serviceType` | `NodePort` | 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 | @@ -185,6 +186,7 @@ If you implement selenium-grid with separate components (`isolateComponents: tru | `components.router.readinessProbe` | `See values.yaml` | Readiness probe settings | | `components.router.resources` | `{}` | Resources for router container | | `components.router.serviceType` | `NodePort` | 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 | diff --git a/charts/selenium-grid/templates/hub-service.yaml b/charts/selenium-grid/templates/hub-service.yaml index 316d8d540..7a9474b3e 100644 --- a/charts/selenium-grid/templates/hub-service.yaml +++ b/charts/selenium-grid/templates/hub-service.yaml @@ -17,6 +17,9 @@ spec: selector: app: selenium-hub type: {{ .Values.hub.serviceType }} + {{- if and (eq .Values.hub.serviceType "LoadBalancer") ( .Values.hub.loadBalancerIP ) }} + loadBalancerIP: {{ .Values.hub.loadBalancerIP }} + {{- end }} ports: - name: http-hub protocol: TCP diff --git a/charts/selenium-grid/templates/router-service.yaml b/charts/selenium-grid/templates/router-service.yaml index 45b910bd2..9b2c87d43 100644 --- a/charts/selenium-grid/templates/router-service.yaml +++ b/charts/selenium-grid/templates/router-service.yaml @@ -17,6 +17,9 @@ spec: selector: app: selenium-router type: {{ .Values.components.router.serviceType }} + {{- if and (eq .Values.components.router.serviceType "LoadBalancer") (.Values.components.router.loadBalancerIP) }} + loadBalancerIP: {{ .Values.components.router.loadBalancerIP }} + {{- end }} ports: - name: tcp-router protocol: TCP diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index f20f0471b..35aeefb69 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -71,6 +71,8 @@ components: resources: {} # 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) + loadBalancerIP: "" # Custom annotations for router service serviceAnnotations: {} # Tolerations for router pods @@ -273,6 +275,8 @@ hub: resources: {} # 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) + loadBalancerIP: "" # Custom annotations for Selenium Hub service serviceAnnotations: {} # Tolerations for selenium-hub pods