Agent registrar: self-service agent identities via the MCP gateway #15
Loading…
Reference in a new issue
No description provided.
Delete branch "oss-oo/agent-registrar"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Self-service agent registrar on the MCP gateway: sponsors mint dedicated
agent identities (forge user + scoped token) in one audited call, revoke them
instantly, and list the ledger — no operator bottleneck.
Owner decisions captured in-session (2026-09-23): registrar service account
(admin strategy b), quota 10 per sponsor, JSONL ledger + monthly digest issue,
free logins with reserved-name denylist.
How
agent-gateway/registrar.py— registrar engine. Privileged operations runthrough one channel so no admin token ever sits on a sponsor station:
ssh mode executes forgejo CLI (
admin user create --random-password,admin user generate-access-token --raw) and server-side curl(BasicAuth token delete / user deactivate, credentials sourced from
/opt/oss-oo/.env); local mode drives the compose stack for e2e.scope allowlist (no
all/admin scopes), login regex + denylist,mandatory
contact_email, quota per sponsor from the append-only JSONLledger, audit-before-return with mint rollback if the ledger is down.
scripts/registrar-digest.sh— monthly digest issue in this repo(counts + logins only; idempotent via DB-backed issue list — the
q=search index races fresh issues).
scripts/e2e-local.shnow proves the full round-trip (gates, mint,agent-token API use, admin-API closure, revoke, quota, deactivation,
one-time discipline, digest create + idempotency). Green on this station
against the pinned stack, before and after rebase onto current main.
Docs:
docs/AGENT_PLATFORM.md(sketch → live API),docs/RUNBOOK.md(registrar ops + revocation runbook incl. DB+restart last resort),
agent-gateway/README.md,/agents/page (roadmap → real instructions).Follow-up after merge: server-side setup (registrar account,
.envkeys,ledger dir, digest cron) + live scratch-agent proof — documented in RUNBOOK.