You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
longhorn stale-node-cleanup CronJob has never run: distroless kubectl image has no /bin/shΒ #2384
k8s/providers/hetzner/infrastructure/controllers/longhorn/cron-job-stale-node-cleanup.yaml (shipped in #2341 for #2024) runs /bin/sh -c <script> in registry.k8s.io/kubectl:v1.36.2 β a distroless image with no shell β so every scheduled run fails with StartError exit 128. The self-healing cleanup of orphaned Longhorn Node CRs has never actually executed; orphaned CRs from autoscaler scale-downs still accumulate. Observed live 2026-07-02 (interactive prod analysis; re-verify before acting).
Proposed direction
Keep the script but give it a runtime that has both a shell and kubectl. Options, preferred first:
bitnami/kubectl (shell + kubectl, widely used) pinned by digest;
keep registry.k8s.io/kubectl but replace the shell script with a kubectl-only invocation (no sh) if the logic can be expressed as a single kubectl call with jsonpath/go-template β it currently loops, so likely not;
an initContainer copying kubectl into a busybox runtime (avoid β complexity).
Whichever image is chosen must pass the verify-app-images/registry policies and be Renovate-trackable.
Rough size
S β one image swap + a validated manifest; confirm the next scheduled run completes and deletes a known orphaned Node CR.
Superseded: the fix is already in flight as draft #2380 (shipped by the parallel session before this issue was filed β parallel-run overlap). Tracking continues there.
Activity
devantler commentedon Jul 2, 2026
Superseded: the fix is already in flight as draft #2380 (shipped by the parallel session before this issue was filed β parallel-run overlap). Tracking continues there.