Skip to content

fix: respect ephemeral service persistence in doctor - #217

Merged
vishr merged 1 commit into
mainfrom
fix/doctor-ephemeral-services
Oct 5, 2026
Merged

vishr merged 1 commit into
mainfrom
fix/doctor-ephemeral-services

Conversation

@vishr

@vishr vishr commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

What this changes

Report an explicitly ephemeral managed service as a pass in ob doctor instead of warning about unprotected durable data and advising the operator to declare a backup. Keep the service in the inventory and keep available: false: a pass does not mean a backup exists. The passing summary describes the checks without claiming backup mechanisms are available.

Durable/default services retain their warning, declared backup policies retain their pass and repository-status guidance, and mixed projects still warn about actual durability gaps. The website backup guide documents the distinction.

Closes #151.

Why this is correct

Regression tests load real v1alpha2 manifests using authored Ephemeral and Durable enums. They failed before the fix and now exercise ephemeral, durable, default, mixed, and declared-backup cases. Full human and JSON command tests confirm an ephemeral-only project no longer raises the overall warning. Independent local agent review and Copilot review found no issues.

Validation: targeted regressions and just ci pass locally, including all Go tests, vet, lint, vulnerability/workflow checks, generated references, and website build. All five GitHub CI checks pass on the current commit, including Docker E2E and native Linux/macOS/Windows smoke tests. Docker/remote-host E2E was not run locally; doctor evaluates the local declaration without contacting a host.

Effect on the safety envelope

None. This corrects a local diagnostic; it changes no persistence, backup, or host operation.

Checklist

  • just check passes locally (included in just ci).
  • Tests cover the new behaviour, including the failure paths.
  • Generated documentation is current (just check verifies this).
  • CLA acceptance is managed by the contributor and repository bot.

@vishr
vishr requested a balanced review from Copilot October 5, 2026 04:53

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The implementation matches the issue requirements and includes focused regression and command-output coverage.

Review effort: Balanced
Findings: None

What changed in this PR

Updates ob doctor to treat explicitly ephemeral services as healthy without implying backup availability.

Changes:

  • Reports ephemeral services as passing with available: false.
  • Preserves warnings for durable/default services and mixed projects.
  • Adds regression tests and documents the behavior.
File Description
cmd/​ob/​doctor.go Handles ephemeral service persistence correctly.
cmd/​ob/​doctor_persistence_test.go Tests persistence modes and output formats.
site/​src/​content/​docs/​guides/​back-up-a-database.mdx Documents doctor’s persistence behavior.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@vishr
vishr requested a balanced review from Copilot October 5, 2026 05:00

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The implementation matches the stated behavior and includes comprehensive regression coverage.

Review effort: Balanced
Findings: None

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

No unresolved blocking issues were identified.

Review effort: Lite
Findings: None

@vishr
vishr merged commit 43b7048 into main Oct 5, 2026
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.

fix(doctor): backup check warns about services declared persistence.mode: ephemeral

2 participants