infra/stacks/proxmox-csi
Viktor Barzin 355ca3ee91
All checks were successful
ci/woodpecker/push/default Pipeline was successful
ci/woodpecker/push/build-cli Pipeline was successful
proxmox-csi: auto-reconcile CronJob to detach ghost disks (code-dfjn prevention)
Closes the ghost-disk doom loop by construction (failed detach -> orphan scsiN
with no VolumeAttachment -> invisible oversubscription -> query-pci wedge).
Every 15min csi-ghost-reconcile compares each worker VM's real scsi disks
(Proxmox API) vs k8s VolumeAttachments and safely detaches ghosts (PUT
.../config delete=scsiN -> frees the LUN slot, retains the LV).

- detection mirrors cluster-health check #47
- SAFETY: only vm-9999-pvc scsi with no matching VA; 60s re-confirm; per-run cap 5
- scoped CSI API token (VM.Config.Disk), not root SSH; k8s API via injected ClusterIP
- verified live: read 66 VAs, 0 ghosts, no false positives
- pushes csi_ghosts_detected/detached to Pushgateway

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 21:25:36 +00:00
..
modules/proxmox-csi cloud-init: hands-off k8s worker provisioning + 5 bug fixes 2026-05-26 11:52:00 +00:00
ghost-reconcile.tf proxmox-csi: auto-reconcile CronJob to detach ghost disks (code-dfjn prevention) 2026-06-05 21:25:36 +00:00
main.tf migrate iSCSI block volumes from democratic-csi to Proxmox CSI [ci skip] 2026-04-02 22:13:04 +03:00
terragrunt.hcl migrate iSCSI block volumes from democratic-csi to Proxmox CSI [ci skip] 2026-04-02 22:13:04 +03:00