From 2130c3401f782f446415182cbc51591465b67f94 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Sat, 18 Jan 2025 20:58:18 +0700 Subject: [PATCH] K8s: Update default component ConfigMap and resources limits (#2596) Signed-off-by: Viet Nguyen Duc --- .../start-selenium-grid-distributor.sh | 5 +- EventBus/start-selenium-grid-eventbus.sh | 5 +- Hub/start-selenium-grid-hub.sh | 5 +- NodeBase/start-selenium-node.sh | 5 +- NodeDocker/start-selenium-grid-docker.sh | 5 +- Router/start-selenium-grid-router.sh | 5 +- .../start-selenium-grid-session-queue.sh | 5 +- Sessions/start-selenium-grid-sessions.sh | 5 +- Standalone/start-selenium-standalone.sh | 5 +- .../start-selenium-grid-docker.sh | 5 +- charts/selenium-grid/CONFIGURATION.md | 33 ++++--- .../selenium-grid/templates/_nameHelpers.tpl | 7 ++ .../templates/distributor-configmap.yaml | 3 + .../templates/event-bus-configmap.yaml | 4 +- .../templates/logging-configmap.yaml | 3 + .../templates/node-configmap.yaml | 6 +- .../templates/router-configmap.yaml | 3 + charts/selenium-grid/templates/secrets.yaml | 14 +-- .../templates/server-configmap.yaml | 6 +- .../templates/session-map-configmap.yaml | 3 + .../templates/session-queue-configmap.yaml | 19 ++++ charts/selenium-grid/values.yaml | 86 ++++++++++++++++--- 22 files changed, 185 insertions(+), 52 deletions(-) create mode 100644 charts/selenium-grid/templates/session-queue-configmap.yaml diff --git a/Distributor/start-selenium-grid-distributor.sh b/Distributor/start-selenium-grid-distributor.sh index 463acd538..cc129f0a1 100755 --- a/Distributor/start-selenium-grid-distributor.sh +++ b/Distributor/start-selenium-grid-distributor.sh @@ -170,7 +170,6 @@ if [ "${SE_ENABLE_TRACING}" = "true" ] && [ -n "${SE_OTEL_EXPORTER_ENDPOINT}" ]; SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.java.global-autoconfigure.enabled=${SE_OTEL_JAVA_GLOBAL_AUTOCONFIGURE_ENABLED}" fi if [ -n "$SE_OTEL_JVM_ARGS" ]; then - echo "List arguments for OpenTelemetry: ${SE_OTEL_JVM_ARGS}" SE_JAVA_OPTS="$SE_JAVA_OPTS ${SE_OTEL_JVM_ARGS}" fi else @@ -187,6 +186,10 @@ if [ -n "${SE_JAVA_OPTS_DEFAULT}" ]; then SE_JAVA_OPTS="${SE_JAVA_OPTS_DEFAULT} $SE_JAVA_OPTS" fi +if [ -n "${JAVA_OPTS:-$SE_JAVA_OPTS}" ]; then + echo "Using JAVA_OPTS: ${JAVA_OPTS:-$SE_JAVA_OPTS}" +fi + function handle_heap_dump() { /opt/bin/handle_heap_dump.sh $SELENIUM_SERVER_PID /opt/selenium/logs } diff --git a/EventBus/start-selenium-grid-eventbus.sh b/EventBus/start-selenium-grid-eventbus.sh index 981aeb77a..ecf7703e9 100755 --- a/EventBus/start-selenium-grid-eventbus.sh +++ b/EventBus/start-selenium-grid-eventbus.sh @@ -100,7 +100,6 @@ if [ "${SE_ENABLE_TRACING}" = "true" ] && [ -n "${SE_OTEL_EXPORTER_ENDPOINT}" ]; SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.java.global-autoconfigure.enabled=${SE_OTEL_JAVA_GLOBAL_AUTOCONFIGURE_ENABLED}" fi if [ -n "$SE_OTEL_JVM_ARGS" ]; then - echo "List arguments for OpenTelemetry: ${SE_OTEL_JVM_ARGS}" SE_JAVA_OPTS="$SE_JAVA_OPTS ${SE_OTEL_JVM_ARGS}" fi else @@ -117,6 +116,10 @@ if [ -n "${SE_JAVA_OPTS_DEFAULT}" ]; then SE_JAVA_OPTS="${SE_JAVA_OPTS_DEFAULT} $SE_JAVA_OPTS" fi +if [ -n "${JAVA_OPTS:-$SE_JAVA_OPTS}" ]; then + echo "Using JAVA_OPTS: ${JAVA_OPTS:-$SE_JAVA_OPTS}" +fi + function handle_heap_dump() { /opt/bin/handle_heap_dump.sh $SELENIUM_SERVER_PID /opt/selenium/logs } diff --git a/Hub/start-selenium-grid-hub.sh b/Hub/start-selenium-grid-hub.sh index 709c5a31d..5d0f5fde3 100755 --- a/Hub/start-selenium-grid-hub.sh +++ b/Hub/start-selenium-grid-hub.sh @@ -150,7 +150,6 @@ if [ "${SE_ENABLE_TRACING}" = "true" ] && [ -n "${SE_OTEL_EXPORTER_ENDPOINT}" ]; SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.java.global-autoconfigure.enabled=${SE_OTEL_JAVA_GLOBAL_AUTOCONFIGURE_ENABLED}" fi if [ -n "$SE_OTEL_JVM_ARGS" ]; then - echo "List arguments for OpenTelemetry: ${SE_OTEL_JVM_ARGS}" SE_JAVA_OPTS="$SE_JAVA_OPTS ${SE_OTEL_JVM_ARGS}" fi else @@ -167,6 +166,10 @@ if [ -n "${SE_JAVA_OPTS_DEFAULT}" ]; then SE_JAVA_OPTS="${SE_JAVA_OPTS_DEFAULT} $SE_JAVA_OPTS" fi +if [ -n "${JAVA_OPTS:-$SE_JAVA_OPTS}" ]; then + echo "Using JAVA_OPTS: ${JAVA_OPTS:-$SE_JAVA_OPTS}" +fi + function handle_heap_dump() { /opt/bin/handle_heap_dump.sh $SELENIUM_SERVER_PID /opt/selenium/logs } diff --git a/NodeBase/start-selenium-node.sh b/NodeBase/start-selenium-node.sh index 958c76ebf..5fd27ebb2 100755 --- a/NodeBase/start-selenium-node.sh +++ b/NodeBase/start-selenium-node.sh @@ -149,7 +149,6 @@ if [ "${SE_ENABLE_TRACING}" = "true" ] && [ -n "${SE_OTEL_EXPORTER_ENDPOINT}" ]; SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.java.global-autoconfigure.enabled=${SE_OTEL_JAVA_GLOBAL_AUTOCONFIGURE_ENABLED}" fi if [ -n "$SE_OTEL_JVM_ARGS" ]; then - echo "List arguments for OpenTelemetry: ${SE_OTEL_JVM_ARGS}" SE_JAVA_OPTS="$SE_JAVA_OPTS ${SE_OTEL_JVM_ARGS}" fi else @@ -182,6 +181,10 @@ if [ -n "${SE_JAVA_OPTS_DEFAULT}" ]; then SE_JAVA_OPTS="${SE_JAVA_OPTS_DEFAULT} $SE_JAVA_OPTS" fi +if [ -n "${JAVA_OPTS:-$SE_JAVA_OPTS}" ]; then + echo "Using JAVA_OPTS: ${JAVA_OPTS:-$SE_JAVA_OPTS}" +fi + function handle_heap_dump() { /opt/bin/handle_heap_dump.sh $SELENIUM_SERVER_PID /opt/selenium/logs } diff --git a/NodeDocker/start-selenium-grid-docker.sh b/NodeDocker/start-selenium-grid-docker.sh index 940e44c20..c54c7fcb4 100755 --- a/NodeDocker/start-selenium-grid-docker.sh +++ b/NodeDocker/start-selenium-grid-docker.sh @@ -117,7 +117,6 @@ if [ "${SE_ENABLE_TRACING}" = "true" ] && [ -n "${SE_OTEL_EXPORTER_ENDPOINT}" ]; SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.java.global-autoconfigure.enabled=${SE_OTEL_JAVA_GLOBAL_AUTOCONFIGURE_ENABLED}" fi if [ -n "$SE_OTEL_JVM_ARGS" ]; then - echo "List arguments for OpenTelemetry: ${SE_OTEL_JVM_ARGS}" SE_JAVA_OPTS="$SE_JAVA_OPTS ${SE_OTEL_JVM_ARGS}" fi else @@ -134,6 +133,10 @@ if [ -n "${SE_JAVA_OPTS_DEFAULT}" ]; then SE_JAVA_OPTS="${SE_JAVA_OPTS_DEFAULT} $SE_JAVA_OPTS" fi +if [ -n "${JAVA_OPTS:-$SE_JAVA_OPTS}" ]; then + echo "Using JAVA_OPTS: ${JAVA_OPTS:-$SE_JAVA_OPTS}" +fi + function handle_heap_dump() { /opt/bin/handle_heap_dump.sh $SELENIUM_SERVER_PID /opt/selenium/logs } diff --git a/Router/start-selenium-grid-router.sh b/Router/start-selenium-grid-router.sh index 14269d66c..14e90b37c 100755 --- a/Router/start-selenium-grid-router.sh +++ b/Router/start-selenium-grid-router.sh @@ -151,7 +151,6 @@ if [ "${SE_ENABLE_TRACING}" = "true" ] && [ -n "${SE_OTEL_EXPORTER_ENDPOINT}" ]; SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.java.global-autoconfigure.enabled=${SE_OTEL_JAVA_GLOBAL_AUTOCONFIGURE_ENABLED}" fi if [ -n "$SE_OTEL_JVM_ARGS" ]; then - echo "List arguments for OpenTelemetry: ${SE_OTEL_JVM_ARGS}" SE_JAVA_OPTS="$SE_JAVA_OPTS ${SE_OTEL_JVM_ARGS}" fi else @@ -168,6 +167,10 @@ if [ -n "${SE_JAVA_OPTS_DEFAULT}" ]; then SE_JAVA_OPTS="${SE_JAVA_OPTS_DEFAULT} $SE_JAVA_OPTS" fi +if [ -n "${JAVA_OPTS:-$SE_JAVA_OPTS}" ]; then + echo "Using JAVA_OPTS: ${JAVA_OPTS:-$SE_JAVA_OPTS}" +fi + function handle_heap_dump() { /opt/bin/handle_heap_dump.sh $SELENIUM_SERVER_PID /opt/selenium/logs } diff --git a/SessionQueue/start-selenium-grid-session-queue.sh b/SessionQueue/start-selenium-grid-session-queue.sh index 6af6c05c9..54e2e65e3 100755 --- a/SessionQueue/start-selenium-grid-session-queue.sh +++ b/SessionQueue/start-selenium-grid-session-queue.sh @@ -104,7 +104,6 @@ if [ "${SE_ENABLE_TRACING}" = "true" ] && [ -n "${SE_OTEL_EXPORTER_ENDPOINT}" ]; SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.java.global-autoconfigure.enabled=${SE_OTEL_JAVA_GLOBAL_AUTOCONFIGURE_ENABLED}" fi if [ -n "$SE_OTEL_JVM_ARGS" ]; then - echo "List arguments for OpenTelemetry: ${SE_OTEL_JVM_ARGS}" SE_JAVA_OPTS="$SE_JAVA_OPTS ${SE_OTEL_JVM_ARGS}" fi else @@ -121,6 +120,10 @@ if [ -n "${SE_JAVA_OPTS_DEFAULT}" ]; then SE_JAVA_OPTS="${SE_JAVA_OPTS_DEFAULT} $SE_JAVA_OPTS" fi +if [ -n "${JAVA_OPTS:-$SE_JAVA_OPTS}" ]; then + echo "Using JAVA_OPTS: ${JAVA_OPTS:-$SE_JAVA_OPTS}" +fi + function handle_heap_dump() { /opt/bin/handle_heap_dump.sh $SELENIUM_SERVER_PID /opt/selenium/logs } diff --git a/Sessions/start-selenium-grid-sessions.sh b/Sessions/start-selenium-grid-sessions.sh index 6ce13b456..df16d1065 100755 --- a/Sessions/start-selenium-grid-sessions.sh +++ b/Sessions/start-selenium-grid-sessions.sh @@ -126,7 +126,6 @@ if [ "${SE_ENABLE_TRACING}" = "true" ] && [ -n "${SE_OTEL_EXPORTER_ENDPOINT}" ]; SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.java.global-autoconfigure.enabled=${SE_OTEL_JAVA_GLOBAL_AUTOCONFIGURE_ENABLED}" fi if [ -n "$SE_OTEL_JVM_ARGS" ]; then - echo "List arguments for OpenTelemetry: ${SE_OTEL_JVM_ARGS}" SE_JAVA_OPTS="$SE_JAVA_OPTS ${SE_OTEL_JVM_ARGS}" fi else @@ -156,6 +155,10 @@ if [ -n "${SE_JAVA_OPTS_DEFAULT}" ]; then SE_JAVA_OPTS="${SE_JAVA_OPTS_DEFAULT} $SE_JAVA_OPTS" fi +if [ -n "${JAVA_OPTS:-$SE_JAVA_OPTS}" ]; then + echo "Using JAVA_OPTS: ${JAVA_OPTS:-$SE_JAVA_OPTS}" +fi + function handle_heap_dump() { /opt/bin/handle_heap_dump.sh $SELENIUM_SERVER_PID /opt/selenium/logs } diff --git a/Standalone/start-selenium-standalone.sh b/Standalone/start-selenium-standalone.sh index 1801136ef..c0d5e8334 100755 --- a/Standalone/start-selenium-standalone.sh +++ b/Standalone/start-selenium-standalone.sh @@ -149,7 +149,6 @@ if [ "${SE_ENABLE_TRACING}" = "true" ] && [ -n "${SE_OTEL_EXPORTER_ENDPOINT}" ]; SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.java.global-autoconfigure.enabled=${SE_OTEL_JAVA_GLOBAL_AUTOCONFIGURE_ENABLED}" fi if [ -n "$SE_OTEL_JVM_ARGS" ]; then - echo "List arguments for OpenTelemetry: ${SE_OTEL_JVM_ARGS}" SE_JAVA_OPTS="$SE_JAVA_OPTS ${SE_OTEL_JVM_ARGS}" fi else @@ -170,6 +169,10 @@ if [ -n "${SE_JAVA_OPTS_DEFAULT}" ]; then SE_JAVA_OPTS="${SE_JAVA_OPTS_DEFAULT} $SE_JAVA_OPTS" fi +if [ -n "${JAVA_OPTS:-$SE_JAVA_OPTS}" ]; then + echo "Using JAVA_OPTS: ${JAVA_OPTS:-$SE_JAVA_OPTS}" +fi + function handle_heap_dump() { /opt/bin/handle_heap_dump.sh $SELENIUM_SERVER_PID /opt/selenium/logs } diff --git a/StandaloneDocker/start-selenium-grid-docker.sh b/StandaloneDocker/start-selenium-grid-docker.sh index bede3a55a..c1ba7a7ec 100755 --- a/StandaloneDocker/start-selenium-grid-docker.sh +++ b/StandaloneDocker/start-selenium-grid-docker.sh @@ -118,7 +118,6 @@ if [ "${SE_ENABLE_TRACING}" = "true" ] && [ -n "${SE_OTEL_EXPORTER_ENDPOINT}" ]; SE_OTEL_JVM_ARGS="$SE_OTEL_JVM_ARGS -Dotel.java.global-autoconfigure.enabled=${SE_OTEL_JAVA_GLOBAL_AUTOCONFIGURE_ENABLED}" fi if [ -n "$SE_OTEL_JVM_ARGS" ]; then - echo "List arguments for OpenTelemetry: ${SE_OTEL_JVM_ARGS}" SE_JAVA_OPTS="$SE_JAVA_OPTS ${SE_OTEL_JVM_ARGS}" fi else @@ -135,6 +134,10 @@ if [ -n "${SE_JAVA_OPTS_DEFAULT}" ]; then SE_JAVA_OPTS="${SE_JAVA_OPTS_DEFAULT} $SE_JAVA_OPTS" fi +if [ -n "${JAVA_OPTS:-$SE_JAVA_OPTS}" ]; then + echo "Using JAVA_OPTS: ${JAVA_OPTS:-$SE_JAVA_OPTS}" +fi + function handle_heap_dump() { /opt/bin/handle_heap_dump.sh $SELENIUM_SERVER_PID /opt/selenium/logs } diff --git a/charts/selenium-grid/CONFIGURATION.md b/charts/selenium-grid/CONFIGURATION.md index f20e61435..1aab435a0 100644 --- a/charts/selenium-grid/CONFIGURATION.md +++ b/charts/selenium-grid/CONFIGURATION.md @@ -110,11 +110,16 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes | ingress.paths | list | `[]` | List of paths for the ingress resource. This will override the default path | | ingress.tls | list | `[]` | TLS backend configuration for ingress resource | | busConfigMap.nameOverride | string | `nil` | Override the name of the bus configMap | -| busConfigMap.data | object | `{}` | Override or add extra data to the ConfigMap. The property that appears last within the ConfigMap overwrites any preceding values | +| busConfigMap.data | object | `{"SE_JAVA_OPTS":"-XX:+UseG1GC -XX:MaxGCPauseMillis=1000 -XX:MaxRAMPercentage=100"}` | Override or add extra data to the ConfigMap. The property that appears last within the ConfigMap overwrites any preceding values | | busConfigMap.annotations | object | `{}` | Custom annotations for configmap | | sessionMapConfigMap.nameOverride | string | `nil` | Override the name of the session map configMap | +| sessionMapConfigMap.data | object | `{"SE_JAVA_OPTS":"-XX:+UseG1GC -XX:MaxGCPauseMillis=1000 -XX:MaxRAMPercentage=100"}` | Override or add extra data to the ConfigMap. The property that appears last within the ConfigMap overwrites any preceding values | | sessionMapConfigMap.annotations | object | `{}` | Custom annotations for configmap | +| sessionQueueConfigMap.nameOverride | string | `nil` | Override the name of the session map configMap | +| sessionQueueConfigMap.data | object | `{"SE_JAVA_OPTS":"-XX:+UseG1GC -XX:MaxGCPauseMillis=1000 -XX:MaxRAMPercentage=100"}` | Override or add extra data to the ConfigMap. The property that appears last within the ConfigMap overwrites any preceding values | +| sessionQueueConfigMap.annotations | object | `{}` | Custom annotations for configmap | | distributorConfigMap.nameOverride | string | `nil` | Override the name of the distributor configMap | +| distributorConfigMap.data | object | `{"SE_JAVA_OPTS":"-XX:+UseG1GC -XX:MaxGCPauseMillis=1000 -XX:MaxRAMPercentage=100"}` | Override or add extra data to the ConfigMap. The property that appears last within the ConfigMap overwrites any preceding values | | distributorConfigMap.defaultMode | int | `493` | Default mode for ConfigMap is mounted as file | | distributorConfigMap.extraScriptsImportFrom | string | `"configs/distributor/**"` | Directory where the extra scripts are imported to ConfigMap by default (if given a relative path, it should be in chart's directory) | | distributorConfigMap.extraScriptsDirectory | string | `"/opt/bin"` | Directory where the extra scripts are mounted to | @@ -122,6 +127,7 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes | distributorConfigMap.scriptVolumeMountName | string | `nil` | Name of volume mount is used to mount scripts in the ConfigMap. Default is same as this configMap name | | distributorConfigMap.annotations | object | `{}` | Custom annotations for configmap | | routerConfigMap.nameOverride | string | `nil` | Override the name of the router configMap | +| routerConfigMap.data | object | `{"SE_JAVA_OPTS":"-XX:+UseG1GC -XX:MaxGCPauseMillis=1000 -XX:MaxRAMPercentage=100"}` | Override or add extra data to the ConfigMap. The property that appears last within the ConfigMap overwrites any preceding values | | routerConfigMap.defaultMode | int | `493` | Default mode for ConfigMap is mounted as file | | routerConfigMap.extraScriptsImportFrom | string | `"configs/router/**"` | Directory where the extra scripts are imported to ConfigMap by default (if given a relative path, it should be in chart's directory) | | routerConfigMap.extraScriptsDirectory | string | `"/opt/bin"` | Directory where the extra scripts are mounted to | @@ -130,7 +136,7 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes | routerConfigMap.scriptVolumeMountName | string | `nil` | Name of volume mount is used to mount scripts in the ConfigMap | | routerConfigMap.annotations | object | `{}` | Custom annotations for configmap | | nodeConfigMap.nameOverride | string | `nil` | Override the name of the node configMap | -| nodeConfigMap.data | object | `{}` | Override or add extra data to the ConfigMap. The property that appears last within the ConfigMap overwrites any preceding values | +| nodeConfigMap.data | object | `{"SE_JAVA_OPTS":"-XX:+UseG1GC -XX:MaxGCPauseMillis=1000 -XX:MaxRAMPercentage=50"}` | Override or add extra data to the ConfigMap. The property that appears last within the ConfigMap overwrites any preceding values | | nodeConfigMap.defaultMode | int | `493` | Default mode for ConfigMap is mounted as file | | nodeConfigMap.extraScriptsImportFrom | string | `"configs/node/**"` | Directory where the extra scripts are imported to ConfigMap by default (if given a relative path, it should be in chart's directory) | | nodeConfigMap.extraScriptsDirectory | string | `"/opt/bin"` | Directory where the extra scripts are mounted to | @@ -160,15 +166,16 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes | uploaderConfigMap.scriptVolumeMountName | string | `nil` | Name of volume mount is used to mount scripts in the ConfigMap | | uploaderConfigMap.secretVolumeMountName | string | `nil` | Name of Secret is used to store the `secretFiles` | | uploaderConfigMap.annotations | object | `{}` | Custom annotations for configmap | -| loggingConfigMap | object | `{"annotations":{},"nameOverride":null}` | ConfigMap that contains common environment variables for Logging (https://www.selenium.dev/documentation/grid/configuration/cli_options/#logging) | +| loggingConfigMap | object | `{"annotations":{},"data":{},"nameOverride":null}` | ConfigMap that contains common environment variables for Logging (https://www.selenium.dev/documentation/grid/configuration/cli_options/#logging) | | loggingConfigMap.nameOverride | string | `nil` | Override the name of the logging configMap | +| loggingConfigMap.data | object | `{}` | Override or add extra data to the ConfigMap. The property that appears last within the ConfigMap overwrites any preceding values | | loggingConfigMap.annotations | object | `{}` | Custom annotations for configmap | | serverConfigMap.nameOverride | string | `nil` | Override the name of the server configMap | -| serverConfigMap.env | object | `{"SE_JAVA_OPTS":"-XX:+UseG1GC -Xmx1024m -Xms256m -XX:MaxGCPauseMillis=1000 -Djdk.httpclient.keepalive.timeout=300 -Djdk.httpclient.maxstreams=10000","SE_SUPERVISORD_LOG_LEVEL":"info"}` | Extra common environment variables for Server (https://www.selenium.dev/documentation/grid/configuration/cli_options/#server) to server configMap | +| serverConfigMap.data | object | `{"SE_SUPERVISORD_LOG_LEVEL":"info"}` | Extra common environment variables for Server (https://www.selenium.dev/documentation/grid/configuration/cli_options/#server) to server configMap | | serverConfigMap.annotations | object | `{}` | Custom annotations for configmap | | secrets.create | bool | `true` | Create the default secret for all components. If using an external secret, set to false and provide its name in `nameOverride` below | | secrets.nameOverride | string | `nil` | Override to use an external secret | -| secrets.env | object | `{"SE_VNC_PASSWORD":"secret"}` | Extra environment variables set to the secret | +| secrets.data | object | `{"SE_VNC_PASSWORD":"secret"}` | Extra environment variables set to the secret | | secrets.annotations | object | `{}` | Custom annotations for secret | | components.router.imageRegistry | string | `nil` | Registry to pull the image (this overwrites global.seleniumGrid.imageRegistry parameter) | | components.router.imageName | string | `"router"` | Router image name | @@ -187,7 +194,7 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes | components.router.startupProbe | object | `{"enabled":true,"failureThreshold":10,"initialDelaySeconds":5,"path":"/readyz","periodSeconds":10,"successThreshold":1,"timeoutSeconds":10}` | Startup probe settings | | components.router.readinessProbe | object | `{"enabled":true,"failureThreshold":10,"initialDelaySeconds":12,"path":"/readyz","periodSeconds":10,"successThreshold":1,"timeoutSeconds":10}` | Readiness probe settings | | components.router.livenessProbe | object | `{"enabled":true,"failureThreshold":30,"initialDelaySeconds":60,"path":"/readyz","periodSeconds":60,"successThreshold":1,"timeoutSeconds":60}` | Liveness probe settings | -| components.router.resources | object | `{}` | Resources for router container | +| components.router.resources | object | `{"limits":{"cpu":"1","memory":"2Gi"},"requests":{"cpu":"0.5","memory":"512Mi"}}` | Resources for router container | | components.router.securityContext | object | `{}` | SecurityContext for router container | | components.router.serviceType | string | `"ClusterIP"` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | | components.router.clusterIP | string | `""` | Set specific clusterIP when serviceType is ClusterIP (see https://kubernetes.io/docs/concepts/services-networking/service/#type-clusterip) | @@ -215,7 +222,7 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes | components.distributor.startupProbe | object | `{"enabled":true,"failureThreshold":10,"initialDelaySeconds":5,"path":"/readyz","periodSeconds":10,"successThreshold":1,"timeoutSeconds":10}` | Startup probe settings | | components.distributor.readinessProbe | object | `{"enabled":true,"failureThreshold":10,"initialDelaySeconds":12,"path":"/readyz","periodSeconds":10,"successThreshold":1,"timeoutSeconds":10}` | Readiness probe settings | | components.distributor.livenessProbe | object | `{"enabled":true,"failureThreshold":30,"initialDelaySeconds":60,"path":"/readyz","periodSeconds":60,"successThreshold":1,"timeoutSeconds":60}` | Liveness probe settings | -| components.distributor.resources | object | `{}` | Resources for Distributor container | +| components.distributor.resources | object | `{"limits":{"cpu":"1","memory":"2Gi"},"requests":{"cpu":"0.5","memory":"512Mi"}}` | Resources for Distributor container | | components.distributor.securityContext | object | `{}` | SecurityContext for Distributor container | | components.distributor.serviceType | string | `"ClusterIP"` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | | components.distributor.serviceAnnotations | object | `{}` | Custom annotations for Distributor service | @@ -240,7 +247,7 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes | components.eventBus.publishNodePort | int | `30442` | NodePort exposed where events are published | | components.eventBus.subscribePort | int | `4443` | Container port where to subscribe for events | | components.eventBus.subscribeNodePort | int | `30443` | NodePort exposed where to subscribe for events | -| components.eventBus.resources | object | `{}` | Resources for event-bus container | +| components.eventBus.resources | object | `{"limits":{"cpu":"1","memory":"2Gi"},"requests":{"cpu":"0.5","memory":"512Mi"}}` | Resources for event-bus container | | components.eventBus.securityContext | object | `{}` | SecurityContext for event-bus container | | components.eventBus.serviceType | string | `"ClusterIP"` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | | components.eventBus.clusterIP | string | `""` | Set specific clusterIP when serviceType is ClusterIP (see https://kubernetes.io/docs/concepts/services-networking/service/#type-clusterip) | @@ -263,7 +270,7 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes | components.sessionMap.topologySpreadConstraints | list | `[]` | Specify topologySpreadConstraints for Session Map pods, this overwrites global.seleniumGrid.topologySpreadConstraints parameter | | components.sessionMap.annotations | object | `{}` | Custom annotations for Session Map pods | | components.sessionMap.port | int | `5556` | Session Map container port | -| components.sessionMap.resources | object | `{}` | Resources for Session Map container | +| components.sessionMap.resources | object | `{"limits":{"cpu":"1","memory":"1Gi"},"requests":{"cpu":"0.5","memory":"512Mi"}}` | Resources for Session Map container | | components.sessionMap.securityContext | object | `{}` | SecurityContext for Session Map container | | components.sessionMap.serviceType | string | `"ClusterIP"` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | | components.sessionMap.serviceAnnotations | object | `{}` | Custom annotations for Session Map service | @@ -288,7 +295,7 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes | components.sessionQueue.annotations | object | `{}` | Custom annotations for Session Queue pods | | components.sessionQueue.port | int | `5559` | Session Queue container port | | components.sessionQueue.nodePort | int | `30559` | Session Queue expose NodePort | -| components.sessionQueue.resources | object | `{}` | Resources for Session Queue container | +| components.sessionQueue.resources | object | `{"limits":{"cpu":"1","memory":"1Gi"},"requests":{"cpu":"0.5","memory":"512Mi"}}` | Resources for Session Queue container | | components.sessionQueue.securityContext | object | `{}` | SecurityContext for Session Queue container | | components.sessionQueue.serviceType | string | `"ClusterIP"` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | | components.sessionQueue.serviceAnnotations | object | `{}` | Custom annotations for Session Queue service | @@ -326,7 +333,7 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes | hub.extraEnvFrom | list | `[]` | Custom environment variables by sourcing entire configMap, Secret, etc. for selenium-hub | | hub.extraVolumeMounts | list | `[]` | Extra volume mounts for Hub container | | hub.extraVolumes | list | `[]` | Extra volumes for Hub pod | -| hub.resources | object | `{}` | Resources for selenium-hub container | +| hub.resources | object | `{"limits":{"cpu":"1","memory":"2Gi"},"requests":{"cpu":"0.5","memory":"1Gi"}}` | Resources for selenium-hub container | | hub.securityContext | object | `{}` | SecurityContext for selenium-hub container | | hub.serviceType | string | `"ClusterIP"` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | | hub.clusterIP | string | `""` | Set specific clusterIP when serviceType is ClusterIP (see https://kubernetes.io/docs/concepts/services-networking/service/#type-clusterip) | @@ -627,8 +634,8 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes | videoRecorder.uploader.entryPointFileName | string | `"upload.sh"` | Uploader entry point file name | | videoRecorder.uploader.secrets | string | `nil` | For environment variables used in uploader which contains sensitive information, store in secret and refer envFrom Set config for rclone via ENV var with format: RCLONE_CONFIG_ + name of remote + _ + name of config file option (make it all uppercase) | | videoRecorder.ports | list | `[9000]` | Video recording container port | -| videoRecorder.resources.requests | object | `{"cpu":"1","memory":"1Gi"}` | Request resources for video recorder pods | -| videoRecorder.resources.limits | object | `{"cpu":"1","memory":"1Gi"}` | Limit resources for video recorder pods | +| videoRecorder.resources.requests | object | `{"cpu":"0.1","memory":"128Mi"}` | Request resources for video recorder pods | +| videoRecorder.resources.limits | object | `{"cpu":"0.5","memory":"1Gi"}` | Limit resources for video recorder pods | | videoRecorder.securityContext | string | `nil` | SecurityContext for recorder container | | videoRecorder.extraEnvironmentVariables | list | `[]` | Extra environment variables for video recorder | | videoRecorder.extraEnvFrom | list | `[]` | Custom environment variables by sourcing entire configMap, Secret, etc. for video recorder. | diff --git a/charts/selenium-grid/templates/_nameHelpers.tpl b/charts/selenium-grid/templates/_nameHelpers.tpl index 38c5267ee..059e15cdb 100644 --- a/charts/selenium-grid/templates/_nameHelpers.tpl +++ b/charts/selenium-grid/templates/_nameHelpers.tpl @@ -98,6 +98,13 @@ Session Map ConfigMap fullname {{- tpl (default (include "seleniumGrid.component.name" (list "selenium-session-map-config" $)) .Values.sessionMapConfigMap.nameOverride) $ | trunc 63 | trimSuffix "-" -}} {{- end -}} +{{/* +Session Queue ConfigMap fullname +*/}} +{{- define "seleniumGrid.sessionQueue.configmap.fullname" -}} +{{- tpl (default (include "seleniumGrid.component.name" (list "selenium-session-queue-config" $)) .Values.sessionQueueConfigMap.nameOverride) $ | trunc 63 | trimSuffix "-" -}} +{{- end -}} + {{/* Router fullname */}} diff --git a/charts/selenium-grid/templates/distributor-configmap.yaml b/charts/selenium-grid/templates/distributor-configmap.yaml index ede4aaf09..9403c6e36 100644 --- a/charts/selenium-grid/templates/distributor-configmap.yaml +++ b/charts/selenium-grid/templates/distributor-configmap.yaml @@ -28,3 +28,6 @@ data: {{- $fileName | nindent 2 -}}: {{- toYaml (default "" $value) | indent 4 }} {{- end }} {{- end }} +{{- range $key, $value := $.Values.distributorConfigMap.data }} + {{ $key }}: {{ tpl $value $ | quote }} +{{- end }} diff --git a/charts/selenium-grid/templates/event-bus-configmap.yaml b/charts/selenium-grid/templates/event-bus-configmap.yaml index 336d3f872..55e30469c 100644 --- a/charts/selenium-grid/templates/event-bus-configmap.yaml +++ b/charts/selenium-grid/templates/event-bus-configmap.yaml @@ -18,6 +18,6 @@ data: SE_EVENT_BUS_HOST: {{ $eventBusHost | quote }} SE_EVENT_BUS_PUBLISH_PORT: {{ $eventBusPublishPort | quote }} SE_EVENT_BUS_SUBSCRIBE_PORT: {{ $eventBusSubscribePort | quote }} -{{- with .Values.busConfigMap.data }} - {{- tpl (toYaml .) $ | nindent 2 }} +{{- range $key, $value := $.Values.busConfigMap.data }} + {{ $key }}: {{ tpl $value $ | quote }} {{- end }} diff --git a/charts/selenium-grid/templates/logging-configmap.yaml b/charts/selenium-grid/templates/logging-configmap.yaml index d1c090696..03df5c680 100644 --- a/charts/selenium-grid/templates/logging-configmap.yaml +++ b/charts/selenium-grid/templates/logging-configmap.yaml @@ -21,3 +21,6 @@ data: SE_OTEL_JAVA_GLOBAL_AUTOCONFIGURE_ENABLED: {{ .Values.tracing.globalAutoConfigure | quote }} SE_OTEL_EXPORTER_ENDPOINT: {{ tpl .Values.tracing.exporterEndpoint $ | quote }} {{- end }} +{{- range $key, $value := $.Values.loggingConfigMap.data }} + {{ $key }}: {{ tpl $value $ | quote }} +{{- end }} diff --git a/charts/selenium-grid/templates/node-configmap.yaml b/charts/selenium-grid/templates/node-configmap.yaml index 281ea1d31..297ea79e5 100644 --- a/charts/selenium-grid/templates/node-configmap.yaml +++ b/charts/selenium-grid/templates/node-configmap.yaml @@ -41,9 +41,6 @@ data: SE_BROWSER_LEFTOVERS_TEMPFILES_DAYS: '{{ . }}' {{- end }} {{- end }} -{{- with .Values.nodeConfigMap.data }} - {{- tpl (toYaml .) $ | nindent 2 }} -{{- end }} {{- $fileProceeded := list -}} {{- range $path, $_ := .Files.Glob $.Values.nodeConfigMap.extraScriptsImportFrom }} {{- $fileName := base $path -}} @@ -60,3 +57,6 @@ data: {{- $fileName | nindent 2 -}}: {{- toYaml (default "" $value) | indent 4 }} {{- end }} {{- end }} +{{- range $key, $value := $.Values.nodeConfigMap.data }} + {{ $key }}: {{ tpl $value $ | quote }} +{{- end }} diff --git a/charts/selenium-grid/templates/router-configmap.yaml b/charts/selenium-grid/templates/router-configmap.yaml index 11ffe9809..54f3223a9 100644 --- a/charts/selenium-grid/templates/router-configmap.yaml +++ b/charts/selenium-grid/templates/router-configmap.yaml @@ -29,3 +29,6 @@ data: {{- $fileName | nindent 2 -}}: {{- toYaml (default "" $value) | indent 4 }} {{- end }} {{- end }} +{{- range $key, $value := $.Values.routerConfigMap.data }} + {{ $key }}: {{ tpl $value $ | quote }} +{{- end }} diff --git a/charts/selenium-grid/templates/secrets.yaml b/charts/selenium-grid/templates/secrets.yaml index 2b5c4c0c3..b067a0c8e 100644 --- a/charts/selenium-grid/templates/secrets.yaml +++ b/charts/selenium-grid/templates/secrets.yaml @@ -14,13 +14,6 @@ metadata: {{- end }} type: Opaque data: -{{- range $name, $value := .Values.secrets.env }} -{{- if not (empty $value) }} - {{- $_ := set $ "name" $name }} - {{- $_ := set $ "value" $value }} - {{ $name }}: {{ tpl ($value) $ | b64enc }} -{{- end }} -{{- end }} SE_NODE_GRID_URL: {{ include "seleniumGrid.url" $ | b64enc }} SE_NODE_GRID_GRAPHQL_URL: {{ include "seleniumGrid.graphqlURL" $ | b64enc }} {{- with $.Values.tls.trustStorePassword }} @@ -49,4 +42,11 @@ data: {{- end }} {{- end }} {{- end }} +{{- range $name, $value := .Values.secrets.data }} +{{- if not (empty $value) }} + {{- $_ := set $ "name" $name }} + {{- $_ = set $ "value" $value }} + {{ $name }}: {{ tpl ($value) $ | b64enc }} +{{- end }} +{{- end }} {{- end }} diff --git a/charts/selenium-grid/templates/server-configmap.yaml b/charts/selenium-grid/templates/server-configmap.yaml index 0018c0f3c..9a2ac7326 100644 --- a/charts/selenium-grid/templates/server-configmap.yaml +++ b/charts/selenium-grid/templates/server-configmap.yaml @@ -3,7 +3,7 @@ kind: ConfigMap metadata: name: {{ template "seleniumGrid.server.configmap.fullname" . }} namespace: {{ .Release.Namespace }} -{{- with .Values.busConfigMap.annotations }} +{{- with .Values.serverConfigMap.annotations }} annotations: {{- toYaml . | nindent 4 }} {{- end }} labels: @@ -21,6 +21,6 @@ data: SE_JAVA_SSL_TRUST_STORE_PASSWORD: {{ printf "%s/%s" .Values.tls.certVolumeMountPath .Values.tls.trustStorePasswordFile | quote }} SE_JAVA_DISABLE_HOSTNAME_VERIFICATION: {{ .Values.tls.disableHostnameVerification | quote }} {{- end }} -{{- range $key, $value := .Values.serverConfigMap.env }} - {{ $key }}: {{ $value | quote }} +{{- range $key, $value := $.Values.serverConfigMap.data }} + {{ $key }}: {{ tpl $value $ | quote }} {{- end }} diff --git a/charts/selenium-grid/templates/session-map-configmap.yaml b/charts/selenium-grid/templates/session-map-configmap.yaml index da89d54dc..b3c4261c5 100644 --- a/charts/selenium-grid/templates/session-map-configmap.yaml +++ b/charts/selenium-grid/templates/session-map-configmap.yaml @@ -42,4 +42,7 @@ data: {{- else }} SE_SESSIONS_MAP_EXTERNAL_DATASTORE: "false" {{- end }} +{{- range $key, $value := $.Values.sessionMapConfigMap.data }} + {{ $key }}: {{ tpl $value $ | quote }} +{{- end }} {{- end }} diff --git a/charts/selenium-grid/templates/session-queue-configmap.yaml b/charts/selenium-grid/templates/session-queue-configmap.yaml new file mode 100644 index 000000000..7d029920c --- /dev/null +++ b/charts/selenium-grid/templates/session-queue-configmap.yaml @@ -0,0 +1,19 @@ +{{- if .Values.isolateComponents }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ template "seleniumGrid.sessionQueue.configmap.fullname" . }} + namespace: {{ .Release.Namespace }} +{{- with .Values.sessionQueueConfigMap.annotations }} + annotations: {{- toYaml . | nindent 4 }} +{{- end }} + labels: + {{- include "seleniumGrid.commonLabels" . | nindent 4 }} + {{- with .Values.customLabels }} + {{- toYaml . | nindent 4 }} + {{- end }} +data: +{{- range $key, $value := $.Values.sessionQueueConfigMap.data }} + {{ $key }}: {{ tpl $value $ | quote }} +{{- end }} +{{- end }} diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index 2affc34da..896176f94 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -233,7 +233,8 @@ busConfigMap: # -- Override the name of the bus configMap nameOverride: # -- Override or add extra data to the ConfigMap. The property that appears last within the ConfigMap overwrites any preceding values - data: {} + data: + SE_JAVA_OPTS: "-XX:+UseG1GC -XX:MaxGCPauseMillis=1000 -XX:MaxRAMPercentage=100" # -- Custom annotations for configmap annotations: {} @@ -241,12 +242,28 @@ busConfigMap: sessionMapConfigMap: # -- Override the name of the session map configMap nameOverride: + # -- Override or add extra data to the ConfigMap. The property that appears last within the ConfigMap overwrites any preceding values + data: + SE_JAVA_OPTS: "-XX:+UseG1GC -XX:MaxGCPauseMillis=1000 -XX:MaxRAMPercentage=100" + # -- Custom annotations for configmap + annotations: {} + +# ConfigMap that contains environment variables for session queue +sessionQueueConfigMap: + # -- Override the name of the session map configMap + nameOverride: + # -- Override or add extra data to the ConfigMap. The property that appears last within the ConfigMap overwrites any preceding values + data: + SE_JAVA_OPTS: "-XX:+UseG1GC -XX:MaxGCPauseMillis=1000 -XX:MaxRAMPercentage=100" # -- Custom annotations for configmap annotations: {} distributorConfigMap: # -- Override the name of the distributor configMap nameOverride: + # -- Override or add extra data to the ConfigMap. The property that appears last within the ConfigMap overwrites any preceding values + data: + SE_JAVA_OPTS: "-XX:+UseG1GC -XX:MaxGCPauseMillis=1000 -XX:MaxRAMPercentage=100" # -- Default mode for ConfigMap is mounted as file defaultMode: 0755 # -- Directory where the extra scripts are imported to ConfigMap by default (if given a relative path, it should be in chart's directory) @@ -264,6 +281,9 @@ distributorConfigMap: routerConfigMap: # -- Override the name of the router configMap nameOverride: + # -- Override or add extra data to the ConfigMap. The property that appears last within the ConfigMap overwrites any preceding values + data: + SE_JAVA_OPTS: "-XX:+UseG1GC -XX:MaxGCPauseMillis=1000 -XX:MaxRAMPercentage=100" # -- Default mode for ConfigMap is mounted as file defaultMode: 0755 # -- Directory where the extra scripts are imported to ConfigMap by default (if given a relative path, it should be in chart's directory) @@ -285,7 +305,8 @@ nodeConfigMap: # -- Override the name of the node configMap nameOverride: # -- Override or add extra data to the ConfigMap. The property that appears last within the ConfigMap overwrites any preceding values - data: {} + data: + SE_JAVA_OPTS: "-XX:+UseG1GC -XX:MaxGCPauseMillis=1000 -XX:MaxRAMPercentage=50" # -- Default mode for ConfigMap is mounted as file defaultMode: 0755 # -- Directory where the extra scripts are imported to ConfigMap by default (if given a relative path, it should be in chart's directory) @@ -359,6 +380,8 @@ uploaderConfigMap: loggingConfigMap: # -- Override the name of the logging configMap nameOverride: + # -- Override or add extra data to the ConfigMap. The property that appears last within the ConfigMap overwrites any preceding values + data: {} # -- Custom annotations for configmap annotations: {} @@ -366,8 +389,7 @@ serverConfigMap: # -- Override the name of the server configMap nameOverride: # -- Extra common environment variables for Server (https://www.selenium.dev/documentation/grid/configuration/cli_options/#server) to server configMap - env: - SE_JAVA_OPTS: "-XX:+UseG1GC -Xmx1024m -Xms256m -XX:MaxGCPauseMillis=1000 -Djdk.httpclient.keepalive.timeout=300 -Djdk.httpclient.maxstreams=10000" + data: # Log level of supervisord. Accept values: critical, error, warn, info, debug, trace, blather (http://supervisord.org/logging.html) SE_SUPERVISORD_LOG_LEVEL: "info" # -- Custom annotations for configmap @@ -380,7 +402,7 @@ secrets: # -- Override to use an external secret nameOverride: # -- Extra environment variables set to the secret - env: + data: SE_VNC_PASSWORD: "secret" # -- Custom annotations for secret annotations: {} @@ -447,7 +469,13 @@ components: periodSeconds: 60 successThreshold: 1 # -- Resources for router container - resources: {} + resources: + requests: + cpu: "0.5" + memory: "512Mi" + limits: + cpu: "1" + memory: "2Gi" # -- SecurityContext for router container securityContext: {} # -- Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) @@ -529,7 +557,13 @@ components: periodSeconds: 60 successThreshold: 1 # -- Resources for Distributor container - resources: {} + resources: + requests: + cpu: "0.5" + memory: "512Mi" + limits: + cpu: "1" + memory: "2Gi" # -- SecurityContext for Distributor container securityContext: {} # -- Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) @@ -584,7 +618,13 @@ components: # -- NodePort exposed where to subscribe for events subscribeNodePort: 30443 # -- Resources for event-bus container - resources: {} + resources: + requests: + cpu: "0.5" + memory: "512Mi" + limits: + cpu: "1" + memory: "2Gi" # -- SecurityContext for event-bus container securityContext: {} # -- Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) @@ -635,7 +675,13 @@ components: # -- Session Map container port port: 5556 # -- Resources for Session Map container - resources: {} + resources: + requests: + cpu: "0.5" + memory: "512Mi" + limits: + cpu: "1" + memory: "1Gi" # -- SecurityContext for Session Map container securityContext: {} # -- Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) @@ -699,7 +745,13 @@ components: # -- Session Queue expose NodePort nodePort: 30559 # -- Resources for Session Queue container - resources: {} + resources: + requests: + cpu: "0.5" + memory: "512Mi" + limits: + cpu: "1" + memory: "1Gi" # -- SecurityContext for Session Queue container securityContext: {} # -- Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) @@ -836,7 +888,13 @@ hub: # persistentVolumeClaim: # claimName: external-logs-pvc # -- Resources for selenium-hub container - resources: {} + resources: + requests: + cpu: "0.5" + memory: "1Gi" + limits: + cpu: "1" + memory: "2Gi" # -- SecurityContext for selenium-hub container securityContext: {} # -- Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) @@ -1836,12 +1894,12 @@ videoRecorder: resources: # -- Request resources for video recorder pods requests: - memory: "1Gi" - cpu: "1" + memory: "128Mi" + cpu: "0.1" # -- Limit resources for video recorder pods limits: memory: "1Gi" - cpu: "1" + cpu: "0.5" # -- SecurityContext for recorder container securityContext: # -- Extra environment variables for video recorder