From 265dd4806fe9411594ec5ec0d4890c050930d625 Mon Sep 17 00:00:00 2001 From: claude-timemachine Date: Tue, 2 Jun 2026 21:20:16 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20replace=20ARCHIVED=20with=20RESHAPE=20?= =?UTF-8?q?=E2=80=94=20control-plane=20refactor=20pending?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- ARCHIVED.md | 23 ----------------------- RESHAPE.md | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 23 deletions(-) delete mode 100644 ARCHIVED.md create mode 100644 RESHAPE.md diff --git a/ARCHIVED.md b/ARCHIVED.md deleted file mode 100644 index d52c737..0000000 --- a/ARCHIVED.md +++ /dev/null @@ -1,23 +0,0 @@ -# Archived - -This repo is **archived** as of 2026-06-02. Not deployed, not maintained. - -## What this was - -Custom Go microservice for per-user file sync (Steam-Cloud-style). Reached working skeleton (33 tests passing) before being deprecated in favor of [`Timemachine/cloud-sync`](https://git.timemachine.center/Timemachine/cloud-sync)'s simpler restic-backed architecture. - -## Why deprecated - -`restic-rest-server` with `--private-repos --append-only` does everything cloud-svc would have done — snapshots, retention, chunk-level dedup, encryption, server-enforced append-only — and is already deployed on `john`. Building cloud-svc was reinventing it badly. - -See [`Timemachine/cloud-sync/DESIGN.md`](https://git.timemachine.center/Timemachine/cloud-sync/src/branch/main/DESIGN.md) for the chosen architecture. - -## What's preserved here - -- Commit history (skeleton through pivot decision) -- `DESIGN.md` — the original design; useful as a record of what was considered -- 33 tests covering the abandoned API surface - -## What to do if you land here - -Use [`Timemachine/cloud-sync`](https://git.timemachine.center/Timemachine/cloud-sync) instead. This repo is for reference only; no PRs accepted, no security fixes shipped, no production use. diff --git a/RESHAPE.md b/RESHAPE.md new file mode 100644 index 0000000..7533386 --- /dev/null +++ b/RESHAPE.md @@ -0,0 +1,34 @@ +# 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.