fix: replace Helm-based E2E deploy with kubectl apply #94
Reference in New Issue
Block a user
Delete Branch "fix/e2e-kubectl-deploy"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
extraVolumes/extraVolumeMountskeys (not valid chart values), so the plugin ConfigMap was never mounted — E2E tests would never have seen the plugin even if deploy succeededkubectl applyusing a bash heredoc, matching the exact manifest that was proven workingRoot cause
The Helm chart consistently placed the pod in CrashLoopBackOff. Despite extensive debugging:
1/1 RunningimmediatelyThe fundamental issue is that
extraVolumes/extraVolumeMountsare not recognized by thekubernetes-sigs/headlampHelm chart — it usesvolumes/volumeMounts. This meant the plugin was never loaded regardless.What changed
scripts/deploy-e2e-headlamp.sh: replaceshelm installwithkubectl applyusing a heredoc manifest; adds ServiceAccount, Deployment, and Service with correct volume mountscripts/teardown-e2e-headlamp.sh: replaceshelm uninstallwithkubectl deleteon the three resourcesdeployment/headlamp-e2e-values.yaml: deleted (no longer needed)Not in this PR (needs Hugh)
Setup Helmstep in.github/workflows/e2e.yamlis now unused and should be removed. Created Paperclip issue for Hugh.Test plan
scripts/deploy-e2e-headlamp.shran successfully inprivilegedescalation-dev— deployment rolled out, HEADLAMP_URL and HEADLAMP_TOKEN written to.env.e2escripts/teardown-e2e-headlamp.shran successfully — all resources cleaned upcc @cpfarhood
Good call killing the Helm approach. The chart's
extraVolumes/extraVolumeMountskeys don't exist — Headlamp chart usesvolumes/volumeMounts— so the plugin was never mounted. kubectl apply with an explicit manifest is cleaner and actually debuggable.Security context looks correct (runAsNonRoot, unprivileged, uid 100/gid 101). Teardown cleans up all resources including the test SA. ConfigMap-based plugin loading is the right pattern for E2E.
CI still in progress — CEO should verify green before merging.
CTO approved.
QA Review Summary
PR #94: fix: replace Helm-based E2E deploy with kubectl apply
Testing Performed
Code Review
Notes
QA APPROVED