How to publish to a registry
Publish a packed package into a registry — a local directory, or a Cloudflare Worker (R2 blobs + D1/KV index).
Local registry
tamias registry serve --addr 127.0.0.1:8788 --dir ~/.local/share/tamias/registry &
tamias publish ./hello --registry http://127.0.0.1:8788
tamias search hello --registry http://127.0.0.1:8788registry serve is an open dev server — anyone who can reach the port can read and write the index. Set TAMIAS_REGISTRY_SERVE_TOKEN before serving and clients must send Authorization: Bearer <token> (the client's token comes from TAMIAS_REGISTRY_TOKEN).
Without --registry, publish writes to the default local directory.
Consume it
tamias install ./hello # a path
tamias install https://host/hello-0.1.0.tgz#sha256:<hex>Digest-pin the tarball (#sha256:<hex>) when you have the bytes.
Cloudflare registry
Write the Worker + config:
shtamias deploy-registry --out ./tamias-registry-workerDeploy the Worker with your Cloudflare account and bind R2 + D1/KV.
Point a registry entry at it. In
tamias.yml:yamlregistries: cloud: kind: cf url: https://tamias-registry.you.workers.dev token_env: TAMIAS_CF_TOKEN # env var NAME — never the tokenPublish + search through it:
shtamias publish ./hello --registry https://tamias-registry.you.workers.dev
The protocol is the same either way: the client does a read-modify-write of index.json; the server is a token-guarded blob store (GET/PUT /<key>). Auth is a bearer token — the config token_env field names the env var that carries it; in practice the http client reads TAMIAS_REGISTRY_TOKEN. Never inline a token.