90ac4b169c069aa4232019657196355c660be8ec
- ids: TestIDsAreTimeOrdered asserted strict lexicographic ordering of back-to-back UUIDv7s, but the sub-ms tail is random and not required to be monotonic. Sleep between samples so each ID lands in a distinct millisecond — the property that actually gives Postgres index locality on (org_id, id desc). - go.mod/go.sum: run go mod tidy. keyfunc/v3, prometheus/client_golang and testcontainers-go/modules/postgres are imported directly and should not be marked // indirect; also drops stale sum entries. - gofmt -w across 12 files flagged by the lint job. - security.yml: pin govulncheck to v1.2.0. @latest triggers a proxy lookup every run, which is the step that hung for 16m on the Gitea runner. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
anchorage
Highly-available, multi-tenant IPFS Pinning Service wire-compatible with the IPFS Pinning Services API spec.
Each anchorage instance is paired 1:1 with its own Kubo daemon and joins an embedded NATS cluster for signaling. Postgres is the source of truth for all durable state (pins, placements, orgs, users, tokens, audit log).
Status: skeleton complete, milestones 1–22 all landed end-to-end. The in-memory store is in place for dev; the pgx-backed store slots in once sqlc generates the code from sqlc.yaml + queries/.
See:
- docs/architecture.md
- docs/cluster-ops.md — drain / maintenance procedures
- docs/auth-flow.md — how anchorage handles humans + API clients
- docs/authentik-setup.md — configuring Authentik as the OIDC provider
- deploy/README.md — deb/rpm install + Swarm stack deploy
Quickstart (dev)
make build
./bin/anchorage version
Layout
cmd/anchorage/— thinmainentry point.internal/cmd/— Cobra command tree (version, soonserve,migrate,admin).internal/app/anchorage/— composition root (wires deps, lifecycle).internal/pkg/— domain packages (config,store,pin,ipfs, ...).configs/— example Viper YAML.docs/— architecture, auth flow, operations.
Development
make check # fmt + vet + lint + test + vuln
make test # go test -race ./...
make build # ./bin/anchorage
Languages
Go
94.8%
PLpgSQL
2.9%
Makefile
0.9%
Dockerfile
0.7%
Shell
0.7%