feat(services): expose effective persistence settings in canonical and doctor
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 3
- Forks
- 0
- Avg merge
- 2h 40m
- Merged PRs (30d)
- 63
Description
Status
The runtime defect originally reported here was fixed by #79 (7f94af0):
persistence.mode: ephemeralcreates no durable Onebox volume for every managed driver;- Redis and Valkey receive ephemeral persistence defaults;
- explicit driver settings override mode-derived server defaults exactly once;
- omitted and durable modes retain durable storage semantics;
- destructive persistence transitions remain gated.
Remaining problem
The override is effective but not visible enough. ob canonical and ob doctor do not explain when authored driver settings diverge from the persistence mode. An operator can deliberately enable AOF on ephemeral storage, for example, but Onebox does not state that the data survives a process restart and not a container recreate.
Scope
- Show the declared persistence mode and effective server persistence values with their origin in canonical output.
- Have doctor name actionable divergences between the mode and explicit driver settings.
- Document that
persistence.modeowns Onebox storage lifetime whilesettingsowns server internals and cannot create a durable Onebox volume. - Report divergence; do not refuse a deliberate override.
Acceptance
- Redis and Valkey cover mode defaults and explicit overrides in canonical output.
- Doctor distinguishes a harmless aligned setting from a divergent one and explains the operational consequence.
- Other drivers with mode-derived persistence options follow the same reporting model.
- Runtime rendering and transition gates from #79 remain unchanged.
The original measurements and design discussion remain in this issue history and in #79.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the canonical and doctor entry points, then trace how persistence mode and driver settings are rendered for Redis and Valkey. Compare aligned defaults with explicit divergent settings, including storage-lifetime consequences, and check the same reporting model for other mode-derived drivers. Done means canonical shows declared mode, effective values, and origins; doctor explains divergences without changing runtime rendering or transition gates from #79.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, go, redis
- Domain
- cli, devops, documentation, infrastructure
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100