Skip to content

feat: cross-OS config file and docs cleanup#22

Merged
miguelgila merged 4 commits intomainfrom
minor-cleanup
Feb 26, 2026
Merged

feat: cross-OS config file and docs cleanup#22
miguelgila merged 4 commits intomainfrom
minor-cleanup

Conversation

@miguelgila
Copy link
Copy Markdown
Owner

Summary

  • Remove completed plan docs: PLAN-quickstart-playground.md, VERSIONING_PLAN.md, INTEGRATION_TEST_PLAN.md (all fully implemented)
  • Add cross-OS config file support: Both binaries now load /etc/reaper/reaper.conf at startup, replacing the Debian-specific /etc/default/containerd env-file approach. Works on any Linux distro (RHEL, SUSE, Alpine, Arch, etc.). Env vars still override file values for backward compatibility.
  • Update Ansible playbook: Writes to /etc/reaper/reaper.conf instead of /etc/default/containerd; removes legacy systemd drop-in if present.
  • Add integration tests: 3 Rust tests for config file loading/override/missing-file, plus a K8s test verifying the config file exists on nodes (29/29 pass).
  • Update docs and examples: README, deploy/kubernetes/README, and example 08 reference the config file as the standard configuration method.

Test plan

  • cargo test --test integration_config — 3/3 pass (config loading, env override, missing file)
  • cargo clippy --all-targets — clean
  • ./scripts/run-integration-tests.sh — 29/29 pass (includes new config file on node test)

🤖 Generated with Claude Code

miguelgila and others added 4 commits February 26, 2026 20:36
These plans have been fully implemented and are no longer needed:
- PLAN-quickstart-playground.md (playground script shipped)
- VERSIONING_PLAN.md (replaced by RELEASING.md)
- INTEGRATION_TEST_PLAN.md (all 14 tests implemented)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace the Debian-specific /etc/default/containerd env-file approach
with a Reaper-owned config file that works on any Linux distribution.

Both binaries now load /etc/reaper/reaper.conf at startup (KEY=VALUE
format). Environment variables override file values for backward
compatibility. The Ansible playbook writes config to the new location
and cleans up the legacy systemd drop-in if present.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add Rust integration tests (tests/integration_config.rs) verifying
config file loading, env var override precedence, and missing file
handling. Add K8s integration test verifying /etc/reaper/reaper.conf
exists on nodes with correct content (29/29 pass).

Update README, deploy/kubernetes/README, and example 08 to reference
the config file as the standard configuration method.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@miguelgila miguelgila enabled auto-merge (squash) February 26, 2026 20:54
@miguelgila miguelgila merged commit e7c40c9 into main Feb 26, 2026
7 of 8 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