SeleniumHQ / SeleniumHQ/docker-selenium

[🐛 Bug]: Forceful kube-prometheus-stack chart installation even when disabled

Open Beginner friendly
#2,954 16 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

needs-triaging
Dominant language
Go
Stars
8.7k
Forks
2.5k
Avg merge
10h 16m
Merged PRs (30d)
20

Description

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: https://github.com/SeleniumHQ/docker-selenium/blob/d9f2777614a95bca9b9660911315d5cd96677070/charts/selenium-grid/Chart.yaml#L24

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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in charts/selenium-grid/Chart.yaml at the dependency condition referenced in the issue, and inspect how the kube-prometheus-stack condition is evaluated when its enabled value is false. Verify the chart dependency behavior with the provided values and confirm that kube-prometheus-stack is not installed when disabled.

Written by the indexing model from the issue text.

Assessment

Tech stack
helm, kubernetes
Domain
devops
Issue type
Bug
Difficulty
1/5
Estimated time
Under an hour
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
78/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.