12 Commits
Author SHA1 Message Date
mrcharles d0423ae221 feat(perf): daily image-prune script, first run reclaimed 28.36GB [#759]
Unused images only (prune -a = not referenced by any container); volumes
and containers NEVER touched. Wired into the daily 09:00 automation.

Details: https://projects.knownelement.com/issues/759#note-1
2026-09-03 12:06:48 -05:00
mrcharles 09567e9165 feat(perf): census platform-health sweep (inotify/daemons/pg) [#757]
Read-only: inotify limits vs live use, dockerd+containerd uptime, dockerd
24h err/warn count, pg too-many-clients. Only auto-fix is re-applying the
#755-approved inotify sysctls on drift.

Details: https://projects.knownelement.com/issues/757#note-1
2026-09-03 11:59:16 -05:00
mrcharles 3d69a7a989 feat(perf): census covers cpu + disk, report-only [#757]
CPU via the same docker stats pass joined to app fqdns; disk = root fs
pct + docker system df + top-15 appdata dirs joined to fqdns. CPU/disk
are REPORT-ONLY per t/317 (human-required class).

Details: https://projects.knownelement.com/issues/757#note-1
2026-09-03 11:52:58 -05:00
mrcharles 482d0614f7 feat(perf): swap 4G->8G via second swapfile, applied live [#755]
Applied on my.knownelement.com 2026-09-03 (founder-approved):
/apps.swap2 4G, fstab-persisted, no restarts. Verification + closure
note: https://projects.knownelement.com/issues/755#note-13
2026-09-03 11:02:06 -05:00
mrcharles 87606da528 fix(sysctl): inotify headroom 1024 instances after containerd fd death [#755]
https://projects.knownelement.com/issues/755
2026-09-03 10:18:10 -05:00
mrcharles 01b12493a3 docs: 09-03 bump addendum + incident pointer in ground truth [#731]
https://projects.knownelement.com/issues/731
2026-09-03 09:38:58 -05:00
mrcharles 3786a9c3eb docs: ratified resource-adjustment policy — t/317 [#735] 2026-09-02 20:18:56 -05:00
mrcharles 23d71761c8 feat: utilization census script for daily monitor automation [#731]
%-sorted usage-vs-limit view across all apps + 24h memcg-OOM evidence.
Backs the founder-directed monitor/adjust-over-time loop.
Meat: https://projects.knownelement.com/issues/731#note-3929
2026-09-02 20:04:42 -05:00
mrcharles 1267e60e8e feat: apply memory shrink + daemon.json — ground truth update [#731]
11 apps reslidered via API (53.4->29.0GB explicit limits); daemon.json
live-restore + nofile defaults applied (log keys banned: unit flag
conflict — see #731 incident note). perf/apply-memory-shrink.sh codifies
the change. All 159 apps verified running.
Meat: https://projects.knownelement.com/issues/731#note-3929
2026-09-02 19:48:45 -05:00
mrcharles d9d512c9f1 docs: API token issued+verified — ask 1 answered [#727]
.env.example refs updated (issued 2026-09-02), questions-v1 #1 marked
answered. Material value lives only in ~/.creds/cloudron.env (0600).
Meat: https://projects.knownelement.com/issues/727#note-3928
2026-09-02 19:07:28 -05:00
mrcharles 4806e6f24d feat: absorb cloudron kuma monitoring from PFVCluster [#727]
monitoring/ = cloudron-apps.txt (55-app inventory, #435) +
kuma-cloudron-sync.py (coverage checker, path re-rooted).
Removed from PFVCluster in the paired commit there.
Meat: https://projects.knownelement.com/issues/727#note-3913
2026-09-02 18:51:04 -05:00
mrcharles 0e67f17112 feat: bootstrap repo — enforcement layer + #685 perf capture
Enforcement (check-rules/hooks/shellcheck) per ADOPTING pattern; perf/ SoR
from the #685 session (memcensus, pg role-caps SQL, applied sysctl, planned
daemon.json); questions-v1 (API token + dockerd window asks).

Meat + verification: https://projects.knownelement.com/issues/727#note-3913
2026-09-02 18:42:46 -05:00