Skip to content

Commit

Permalink
chart(add): Grid scaler use trigger auth to secure GraphQL endpoint
Browse files Browse the repository at this point in the history
Signed-off-by: Viet Nguyen Duc <[email protected]>
  • Loading branch information
VietND96 committed Sep 20, 2024
1 parent 91969c0 commit c45f709
Show file tree
Hide file tree
Showing 21 changed files with 181 additions and 60 deletions.
9 changes: 8 additions & 1 deletion Video/video.sh
Original file line number Diff line number Diff line change
Expand Up @@ -203,8 +203,15 @@ else
if [[ "$session_id" != "null" && "$session_id" != "" && "$session_id" != "reserved" && "$recording_started" = "false" ]]; then
echo "$(date +%FT%T%Z) [${process_name}] - Session: $session_id is created"
return_list=($(bash ${VIDEO_CONFIG_DIRECTORY}/video_graphQLQuery.sh "$session_id"))
caps_se_video_record=${return_list[0]}
caps_se_video_record="${return_list[0]}"
video_file_name="${return_list[1]}.mp4"
endpoint_status="${return_list[2]}"
endpoint_url="${return_list[3]}"
if [[ "${endpoint_status}" = "401" ]]; then
echo "$(date +%FT%T%Z) [${process_name}] - GraphQL endpoint requires authentication, please set env variables SE_ROUTER_USERNAME and SE_ROUTER_PASSWORD"
elif [[ "${endpoint_status}" = "404" ]]; then
echo "$(date +%FT%T%Z) [${process_name}] -GraphQL endpoint could not be found, please check the endpoint ${endpoint_url}"
fi
echo "$(date +%FT%T%Z) [${process_name}] - Start recording: $caps_se_video_record, video file name: $video_file_name"
log_node_response
fi
Expand Down
7 changes: 6 additions & 1 deletion Video/video_graphQLQuery.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ if [[ -n ${GRAPHQL_ENDPOINT} ]] && [[ ! ${GRAPHQL_ENDPOINT} == */graphql ]]; the
GRAPHQL_ENDPOINT="${GRAPHQL_ENDPOINT}/graphql"
fi

BASIC_AUTH="$(echo -n "${SE_ROUTER_USERNAME}:${SE_ROUTER_PASSWORD}" | base64)"

