265dd4806f
Earlier commit archived this repo entirely. Better plan: keep it alive as the control plane for the restic data store. RESHAPE.md points at cloud-sync/DESIGN.md for the chosen architecture and flags that the current /v1/* API surface is going away.
35 lines
1.4 KiB
Markdown
35 lines
1.4 KiB
Markdown
# cloud-svc — pending reshape
|
|
|
|
The current `main`'s `/v1/*` player-facing API is being replaced. cloud-svc is reshaping into a **control plane** for a restic-backed data store. Players hit `restic-rest-server` directly; cloud-svc handles provisioning + operator ops.
|
|
|
|
See [`Timemachine/cloud-sync/DESIGN.md`](https://git.timemachine.center/Timemachine/cloud-sync/src/branch/main/DESIGN.md) for the chosen architecture.
|
|
|
|
## What's coming
|
|
|
|
| Listener | Bind | Endpoints | Caller |
|
|
|---|---|---|---|
|
|
| Provisioning | `automc-net:9091` | `POST /admin/users` | discord-bot |
|
|
| Operator | `127.0.0.1:9092` | `GET/DELETE /admin/users`, `POST /admin/users/{id}/prune`, quota stats | `automc-setup cloud …` via SSH |
|
|
|
|
## What's getting deleted from this repo
|
|
|
|
- `manifest.go` (manifest types + validation)
|
|
- `storage.go` body (blob/tarball storage)
|
|
- `server.go` body (player `/v1/*` endpoints)
|
|
- ~70% of current tests (the player-facing surface)
|
|
|
|
## What's getting kept
|
|
|
|
- `go.mod`, `Dockerfile`, `Makefile`, `.gitea/workflows/ci.yaml`
|
|
- `auth.go` cache pattern (reused for provisioning token verification)
|
|
- Per-user mutex pattern from `storage.go`
|
|
- `config.go` env-loader
|
|
|
|
## Estimated scope
|
|
|
|
~300 LOC kept, ~600 LOC new for the control plane. Net smaller than current cloud-svc.
|
|
|
|
## Don't build against the current API
|
|
|
|
If you're somehow looking at this repo right now: the `/v1/*` endpoints are going away. Wait for the reshape commit to land before depending on anything here.
|