Skip to content

docs/close authelia and sudo - #374

Merged
swares merged 4 commits into
mainfrom
docs/close-authelia-and-sudo
Aug 9, 2026
Merged

docs/close authelia and sudo#374
swares merged 4 commits into
mainfrom
docs/close-authelia-and-sudo

Conversation

@swares

@swares swares commented Aug 9, 2026

Copy link
Copy Markdown
Owner
  • docs: one backlog, and collapse the five competing lists into pointers
  • verify-lab: fix two faults found by the first honest alert-metrics run
  • docs: close two resolved items, point HARDWARE.md at the backlog

swares added 4 commits August 8, 2026 18:04
Open work lived in six places that disagreed with each other. BACKLOG.md is now
the only list; README, docs/OVERVIEW.md and docs/services.md point at it, and the
three dated TODO-*.md files are marked as historical session notes to be kept for
their reasoning rather than their tasks.

The disagreements were not cosmetic. Offsite backup was marked DONE in three
documents while the unit had never copied a byte -- it existed, but
offsite_restic_repo was never set, so it exited 0 nightly and reported PASSED.
The Vault root token is described as a required safeguarded credential in three
more, after being deliberately eliminated on 08-07. Two files end mid-sentence.
A task list that contradicts itself is worse than none, because it gets believed
during an incident.

Remaining contradictions are catalogued in BACKLOG.md section 6 rather than
silently corrected, so each can be checked before anything is deleted.

Also fixes two entries that were actively misleading rather than merely stale:
CLAUDE.md gave 192.168.1.160 as the *.apps wildcard target when the inventory
says .201 and records the 2026-07-27 move away from it; and
scripts/verify-lab.py suppressed node_systemd_unit_state on a diagnosis
retracted on 08-02, telling the verifier to ignore the metric that the
LabBackupUnitFailed alert depends on.
Emptying KNOWN_ABSENT earned its keep immediately. The systemd collectors
reported healthy -- confirming the suppression had been hiding a working metric
-- and the check then failed on two things, one a bug and one a modelling gap.

job_name reported ABSENT. False positive: it is a label in LabBackupJobFailed's
"and on(namespace, job_name)" clause. It carries an underscore and is not
followed by '(', so it passed every filter in _metric_names. Grouping clauses
name labels, not metrics, so on/ignoring/by/without/group_left/group_right
contents are now stripped before identifiers are read. A false positive is
expensive here: it fails the whole check and buries any genuine finding.

kube_job_failed reported ABSENT. Not a fault. kube-state-metrics emits condition
series only for conditions a resource actually carries, so a metric describing
failure has no series while nothing has failed. The alert fires correctly --
proven 2026-08-07 with a deliberately failing Job that paged via ntfy and
resolved on deletion.

That needed a new concept rather than a suppression. ABSENT_WHEN_HEALTHY is kept
separate from KNOWN_ABSENT because the semantics are opposite: KNOWN_ABSENT means
the alert cannot fire, this means it works and the absence is the good outcome.
Merging them would either paint a healthy lab red forever or teach someone to
silence a genuinely broken metric by excusing it. Only add an entry if you have
seen that alert fire.
Authelia stuck Progressing in ArgoCD was fixed in an earlier session, and the
leftover PVC has been removed. The item survived only because README.md and
docs/HARDWARE.md were never updated -- and in HARDWARE.md it survived as a
truncated line, the file ending mid-word at "- investigate(2". A half-written
sentence kept a closed issue alive across two audits.

bootstrap.yml needing -K for n150-1/n150-2 is also closed: both hosts now have
passwordless sudo, and bootstrap.yml:43-44 already codifies it via
/etc/sudoers.d/ansible-<user>, so a rebuild reproduces it rather than depending on
the change having been made by hand.

Also adds a pointer from HARDWARE.md's Pending/TODO section to BACKLOG.md. Its
completed entries stay as a hardware changelog, which is useful; its open items do
not, because that was the sixth list.
@swares
swares merged commit 3ceaa49 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