VIDEO_CAP_NAME=${VIDEO_CAP_NAME:-"se:recordVideo"}
TEST_NAME_CAP=${TEST_NAME_CAP:-"se:name"}
VIDEO_NAME_CAP=${VIDEO_NAME_CAP:-"se:videoName"}
Expand All @@ -27,12 +29,15 @@ if [ -n "${GRAPHQL_ENDPOINT}" ]; then
# Send GraphQL query
endpoint_checks=$(curl --noproxy "*" -m ${max_time} -k -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Basic ${BASIC_AUTH}" \
--data '{"query":"{ session (id: \"'${SESSION_ID}'\") { id, capabilities, startTime, uri, nodeId, nodeUri, sessionDurationMillis, slot { id, stereotype, lastStarted } } } "}' \
-s "${GRAPHQL_ENDPOINT}" -o "/tmp/graphQL_${SESSION_ID}.json" -w "%{http_code}")
current_check=$((current_check + 1))
# Check if the response contains "capabilities"
if [[ "$endpoint_checks" = "404" ]] || [[ $current_check -eq $retry_time ]]; then
break
elif [[ "$endpoint_checks" = "401" ]] || [[ $current_check -eq $retry_time ]]; then
break
elif [[ "$endpoint_checks" = "200" ]] && [[ $(jq -e '.data.session.capabilities | fromjson | ."'se:vncEnabled'"' /tmp/graphQL_${SESSION_ID}.json >/dev/null) -eq 0 ]]; then
break
fi
Expand Down Expand Up @@ -73,7 +78,7 @@ fi
# Normalize the video file name
TEST_NAME="$(echo "${TEST_NAME}" | tr ' ' '_' | tr -dc "${VIDEO_FILE_NAME_TRIM}" | cut -c 1-251)"

return_array=("${RECORD_VIDEO}" "${TEST_NAME}")
return_array=("${RECORD_VIDEO}" "${TEST_NAME}" "${endpoint_checks}" "${GRAPHQL_ENDPOINT}")

# stdout the values for other scripts consuming
echo "${return_array[@]}"
7 changes: 2 additions & 5 deletions Video/video_gridUrl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,15 @@

max_time=3

if [ -n "${SE_ROUTER_USERNAME}" ] && [ -n "${SE_ROUTER_PASSWORD}" ]; then
BASIC_AUTH="${SE_ROUTER_USERNAME}:${SE_ROUTER_PASSWORD}@"
fi
if [ "${SE_SUB_PATH}" = "/" ]; then
SE_SUB_PATH=""
fi

grid_url="${SE_NODE_GRID_URL}"
if [ -n "${SE_HUB_HOST:-$SE_ROUTER_HOST}" ] && [ -n "${SE_HUB_PORT:-$SE_ROUTER_PORT}" ]; then
grid_url=${SE_SERVER_PROTOCOL}://${BASIC_AUTH}${SE_HUB_HOST:-$SE_ROUTER_HOST}:${SE_HUB_PORT:-$SE_ROUTER_PORT}${SE_SUB_PATH}
grid_url=${SE_SERVER_PROTOCOL}://${SE_HUB_HOST:-$SE_ROUTER_HOST}:${SE_HUB_PORT:-$SE_ROUTER_PORT}${SE_SUB_PATH}
elif [ -n "${DISPLAY_CONTAINER_NAME}" ] && [ "${SE_VIDEO_RECORD_STANDALONE}" = "true" ]; then
grid_url="${SE_SERVER_PROTOCOL}://${BASIC_AUTH}${DISPLAY_CONTAINER_NAME}:${SE_NODE_PORT:-4444}${SE_SUB_PATH}" # For standalone mode
grid_url="${SE_SERVER_PROTOCOL}://${DISPLAY_CONTAINER_NAME}:${SE_NODE_PORT:-4444}${SE_SUB_PATH}" # For standalone mode
fi

if [[ ${grid_url} == */ ]]; then
Expand Down
6 changes: 3 additions & 3 deletions charts/selenium-grid/CONFIGURATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,11 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes
| tls.disableHostnameVerification | bool | `true` | Disable verification the hostname included in the server's TLS/SSL certificates matches the hostnames provided |
| registrationSecret.enabled | bool | `false` | Enable feature node registration secret to make sure that the node is one you control and not a rouge node |
| registrationSecret.value | string | `"HappyTesting"` | The secret value to be used for node registration |
| basicAuth.nameOverride | string | `""` | External secret containing the basic auth username and password for reference |
| basicAuth.enabled | bool | `false` | Enable or disable basic auth for the Hub/Router |
| basicAuth.username | string | `"admin"` | Username for basic auth |
| basicAuth.password | string | `"admin"` | Password for basic auth |
| basicAuth.annotations | object | `{}` | Annotations for basic auth secret resource |
| isolateComponents | bool | `false` | Deploy Router, Distributor, EventBus, SessionMap and Nodes separately |
| serviceAccount.create | bool | `true` | Create a service account for all components |
| serviceAccount.nameOverride | string | `nil` | Override to use an external service account |
Expand Down Expand Up @@ -300,6 +302,7 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes
| autoscaling.enabled | bool | `false` | Enable autoscaling. Implies installing KEDA |
| autoscaling.enableWithExistingKEDA | bool | `false` | Enable autoscaling without automatically installing KEDA |
| autoscaling.scalingType | string | `"job"` | Which type of KEDA scaling to use: job or deployment |
| autoscaling.authenticationRef | object | `{"name":""}` | Specify an external KEDA TriggerAuthentication resource is used for scaler triggers config. Apply for all browser nodes |
| autoscaling.annotations | object | `{"helm.sh/hook":"post-install,post-upgrade,post-rollback","helm.sh/hook-weight":"1"}` | Annotations for KEDA resources: ScaledObject and ScaledJob |
| autoscaling.patchObjectFinalizers.nameOverride | string | `nil` | Override the name of the patch job |
| autoscaling.patchObjectFinalizers.enabled | bool | `true` | Enable patching finalizers for KEDA scaled resources. Workaround for Hook post-upgrade selenium-grid/templates/x-node-hpa.yaml failed: object is being deleted: scaledobjects.keda.sh "x" already exists |
Expand Down Expand Up @@ -361,7 +364,6 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes
| chromeNode.scaledOptions | string | `nil` | Override the scaled options for chrome nodes |
| chromeNode.scaledJobOptions | string | `nil` | Override the scaledJobOptions for chrome nodes |
| chromeNode.scaledObjectOptions | string | `nil` | Override the scaledObjectOptions for chrome nodes |
| chromeNode.hpa.url | string | `"{{ template \"seleniumGrid.graphqlURL\" . }}"` | Graphql endpoint for the HPA to fetch metrics |
| chromeNode.hpa.browserName | string | `"chrome"` | browserName from the capability |
| chromeNode.hpa.sessionBrowserName | string | `"chrome"` | sessionBrowserName if the browserName is different from the sessionBrowserName |
| chromeNode.hpa.platformName | string | `"linux"` | platformName from the capability |
Expand Down Expand Up @@ -411,7 +413,6 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes
| firefoxNode.scaledOptions | string | `nil` | Override the scaled options for firefox nodes |
| firefoxNode.scaledJobOptions | string | `nil` | Override the scaledJobOptions for firefox nodes |
| firefoxNode.scaledObjectOptions | string | `nil` | Override the scaledObjectOptions for firefox nodes |
| firefoxNode.hpa.url | string | `"{{ template \"seleniumGrid.graphqlURL\" . }}"` | Graphql endpoint for the HPA to fetch metrics |
| firefoxNode.hpa.browserName | string | `"firefox"` | browserName from the capability |
| firefoxNode.hpa.sessionBrowserName | string | `"firefox"` | sessionBrowserName if the browserName is different from the sessionBrowserName |
| firefoxNode.hpa.platformName | string | `"linux"` | platformName from the capability |
Expand Down Expand Up @@ -461,7 +462,6 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes
| edgeNode.scaledOptions | string | `nil` | Override the scaled options for edge nodes |
| edgeNode.scaledJobOptions | string | `nil` | Override the scaledJobOptions for edge nodes |
| edgeNode.scaledObjectOptions | string | `nil` | Override the scaledObjectOptions for edge nodes |
| edgeNode.hpa.url | string | `"{{ template \"seleniumGrid.graphqlURL\" . }}"` | Graphql endpoint for the HPA to fetch metrics |
| edgeNode.hpa.browserName | string | `"MicrosoftEdge"` | browserName from the capability |
| edgeNode.hpa.sessionBrowserName | string | `"msedge"` | sessionBrowserName if the browserName is different from the sessionBrowserName |
| edgeNode.hpa.platformName | string | `"linux"` | platformName from the capability |
Expand Down
5 changes: 4 additions & 1 deletion charts/selenium-grid/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ This chart enables the creation of a Selenium Grid Server in Kubernetes.
* [Installing the Nightly chart](#installing-the-nightly-chart)
* [Chart Release Name convention](#chart-release-name-convention)
* [Enable Selenium Grid Autoscaling](#enable-selenium-grid-autoscaling)
* [Preview new changes in Selenium Grid Scaler implementation](#preview-new-changes-in-selenium-grid-scaler-implementation)
* [Settings common for both `job` and `deployment` scalingType](#settings-common-for-both-job-and-deployment-scalingtype)
* [Settings when scalingType with `deployment`](#settings-when-scalingtype-with-deployment-)
* [Settings when scalingType with `job`](#settings-when-scalingtype-with-job)
Expand Down Expand Up @@ -127,7 +128,9 @@ or [jobs](https://keda.sh/docs/latest/concepts/scaling-jobs/) and the charts sup
chart support both modes. It is controlled with `autoscaling.scalingType` that can be set to either
job (default) or deployment.

Preview new changes in Selenium Grid scaler implementation. Refer to [README](../../.keda/README.md)
### Preview new changes in Selenium Grid Scaler implementation

Refer to [README](../../.keda/README.md)

### Settings common for both `job` and `deployment` scalingType

Expand Down
16 changes: 13 additions & 3 deletions charts/selenium-grid/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,10 @@ triggers:
{{- with .node.hpa }}
{{- tpl (toYaml .) $ | nindent 6 }}
{{- end }}
{{- if not .node.hpa.authenticationRef }}
authenticationRef:
name: {{ template "seleniumGrid.autoscaling.authenticationRef.fullname" $ }}
{{- end }}
{{- end }}
{{- end -}}

Expand Down Expand Up @@ -313,7 +317,7 @@ template:
- name: "pre-puller-{{ $.Values.videoRecorder.name }}"
image: {{ printf "%s/%s:%s" $videoImageRegistry $.Values.videoRecorder.imageName $videoImageTag }}
command: ["bash", "-c", "'true'"]
{{- with .node.resources }}
{{- with $.Values.videoRecorder.resources }}
resources: {{- toYaml . | nindent 10 }}
{{- end }}
{{- end }}
Expand Down Expand Up @@ -358,7 +362,9 @@ template:
- configMapRef:
name: {{ template "seleniumGrid.server.configmap.fullname" $ }}
- secretRef:
name: {{ include "seleniumGrid.common.secrets.fullname" $ }}
name: {{ template "seleniumGrid.common.secrets.fullname" $ }}
- secretRef:
name: {{ template "seleniumGrid.basicAuth.secrets.fullname" $ }}
{{- with .node.extraEnvFrom }}
{{- tpl (toYaml .) $ | nindent 10 }}
{{- end }}
Expand Down Expand Up @@ -481,6 +487,8 @@ template:
name: {{ template "seleniumGrid.recorder.configmap.fullname" $ }}
- configMapRef:
name: {{ template "seleniumGrid.server.configmap.fullname" $ }}
- secretRef:
name: {{ template "seleniumGrid.basicAuth.secrets.fullname" $ }}
{{- if and $.Values.videoRecorder.uploader.enabled (empty $.Values.videoRecorder.uploader.name) }}
- secretRef:
name: {{ tpl (default (include "seleniumGrid.common.secrets.fullname" $) $.Values.uploaderConfigMap.secretVolumeMountName) $ }}
Expand Down Expand Up @@ -538,6 +546,8 @@ template:
envFrom:
- configMapRef:
name: {{ template "seleniumGrid.uploader.configmap.fullname" $ }}
- secretRef:
name: {{ template "seleniumGrid.basicAuth.secrets.fullname" $ }}
- secretRef:
name: {{ tpl (default (include "seleniumGrid.common.secrets.fullname" $) $.Values.uploaderConfigMap.secretVolumeMountName) $ }}
{{- with .uploader.extraEnvFrom }}
Expand Down Expand Up @@ -621,7 +631,7 @@ Get the url of the grid. If the external url can be figured out from the ingress
Get the url of the grid server in the cluster
*/}}
{{- define "seleniumGrid.server.url" -}}
{{- $url := printf "%s://%s%s%s%s" (include "seleniumGrid.server.url.schema" .) (include "seleniumGrid.url.basicAuth" .) (include "seleniumGrid.server.url.host" .) (include "seleniumGrid.server.url.port" .) (include "seleniumGrid.url.subPath" .) -}}
{{- $url := printf "%s://%s%s%s" (include "seleniumGrid.server.url.schema" .) (include "seleniumGrid.server.url.host" .) (include "seleniumGrid.server.url.port" .) (include "seleniumGrid.url.subPath" .) -}}
{{- $url }}
{{- end -}}

Expand Down
14 changes: 14 additions & 0 deletions charts/selenium-grid/templates/_nameHelpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,20 @@ Common secrets cross components
{{- tpl (default (include "seleniumGrid.component.name" (list "selenium-secrets" $)) .Values.secrets.nameOverride) $ | trunc 63 | trimSuffix "-" -}}
{{- end -}}

{{/*
Basic authentication secrets for components fullname
*/}}
{{- define "seleniumGrid.basicAuth.secrets.fullname" -}}
{{- tpl (default (include "seleniumGrid.component.name" (list "selenium-basic-auth-secrets" $)) .Values.basicAuth.nameOverride) $ | trunc 63 | trimSuffix "-" -}}
{{- end -}}

{{/*
KEDA TriggerAuthentication resource fullname
*/}}
{{- define "seleniumGrid.autoscaling.authenticationRef.fullname" -}}
{{- tpl (default (include "seleniumGrid.component.name" (list "selenium-scaler-trigger-auth" $)) .Values.autoscaling.authenticationRef.name) $ | trunc 63 | trimSuffix "-" -}}
{{- end -}}

{{/*
Secret TLS fullname
*/}}
Expand Down
21 changes: 21 additions & 0 deletions charts/selenium-grid/templates/basic-auth-secret.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{{- if (not $.Values.basicAuth.nameOverride) }}
apiVersion: v1
kind: Secret
metadata:
name: {{ template "seleniumGrid.basicAuth.secrets.fullname" $ }}
namespace: {{ .Release.Namespace }}
{{- with .Values.basicAuth.annotations }}
annotations: {{- toYaml . | nindent 4 }}
{{- end }}
labels:
{{- include "seleniumGrid.commonLabels" $ | nindent 4 }}
{{- with .Values.customLabels }}
{{- toYaml . | nindent 4 }}
{{- end }}
type: Opaque
data:
{{- if eq .Values.basicAuth.enabled true }}
SE_ROUTER_USERNAME: {{ .Values.basicAuth.username | b64enc }}
SE_ROUTER_PASSWORD: {{ .Values.basicAuth.password | b64enc }}
{{- end }}
{{- end }}
4 changes: 3 additions & 1 deletion charts/selenium-grid/templates/distributor-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,9 @@ spec:
- configMapRef:
name: {{ template "seleniumGrid.server.configmap.fullname" . }}
- secretRef:
name: {{ include "seleniumGrid.common.secrets.fullname" $ | quote }}
name: {{ template "seleniumGrid.common.secrets.fullname" $ }}
- secretRef:
name: {{ template "seleniumGrid.basicAuth.secrets.fullname" $ }}
{{- with .Values.components.extraEnvFrom }}
{{- toYaml . | nindent 12 }}
{{- end }}
Expand Down
8 changes: 5 additions & 3 deletions charts/selenium-grid/templates/event-bus-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,13 @@ spec:
{{- end }}
envFrom:
- configMapRef:
name: {{ template "seleniumGrid.logging.configmap.fullname" . }}
name: {{ template "seleniumGrid.logging.configmap.fullname" $ }}
- configMapRef:
name: {{ template "seleniumGrid.server.configmap.fullname" . }}
name: {{ template "seleniumGrid.server.configmap.fullname" $ }}
- secretRef:
name: {{ template "seleniumGrid.common.secrets.fullname" . }}
name: {{ template "seleniumGrid.common.secrets.fullname" $ }}
- secretRef:
name: {{ template "seleniumGrid.basicAuth.secrets.fullname" $ }}
{{- with .Values.components.extraEnvFrom }}
{{- toYaml . | nindent 12 }}
{{- end }}
Expand Down
12 changes: 7 additions & 5 deletions charts/selenium-grid/templates/hub-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -130,15 +130,17 @@ spec:
{{- end }}
envFrom:
- configMapRef:
name: {{ template "seleniumGrid.distributor.configmap.fullname" . }}
name: {{ template "seleniumGrid.distributor.configmap.fullname" $ }}
- configMapRef:
name: {{ template "seleniumGrid.router.configmap.fullname" . }}
name: {{ template "seleniumGrid.router.configmap.fullname" $ }}
- configMapRef:
name: {{ template "seleniumGrid.logging.configmap.fullname" . }}
name: {{ template "seleniumGrid.logging.configmap.fullname" $ }}
- configMapRef:
name: {{ template "seleniumGrid.server.configmap.fullname" . }}
name: {{ template "seleniumGrid.server.configmap.fullname" $ }}
- secretRef:
name: {{ template "seleniumGrid.common.secrets.fullname" . }}
name: {{ template "seleniumGrid.common.secrets.fullname" $ }}
- secretRef:
name: {{ template "seleniumGrid.basicAuth.secrets.fullname" $ }}
{{- with .Values.hub.extraEnvFrom }}
{{- toYaml . | nindent 12 }}
{{- end }}
Expand Down
2 changes: 0 additions & 2 deletions charts/selenium-grid/templates/node-configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@ data:
NODE_CONFIG_DIRECTORY: '{{ $.Values.nodeConfigMap.extraScriptsDirectory }}'
SE_SUB_PATH: '{{ template "seleniumGrid.url.subPath" $ }}'
SE_DRAIN_AFTER_SESSION_COUNT: '{{- and (eq (include "seleniumGrid.useKEDA" .) "true") (eq .Values.autoscaling.scalingType "job") | ternary "1" "0" -}}'
SE_NODE_GRID_URL: '{{ include "seleniumGrid.url" $ }}'
SE_NODE_GRID_GRAPHQL_URL: '{{ include "seleniumGrid.graphqlURL" $ }}'
{{- if $.Values.videoRecorder.enabled }}
SE_VIDEO_CONTAINER_NAME: {{ $.Values.videoRecorder.name | quote }}
{{- end }}
Expand Down
8 changes: 5 additions & 3 deletions charts/selenium-grid/templates/router-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,13 @@ spec:
{{- end }}
envFrom:
- configMapRef:
name: {{ template "seleniumGrid.logging.configmap.fullname" . }}
name: {{ template "seleniumGrid.logging.configmap.fullname" $ }}
- configMapRef:
name: {{ template "seleniumGrid.server.configmap.fullname" . }}
name: {{ template "seleniumGrid.server.configmap.fullname" $ }}
- secretRef:
name: {{ template "seleniumGrid.common.secrets.fullname" . }}
name: {{ template "seleniumGrid.common.secrets.fullname" $ }}
- secretRef:
name: {{ template "seleniumGrid.basicAuth.secrets.fullname" $ }}
{{- with .Values.components.extraEnvFrom }}
{{- toYaml . | nindent 12 }}
{{- end }}
Expand Down
6 changes: 2 additions & 4 deletions charts/selenium-grid/templates/secrets.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,8 @@ data:
{{ $name }}: {{ tpl ($value) $ | b64enc }}
{{- end }}
{{- end }}
{{- if eq .Values.basicAuth.enabled true }}
SE_ROUTER_USERNAME: {{ .Values.basicAuth.username | b64enc }}
SE_ROUTER_PASSWORD: {{ .Values.basicAuth.password | b64enc }}
{{- end }}
SE_NODE_GRID_URL: {{ include "seleniumGrid.url" $ | b64enc }}
SE_NODE_GRID_GRAPHQL_URL: {{ include "seleniumGrid.graphqlURL" $ | b64enc }}
{{- with $.Values.tls.trustStorePassword }}
SE_JAVA_SSL_TRUST_STORE_PASSWORD: {{ . | b64enc }}
{{- end }}
Expand Down
10 changes: 6 additions & 4 deletions charts/selenium-grid/templates/session-map-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,13 +52,15 @@ spec:
{{- end }}
envFrom:
- configMapRef:
name: {{ template "seleniumGrid.logging.configmap.fullname" . }}
name: {{ template "seleniumGrid.logging.configmap.fullname" $ }}
- configMapRef:
name: {{ template "seleniumGrid.server.configmap.fullname" . }}
name: {{ template "seleniumGrid.server.configmap.fullname" $ }}
- secretRef:
name: {{ template "seleniumGrid.common.secrets.fullname" . }}
name: {{ template "seleniumGrid.common.secrets.fullname" $ }}
- secretRef:
name: {{ template "seleniumGrid.basicAuth.secrets.fullname" $ }}
- configMapRef:
name: {{ template "seleniumGrid.eventBus.configmap.fullname" . }}
name: {{ template "seleniumGrid.eventBus.configmap.fullname" $ }}
{{- with .Values.components.extraEnvFrom }}
{{- toYaml . | nindent 12 }}
{{- end }}
Expand Down
Loading

0 comments on commit c45f709

Please sign in to comment.