Laravel Vault Suite ships with operational commands for the workflows engineers run daily. Each command accepts a --driver flag so you can target any backend defined in config/vault-suite.php.
Before running commands:
VAULT_ADDR, VAULT_TOKEN, …).--driver=<name>.vault:statusShows the current seal status of the configured backend.
php artisan vault:status --driver=openbao
The command prints cluster information and whether additional key shares are required. Exit code is always 0; check the Sealed column for state.
vault:unsealSubmit key shares to unseal a Vault/OpenBao cluster.
php artisan vault:unseal key1 key2 key3
| Argument / Option | Description |
|---|---|
keys* |
Key shares passed inline; they are submitted sequentially. |
--file= |
Path to newline-separated key shares (comments starting with # are ignored). |
--driver= |
Override the backend driver (defaults to configuration). |
--reset |
Reset the unseal process before providing key shares. |
--migrate |
Pass the migrate flag when changing seal types. |
Exit codes: 0 when unsealed, 1 when the backend remains sealed or keys cannot be read.
vault:enable-engineEnable or reconfigure a secrets engine.
php artisan vault:enable-engine secret/apps --option=version=2
| Option | Description |
|---|---|
path (argument) |
Mount path for the secrets engine. |
--type= |
Engine type (kv, database, …). Defaults to kv. |
--driver= |
Backend driver override. |
--description= |
Optional human-friendly description. |
--option= |
Key/value forwarded to the engine options (repeatable). |
--config= |
Key/value forwarded to engine config (repeatable). |
--local |
Mount locally on the current node only. |
--seal-wrap |
Enable seal wrapping for the engine. |
Boolean strings (true, false), null, and numerics are automatically cast. Quote complex strings: --option='allowed_roles="app,worker"'.
vault:listList secrets beneath a path.
php artisan vault:list secret/apps --driver=openbao --engine-version=1
| Option | Description |
|---|---|
path (argument) |
Secret path to list. |
--driver= |
Backend driver override. |
--mount= |
Override the mount configured in config/vault-suite.php. |
--engine-version= |
KV engine version (1 or 2). |
Outputs each key on its own line. Directories are suffixed with / following Vault’s API conventions.
vault:readFetch a secret (or a specific key within it).
php artisan vault:read secret/apps/database --key=password --json
| Option | Description |
|---|---|
path (argument) |
Secret path to read. |
--key= |
Return a single key from the secret payload. |
--driver= |
Backend driver override. |
--mount= |
Override the mount configured in config/vault-suite.php. |
--engine-version= |
KV engine version (1 or 2). |
--json |
Output raw JSON instead of table formatting. |
When --key is not supplied, the command prints each key/value pair. Use --json for machine-readable output.
0 on success and 1 on validation/backend failure (except vault:status, which always succeeds and leaves state inspection to you).Future additions—auth helpers, secret rotation, health checks—are tracked on the project roadmap.