Why Deploy Tokens?
Deployment tokens let CI/CD runners fetch and decrypt Ghostable secrets without relying on a human-linked device. Each token targets a single environment and carries:GHOSTABLE_CI_TOKEN— authenticates API calls (list, pull, deploy, etc.).GHOSTABLE_DEPLOY_SEED— the private key used to derive environment keys.
Creating a Token
Run the CLI wizard from a trusted workstation:- You confirm (or override) the environment and name.
- The CLI mints a fresh keypair, registers the token, and re-shares the environment key with it.
- You receive the API token (
GHOSTABLE_CI_TOKEN) plus the private key (GHOSTABLE_DEPLOY_SEED). If you enter a file path when prompted (or pass--out), the seed is written there with mode 600.
If you misplace either secret, revoke the token and create a new one. Ghostable never stores the
private key in plaintext.
Listing Tokens
See which tokens exist for a given environment:Rotating a Token
Refresh the keypair (for example, before the API token expires) without changing the token ID:- The CLI mints a new encryption keypair.
- Ghostable replaces the token’s public key.
- The environment key is re-shared with the rotated token and your current device.
- You receive a new private key; update
GHOSTABLE_DEPLOY_SEEDin your CI.
--token, the CLI prompts you to select from active tokens.
Revoking a Token
Remove access immediately when a runner is retired or compromised:Tips
- One token per environment: keep scopes tight so you can revoke/rotate without affecting other deployments.
- Short expirations: the CLI supports limited lifetimes; shorter windows reduce blast radius.
- Version control: never commit the
.txtfiles produced by--out. Upload them to your secret manager and delete the local copy afterward.
Command Options Reference
Skip the prompt and target a specific environment by slug or ID.
Provide a display name ahead of time (defaults to
<env>-ci).Write the private key to a file instead of stdout. File is created with
0600 permissions.List tokens for the given environment without prompting.
Specify the environment that owns the token you’re rotating.
Rotate a particular token ID without going through the picker.
Save the replacement private key to disk (same behavior as create).
Select the owning environment non-interactively.
Revoke a specific token ID without the interactive selection step.