issue-admin-key
Steps to issue a new admin key for an app
Quellinformationen
- Repository
- MystenLabs/oyster
- Letzte Quellaktivität
- 28. April 2026 um 18:49
- Erkannte Sprache von SKILL.md
- Englisch
- Sterne
- 1
- Forks
- 0
Installationsoptionen
Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prüfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.
SKILL.md wird angezeigt
SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau- name
- issue-admin-key
- description
- Steps to issue a new admin key for an app
- allowed-tools
Do NOT run any commands. Simply print the following instructions for the admin to follow.
---
# Issue an Admin Key for an App
## Prerequisites
- Access to the Oyster server where `oysterd` and the database are available.
No special env var is needed for issuance — admin keys are stored in the
`app_admin_keys` table, hashed with BLAKE2s-256.
## Steps
1. Look up (or create) the app:
- List apps: `oysterd app list`
- Create one: `oysterd app new --name "<name>" --contact_email "<email>"`
(auto-issues a first admin key by default; pass `--no-key` to opt out).
2. Issue an admin key: `oysterd app issue-admin-key <APP_ID>`
- Stdout: the raw 64-char hex Bearer token (single line).
- Stderr: the new key id and 8-char prefix — keep these for auditing /
later revocation.
3. Hand the printed admin key to the user. It does not expire.
## Rotation
Admin keys are long-lived; rotation is voluntary. Use AWS-style two-key
overlap so no caller is interrupted:
1. `oysterd app issue-admin-key <APP_ID>` — issue a new key alongside the
old one.
2. Have the user import it (`oyster app import <name>` or update their
config) and confirm their workloads have switched.
3. `oysterd app revoke-admin-key <OLD_KEY_ID>` — revoke the old key.
Revocation is immediate; there is no caching.
## Auditing
- `oysterd app list-admin-keys <APP_ID>` — TSV listing of every key for
the app, including revoked ones (id, prefix, created_at, revoked_at).
## Notes
- Multiple admin keys per app are supported with no cap.
- Wire format: `Authorization: Bearer <64-char hex>`. Same shape as data
plane API keys; routing decides which credential table the bearer is
looked up in.
- Relevant code: `crates/oyster/src/app_admin.rs`,
`crates/oyster/src/db/app_admin_keys.rs`, `crates/oyster/src/main.rs`.
Auf GitHub ansehen