What happened?
When trying to deploy the monitoring exporter for the selenium grid, I found that the helm chart wants to install kube-prometheus-stack chart dependency even when it's enabled flag is set to false.
This is because the dependency check in the helm Chart.yaml is an OR operator instead of an AND:
|
condition: monitoring.enabled, kube-prometheus-stack.enabled |
Command used to start Selenium Grid with Docker (or Kubernetes)
selenium-operator:
global:
seleniumGrid:
imageRegistry: XXXXX
imageTag: 4.35.0-20250808
nodesImageTag: 4.35.0-20250808
kubectlImage: XXXXX
ingress:
enabled: false
basicAuth:
enabled: false
autoscaling:
enableWithExistingKEDA: true
scalingType: deployment
scaledOptions:
minReplicaCount: 1
maxReplicaCount: 100
pollingInterval: 5
#scaledJobOptions:
# scalingStrategy:
# strategy: default
# Configuration for isolated components (applied only if `isolateComponents: true`)
components:
router:
nodeSelector:
grid: "true"
# Configuration for distributor component
distributor:
nodeSelector:
grid: "true"
# Configuration for Event Bus component
eventBus:
nodeSelector:
grid: "true"
# Configuration for Session Map component
sessionMap:
nodeSelector:
grid: "true"
# Configuration for Session Queue component
sessionQueue:
nodeSelector:
grid: "true"
# Configuration for selenium hub deployment (applied only if `isolateComponents: false`)
hub:
imageTag: 4.35.0-20250808
imageRegistry: XXXXXXXX
nameOverride: selenium-operator-hub
resources:
requests:
memory: "8Gi"
cpu: "1"
limits:
memory: "12Gi"
cpu: "3"
nodeSelector:
fanduel.com/spot: utils
tolerations:
- key: "fanduel.com/spot"
operator: "Equal"
value: "utils"
effect: "NoSchedule"
# Configuration for chrome nodes
chromeNode:
enabled: true
deploymentEnabled: true
replicas: 2
imageRegistry: XXXXX
imageTag: 138.0-20250808
nameOverride: selenium-operator-chrome-node
resources:
requests:
memory: "2Gi"
cpu: "1"
limits:
memory: "3Gi"
cpu: "1500m"
nodeSelector:
fanduel.com/spot: utils
tolerations:
- key: "fanduel.com/spot"
operator: "Equal"
value: "utils"
effect: "NoSchedule"
extraEnvironmentVariables:
- name: SE_NODE_GRID_URL
value: ""
- name: SCREEN_WIDTH
value: "1600"
- name: SCREEN_HEIGHT
value: "900"
dshmVolumeSizeLimit: 2Gi
hostAliases:
- ip: "127.0.0.1"
hostnames:
- "api.lab.amplitude.com"
# Configuration for firefox nodes
firefoxNode:
enabled: false
# Configuration for edge nodes
edgeNode:
enabled: false
kube-prometheus-stack:
enabled: false
jaeger:
enabled: false
monitoring:
enabled: true
exporter:
replicas: 1
imageRegistry: 077700697743.dkr.ecr.us-east-1.amazonaws.com/docker-hub/ricardbejarano
imageName: "graphql_exporter"
imageTag: "v1.2.4"
port: 9199
service:
enabled: true
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "9199"
Relevant log output
No logs, kube-prometheus-stack is installed
Operating System
EKS
Docker Selenium version (image tag)
4.35.0-20250808
Selenium Grid chart version (chart version)
0.43.2
What happened?
When trying to deploy the monitoring exporter for the selenium grid, I found that the helm chart wants to install
kube-prometheus-stackchart dependency even when it'senabledflag is set to false.This is because the dependency check in the helm Chart.yaml is an OR operator instead of an AND:
docker-selenium/charts/selenium-grid/Chart.yaml
Line 24 in d9f2777
Command used to start Selenium Grid with Docker (or Kubernetes)
selenium-operator: global: seleniumGrid: imageRegistry: XXXXX imageTag: 4.35.0-20250808 nodesImageTag: 4.35.0-20250808 kubectlImage: XXXXX ingress: enabled: false basicAuth: enabled: false autoscaling: enableWithExistingKEDA: true scalingType: deployment scaledOptions: minReplicaCount: 1 maxReplicaCount: 100 pollingInterval: 5 #scaledJobOptions: # scalingStrategy: # strategy: default # Configuration for isolated components (applied only if `isolateComponents: true`) components: router: nodeSelector: grid: "true" # Configuration for distributor component distributor: nodeSelector: grid: "true" # Configuration for Event Bus component eventBus: nodeSelector: grid: "true" # Configuration for Session Map component sessionMap: nodeSelector: grid: "true" # Configuration for Session Queue component sessionQueue: nodeSelector: grid: "true" # Configuration for selenium hub deployment (applied only if `isolateComponents: false`) hub: imageTag: 4.35.0-20250808 imageRegistry: XXXXXXXX nameOverride: selenium-operator-hub resources: requests: memory: "8Gi" cpu: "1" limits: memory: "12Gi" cpu: "3" nodeSelector: fanduel.com/spot: utils tolerations: - key: "fanduel.com/spot" operator: "Equal" value: "utils" effect: "NoSchedule" # Configuration for chrome nodes chromeNode: enabled: true deploymentEnabled: true replicas: 2 imageRegistry: XXXXX imageTag: 138.0-20250808 nameOverride: selenium-operator-chrome-node resources: requests: memory: "2Gi" cpu: "1" limits: memory: "3Gi" cpu: "1500m" nodeSelector: fanduel.com/spot: utils tolerations: - key: "fanduel.com/spot" operator: "Equal" value: "utils" effect: "NoSchedule" extraEnvironmentVariables: - name: SE_NODE_GRID_URL value: "" - name: SCREEN_WIDTH value: "1600" - name: SCREEN_HEIGHT value: "900" dshmVolumeSizeLimit: 2Gi hostAliases: - ip: "127.0.0.1" hostnames: - "api.lab.amplitude.com" # Configuration for firefox nodes firefoxNode: enabled: false # Configuration for edge nodes edgeNode: enabled: false kube-prometheus-stack: enabled: false jaeger: enabled: false monitoring: enabled: true exporter: replicas: 1 imageRegistry: 077700697743.dkr.ecr.us-east-1.amazonaws.com/docker-hub/ricardbejarano imageName: "graphql_exporter" imageTag: "v1.2.4" port: 9199 service: enabled: true annotations: prometheus.io/scrape: "true" prometheus.io/port: "9199"Relevant log output
Operating System
EKS
Docker Selenium version (image tag)
4.35.0-20250808
Selenium Grid chart version (chart version)
0.43.2