betterNAS/apps/node-agent
Harivansh Rathi 160618596a Fix macOS Finder WebDAV mount by handling GET on directories
Go's webdav.Handler returns 405 Method Not Allowed for GET on
collections (directories). macOS Finder sends GET to the WebDAV root
as part of its mount flow and refuses to connect when it gets 405.

Add a finderCompatible wrapper that intercepts GET/HEAD on directories
and returns a minimal 200 response, while passing all standard WebDAV
methods through to the underlying handler unchanged.
2026-04-01 16:42:00 -04:00
..
cmd/node-agent Fix macOS Finder WebDAV mount by handling GET on directories 2026-04-01 16:42:00 -04:00
Dockerfile setup agent runtime requirements (#7) 2026-04-01 00:37:15 -04:00
go.mod init (#5) 2026-03-31 23:50:51 -04:00
go.sum init (#5) 2026-03-31 23:50:51 -04:00
package.json pnpm, verify, cleanup (#6) 2026-03-31 23:59:52 -04:00
README.md Make control-plane the real mount authority 2026-04-01 17:46:50 +00:00

betterNAS Node Agent

Go service that runs on the NAS machine.

For the scaffold it does two things:

  • serves GET /health
  • serves a WebDAV export at /dav/
  • optionally serves multiple configured exports at deterministic /dav/exports/<slug>/ paths via BETTERNAS_EXPORT_PATHS_JSON
  • registers itself with the control plane and syncs its exports when BETTERNAS_CONTROL_PLANE_URL is configured
  • enforces issued WebDAV basic-auth mount credentials

This is the first real storage-facing surface in the monorepo.