Skip to content

docs(r14): Linux analysis suites — example 45 + chapter 45 (Appendices: Tooling) - #14

Merged
patterncatalyst merged 4 commits into
mainfrom
docs/r14-analysis-suites
Jul 31, 2026
Merged

patterncatalyst merged 4 commits into
mainfrom
docs/r14-analysis-suites

Conversation

@patterncatalyst

Copy link
Copy Markdown
Owner

Opens Part 13 — Appendices: Tooling. Cockpit, SystemTap, and PCP as three fleet-wide observation suites, following the single-language example pattern (ch44 precedent).

What's in it

  • Example 45-linux-analysis-suites/ — a rootless Fedora-based PCP container (pmcd + pmda-openmetrics + pmda-podman), three-stage builder→smoke→runtime Containerfile with a real build-time gate. pmda-bcc excluded (super-privileged). demo.sh + verify.lua (langs: [cpp], nominal — it's a container demo).
  • Chapter _docs/45-linux-analysis-suites.md (503 lines) — full spine, a "Why Fedora, not UBI" rationale, and both real build bugs as teaching material.
  • 2 diagrams — 45-analysis-suite-landscape (the three suites) and 45-pcp-build-gate (the three-stage build).
  • Lab: cloud-init now installs kernel-devel-$(uname -r) so SystemTap's kernel-module backend works on fresh guests.

Why Fedora, not UBI

pcp + PMDAs aren't in the unauthenticated UBI 9/10 repo subset (nor EPEL-10); rhel9/pcp needs Red Hat portal auth. Readers likely lack a subscription, so the image builds FROM registry.fedoraproject.org/fedora:44 (pcp 7.1.5, unauthenticated).

Two real bugs (now chapter content)

  • FROM builder AS runtime silently skips the disconnected smoke gate stage — FROM smoke forces podman to build it.
  • Each PMDA ./Install reverts its own pmcd.conf when it can't systemctl restart in a no-systemd build layer — fixed by starting pmcd before ./Install (takes the pmsignal -HUP path).

Verification (mixed — footer says so)

  • Verified: podman run (image 265 MB, verify.lua PASS 10/0, value 42, live podman-socket container visibility) on Fedora 44 / podman 5.8.4; SystemTap kernel-module backend on systems-target (stap-module-ok, real openat aggregate); Cockpit socket (HTTP 200).
  • Not verified (described): Cockpit's web-UI panels — no browser automation in this repo.

Gate

  • scripts/validate.py → validate: OK
  • scripts/test-all-examples.py --only 45-linux-analysis-suites → 1 passed, 0 failed
  • Authored via the lgtm-relay (Opus plan → Sonnet execute → Opus validate: all 14 criteria MET, verdict SHIP).

…man PASS 10/0)

Rootless Fedora-based PCP image (pmcd + pmda-openmetrics + pmda-podman),
three-stage builder->smoke->runtime Containerfile. pmda-bcc excluded
(super-privileged). cloud-init installs kernel-devel-$(uname -r) for
SystemTap's kernel-module backend.
@patterncatalyst
patterncatalyst merged commit 2b530a2 into main Jul 31, 2026
8 checks passed
@patterncatalyst
patterncatalyst deleted the docs/r14-analysis-suites branch July 31, 2026 03:04
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