Summary
Add a Helm chart that deploys env-doctor as a DaemonSet on GPU-labeled Kubernetes nodes, automating the report install step across an entire cluster with a single command.
Motivation
Teams running GPU fleets on Kubernetes (GKE, EKS, AKS, bare-metal k8s) currently need to SSH into each node individually to run:
pip install env-doctor
env-doctor report install --url http://<dashboard>:8765 --interval 5m
For clusters with 20–100+ GPU nodes, this is tedious and error-prone. A Helm chart reduces this to:
helm install env-doctor ./charts/env-doctor \
--set dashboard.url=http://<dashboard>:8765 \
--set interval=5m
New GPU nodes joining the cluster would automatically pick up env-doctor — no manual intervention.
Scope
This is a packaging/distribution change only. No changes to the core CLI, dashboard, or reporting logic.
What the chart would contain
- A
DaemonSet targeting nodes with nvidia.com/gpu labels
- A lightweight container that runs
env-doctor report install on startup
- Host mounts for GPU driver access (
nvidia-smi, device files)
- Configurable values: dashboard URL, reporting interval, image tag
Configurable values (values.yaml)
dashboard:
url: "" # required: http://<dashboard-host>:8765
reporting:
interval: "5m" # maps to --interval flag
nodeSelector:
nvidia.com/gpu: "true"
image:
repository: ghcr.io/mitulgarg/env-doctor
tag: latest
What this does NOT change
- Reporting behavior (hash-based change detection, heartbeat — all unchanged)
- Dashboard backend or API
- Core CLI functionality
- Non-k8s deployment paths (cron/Task Scheduler still work as-is)
Acceptance criteria
Summary
Add a Helm chart that deploys env-doctor as a DaemonSet on GPU-labeled Kubernetes nodes, automating the
report installstep across an entire cluster with a single command.Motivation
Teams running GPU fleets on Kubernetes (GKE, EKS, AKS, bare-metal k8s) currently need to SSH into each node individually to run:
For clusters with 20–100+ GPU nodes, this is tedious and error-prone. A Helm chart reduces this to:
New GPU nodes joining the cluster would automatically pick up env-doctor — no manual intervention.
Scope
This is a packaging/distribution change only. No changes to the core CLI, dashboard, or reporting logic.
What the chart would contain
DaemonSettargeting nodes withnvidia.com/gpulabelsenv-doctor report installon startupnvidia-smi, device files)Configurable values (
values.yaml)What this does NOT change
Acceptance criteria
helm installdeploys env-doctor to all GPU nodes in a cluster--report-toflowhelm uninstallcleanly removes the DaemonSet