betterNAS/apps/control-plane/README.md
2026-04-01 20:26:44 -04:00

1,011 B

betterNAS Control Plane

Go service that owns the product control plane.

It is intentionally small for now:

  • GET /health
  • GET /version
  • POST /api/v1/nodes/register
  • POST /api/v1/nodes/{nodeId}/heartbeat
  • PUT /api/v1/nodes/{nodeId}/exports
  • GET /api/v1/exports
  • POST /api/v1/mount-profiles/issue
  • POST /api/v1/cloud-profiles/issue

The request and response shapes must follow the contracts in packages/contracts.

/api/v1/* endpoints require bearer auth. New nodes register with the same username and password session that users use in the web app. BETTERNAS_USERNAME and BETTERNAS_PASSWORD may be provided to seed a default account for local or self-hosted setups. Nodes and exports are owned by users, and mount profiles return the account username plus the mount URL so Finder can authenticate with that same betterNAS password. Multi-export sync should send an explicit mountPath per export so mount profiles can stay stable across runtimes.