Skip to content

Health And Repair Recipes

The operator CLI provides diagnostics before mutation. Use these commands to understand node health and generate safe next steps.

Basic Doctor

powershell
npm run noos -- doctor

Checks:

  • .env loading from the current directory
  • effective config sources
  • operator token presence
  • DATABASE_URL presence
  • TLS client configuration
  • node API connectivity
  • Go toolchain availability

Deep Doctor

powershell
npm run noos -- doctor --deep --json

Adds operator observability diagnostics:

  • node overview and health
  • active incidents
  • consensus and runtime membership
  • HashiCorp Raft sidecar status
  • peers
  • payload availability
  • storage
  • sync status

Fix Plan

powershell
npm run noos -- doctor --fix-plan --json

Returns fixPlan entries such as:

json
{
  "issue": "membership_mismatch",
  "recommendedCommand": "noos governance operator-membership plan --json",
  "reason": "Membership reconciliation should be reviewed before runtime or trusted-peer changes."
}

The fix plan is advisory. It does not mutate node state.

Raft Sidecar Checks

For HashiCorp Raft deployments:

powershell
npm run noos -- raft-go status --json
npm run noos -- raft-go health --json
npm run noos -- raft-go doctor --json

raft-go status shows sidecar process and Raft state from observability. raft-go health returns a compact verdict. raft-go doctor filters diagnostics to sidecar, health, and membership issues.

Sidecar Restart Guidance

The current node API reports sidecar supervision status but does not expose a direct force-restart operation. The CLI therefore refuses actual lifecycle mutation and provides a manual plan:

powershell
npm run noos -- raft-go restart --dry-run

Use your service manager or restart the NOOSChain node process when a forced sidecar restart is required. The built-in supervisor will restart an unhealthy sidecar automatically when configured with GO_RAFT_AUTO_RESTART=true.

Audience-first NOOSChain documentation.