Skip to content

feat(services): expose effective persistence settings in canonical and doctor #75

Description

@vishr

Status

The runtime defect originally reported here was fixed by #79 (7f94af0):

  • persistence.mode: ephemeral creates 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.mode owns Onebox storage lifetime while settings owns 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 fix(services): make persistence.mode decide storage and server persistence #79 remain unchanged.

The original measurements and design discussion remain in this issue history and in #79.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions