Skip to content

Correct the logrotate owner in the CubeCOS operations chapter - #295

Merged
github-actions[bot] merged 1 commit into
developfrom
arashi.li/logrotate-owner
Aug 5, 2026
Merged

github-actions[bot] merged 1 commit into
developfrom
arashi.li/logrotate-owner

Conversation

@arasHi87

@arasHi87 arasHi87 commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Closes

No ticket — a one-row correction found while writing the QA verification for #113
(already closed), not worth its own task.

What & why

docs/operations/cubecos.md's on-disk table credits /etc/logrotate.d/lachesis to the
RPM. It isn't ours:

  • rpm -ql lachesis on a live node does not list the file, and init/lachesis.spec
    never installs it — %files covers the binary, the unit, the config, the LICENSE and
    the two directories, nothing else.
  • It is written by the hex_config module:
    static LogRotateConf log_conf(NAME, "/var/log/lachesis/*.log", DAILY, 128, 0, true);
    and WriteLogRotateConf(log_conf) in core/modules/config_lachesis.cpp (cubecos).

So its owner is config_lachesis, the same as the rendered yaml two rows above.

The distinction is the whole point of that column: a hex_config-owned file comes back
at the next commit after an operator deletes it, an RPM-owned one does not. Getting it
wrong sends someone reinstalling a package to restore a file that would have healed on
its own.

Test plan

  • Unit — go test ./internal/docs/ (the doc-reference guard; no heading changed, so
    no citation needed updating)
  • Integration — n/a, docs only
  • Bench-gate — n/a
  • Scenario — n/a
  • Manual e2e on a live cluster — the claim itself was verified on a live node

Live validation

CubeCOS 1cc from pipeline build 9 (cc1, control-converged, kernel 6.12.95-1.el9,
lachesis-v0.1.0-1.el9.6e42a6a), 2026-08-05:

$ rpm -ql lachesis
/etc/cube/lachesis/lachesis.yaml
/usr/lib/.build-id/...
/usr/lib/systemd/system/lachesis.service
/usr/local/bin/lachesis
/usr/share/cube/lachesis/LICENSE
/var/lib/lachesis
/var/log/lachesis

No logrotate entry — while /etc/logrotate.d/lachesis is present on that node and has
been rotating correctly for six days (lachesis.log.1 through lachesis.log.6.gz).
Full run in #113's test report comment.

Scope / deliberately not touched

Only the owner cell. The rotation policy described in the same row (daily, copytruncate,
128M, compressed) matches LogRotateConf(NAME, …, DAILY, 128, 0, true) and the file on
disk, so it stays as written.

Notes

Docs only — no contract in docs/architecture/contracts.md is affected.

DoD

  • Linked issue's DoD met — [Feature] CubeCOS Integration #113's handbook update already landed
    (bigstack-handbook#173, bigstack-handbook#185); this correction is small enough that
    the handbook's lachesis operations runbook, which does not mention logrotate, needs
    no change.

Signed-off-by: arashi.li <arashi.li@bigstack.co>
@arasHi87 arasHi87 added the done Mark a PR ready to merge (triggers auto-merge once CI + reviews pass) label Aug 5, 2026
@github-actions
github-actions Bot merged commit 15a2a9d into develop Aug 5, 2026
10 checks passed
@github-actions
github-actions Bot deleted the arashi.li/logrotate-owner branch August 5, 2026 04:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

done Mark a PR ready to merge (triggers auto-merge once CI + reviews pass)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant