Skip to content

docs: record that lldap's restic mount is hard NFS, and correct a bad finding - #380

Merged
swares merged 1 commit into
mainfrom
docs/lldap-hard-nfs-mount
Aug 9, 2026
Merged

docs: record that lldap's restic mount is hard NFS, and correct a bad finding#380
swares merged 1 commit into
mainfrom
docs/lldap-hard-nfs-mount

Conversation

@swares

@swares swares commented Aug 9, 2026

Copy link
Copy Markdown
Owner

An untracked gitops/workloads/lldap/restic-pv.yaml was spotted on the H4 and
recorded in BACKLOG as a live PV that urgently needed committing. It was not.
kubectl get pv lldap-restic returns NotFound: the file was an unapplied draft,
and it has since vanished from the working tree. The claim came from reading its
contents without checking whether the object existed -- the same mistake as
trusting a green timer, in miniature.

But the draft existed for a real reason, now recorded as 1.8. The lldap backup
CronJob mounts the restic repo with an inline nfs: volume, and inline NFS volumes
cannot carry mountOptions -- that is a PV-only field. So it mounts hard, and an
unreachable NFS export blocks the pod indefinitely instead of erroring. That is
the 2026-08-02 incident where lldap-backup hung for 3d15h.

It was bounded, not fixed: activeDeadlineSeconds: 1800 kills the job after 30
minutes and LabBackupJobFailed pages when it does, so a backup can no longer
stall silently for days. The stall itself remains. Fixing it means a PV plus PVC
and switching the volume type, which is a change to a backup path that has run
reliably since the deadline was added -- recorded as a decision, not scheduled.

… finding

An untracked gitops/workloads/lldap/restic-pv.yaml was spotted on the H4 and
recorded in BACKLOG as a live PV that urgently needed committing. It was not.
kubectl get pv lldap-restic returns NotFound: the file was an unapplied draft,
and it has since vanished from the working tree. The claim came from reading its
contents without checking whether the object existed -- the same mistake as
trusting a green timer, in miniature.

But the draft existed for a real reason, now recorded as 1.8. The lldap backup
CronJob mounts the restic repo with an inline nfs: volume, and inline NFS volumes
cannot carry mountOptions -- that is a PV-only field. So it mounts hard, and an
unreachable NFS export blocks the pod indefinitely instead of erroring. That is
the 2026-08-02 incident where lldap-backup hung for 3d15h.

It was bounded, not fixed: activeDeadlineSeconds: 1800 kills the job after 30
minutes and LabBackupJobFailed pages when it does, so a backup can no longer
stall silently for days. The stall itself remains. Fixing it means a PV plus PVC
and switching the volume type, which is a change to a backup path that has run
reliably since the deadline was added -- recorded as a decision, not scheduled.
@swares
swares merged commit 0840176 into main Aug 9, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant