Keep rotated log files for a set number of days #87

Merged
jcoffey-dev merged 1 commits from feature/log-retention into main 2026-09-28 15:27:35 +00:00
Owner

Personal-data catalog D1, as settled: a fork-owned setting, inbuxa:LogSettings.keepForDays (null keeps every file, as before; new installs 30 days). Every node deletes its own rotated files past it, hourly and on change. Tracer permissions, server-level, audited.

Tested: unit tests for the file rule and an on-disk purge; system suite (get/set/refuse 0/null/audit); fork checks. Console control follows in inbuxa-admin.

Personal-data catalog D1, as settled: a fork-owned setting, `inbuxa:LogSettings.keepForDays` (null keeps every file, as before; new installs 30 days). Every node deletes its own rotated files past it, hourly and on change. Tracer permissions, server-level, audited. Tested: unit tests for the file rule and an on-disk purge; system suite (get/set/refuse 0/null/audit); fork checks. Console control follows in inbuxa-admin.
jcoffey-dev added 1 commit 2026-09-28 15:23:41 +00:00
Keep rotated log files for a set number of days
ci / fork-checks (pull_request) Successful in 2m28s
ci / build (pull_request) Successful in 3m47s
1d5a49409f
Personal-data catalog spec, default D1 (settled 2026-09-28): log files
were never deleted. inbuxa:LogSettings.keepForDays says how many days
rotated log files are kept; unset (null) keeps every file, as before,
and a new install sets 30 days.

It is a fork-owned setting, stored under T + l as audit retention is,
not a field on x:TracerLog: that object is also stored inside
x:Bootstrap with a field after it, so a new field would change
x:Bootstrap's stored format. Server-level, with the tracers'
permissions (sysTracerGet, sysTracerUpdate); changes are in the audit
log, before and after.

Log files are local, so every node deletes its own: hourly, and at once
when the setting changes on that node. Only regular files named
<prefix>.<something> in each enabled log tracer's directory, last
changed more than the limit ago, are removed; the file being written is
never that old, and nothing else in the directory is touched. Minimum
one day. The catalog classifies inbuxa:LogSettings and points the log
file's retention at it.

Tested: unit tests for the file rule (only this log's old files; the
current file, other files and directories stay) and a purge on disk;
the system suite, which reads, sets, refuses zero, restores null and
checks the audit records; fork checks.
jcoffey-dev merged commit d107c1b2bb into main 2026-09-28 15:27:35 +00:00
jcoffey-dev deleted branch feature/log-retention 2026-09-28 15:27:35 +00:00
jcoffey-dev referenced this issue from a commit 2026-09-28 19:22:38 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: inbuxa/inbuxa-server#87