CLI Reference
The Vultrino CLI provides complete control over credential management, server operations, and administration.
Global Options
vultrino [OPTIONS] <COMMAND>
Options:
-c, --config <FILE> Path to config file
-v, --verbose Enable verbose output
-h, --help Print help
-V, --version Print version
Environment Variables
| Variable | Description |
|---|---|
VULTRINO_PASSWORD | Storage encryption password (required) |
VULTRINO_CONFIG | Path to config file |
RUST_LOG | Log level (trace, debug, info, warn, error) |
Commands
init
Initialize a new Vultrino instance.
vultrino init [OPTIONS]
Options:
--force Overwrite existing configuration
This command:
- Creates the credentials storage file
- Prompts for admin username and password
- Sets up initial configuration
Example:
export VULTRINO_PASSWORD="your-secure-password"
vultrino init
# Enter admin username: admin
# Enter admin password: ********
add
Add a new credential to storage.
vultrino add [OPTIONS]
Options:
-a, --alias <ALIAS> Human-readable name (required)
-t, --type <TYPE> Credential type [default: api_key]
-k, --key <KEY> API key or secret value
-u, --username <USERNAME> Username (for basic auth)
-p, --password <PASSWORD> Password (for basic auth)
--description <DESC> Optional description
Credential Types:
api_key— API key or tokenbasic_auth— Username and passwordoauth2— OAuth2 credentials (client ID, secret, tokens)private_key— SSH or signing key
Examples:
# Add an API key
vultrino add --alias github-api --key ghp_xxx...
# Add basic auth credentials
vultrino add --alias jira-api --type basic_auth \
--username user@example.com --password secret123
# Add with description
vultrino add --alias stripe-api --key sk_live_xxx \
--description "Production Stripe key"
list
List all stored credentials.
vultrino list [OPTIONS]
Options:
--json Output as JSON
Example:
vultrino list
# ID Alias Type Created
# 550e8400-e29b-41d4-a716-446655440000 github-api api_key 2024-01-15
# 6ba7b810-9dad-11d1-80b4-00c04fd430c8 stripe-api api_key 2024-01-16
get
Get details about a specific credential.
vultrino get <ALIAS>
Options:
--show-secret Display the secret value (use with caution)
Example:
vultrino get github-api
# Alias: github-api
# Type: api_key
# Created: 2024-01-15T10:30:00Z
# Description: GitHub personal access token
delete
Remove a credential from storage.
vultrino delete <ALIAS>
Options:
--force Skip confirmation prompt
Example:
vultrino delete old-api-key
# Are you sure you want to delete 'old-api-key'? [y/N] y
# Deleted credential: old-api-key
serve
Start the HTTP proxy server.
vultrino serve [OPTIONS]
Options:
-b, --bind <ADDR> Bind address [default: 127.0.0.1:7878]
--mcp Start as MCP server (stdio transport)
Examples:
# Start HTTP proxy
vultrino serve
# Listening on http://127.0.0.1:7878
# Start on custom port
vultrino serve --bind 0.0.0.0:8080
# Start MCP server for AI agents
vultrino serve --mcp
web
Start the web administration UI.
vultrino web [OPTIONS]
Options:
-b, --bind <ADDR> Bind address [default: 127.0.0.1:7879]
Example:
vultrino web
# Web UI available at http://127.0.0.1:7879
request
Make an authenticated HTTP request.
vultrino request [OPTIONS] <URL>
Options:
-c, --credential <ALIAS> Credential to use (required)
-X, --method <METHOD> HTTP method [default: GET]
-H, --header <HEADER> Additional headers (can be repeated)
-d, --data <DATA> Request body
--json Output response as JSON
Examples:
# Simple GET request
vultrino request -c github-api https://api.github.com/user
# POST with JSON body
vultrino request -c stripe-api \
-X POST \
-H "Content-Type: application/json" \
-d '{"amount": 1000, "currency": "usd"}' \
https://api.stripe.com/v1/charges
# With verbose output
vultrino request -c api-key https://api.example.com/data --json
role
Manage RBAC roles.
vultrino role <SUBCOMMAND>
Subcommands:
create Create a new role
list List all roles
get Get role details
delete Delete a role
Create a role:
vultrino role create <NAME> [OPTIONS]
Options:
-p, --permissions <PERMS> Comma-separated: read,write,update,delete,execute
-s, --scopes <SCOPES> Credential patterns (glob): "github-*,stripe-*"
-d, --description <DESC> Role description
Examples:
# Create read-only role
vultrino role create readonly --permissions read
# Create role for GitHub credentials only
vultrino role create github-executor \
--permissions read,execute \
--scopes "github-*" \
--description "Execute requests with GitHub credentials"
# List roles
vultrino role list
# Delete role
vultrino role delete old-role
key
Manage API keys for programmatic access.
vultrino key <SUBCOMMAND>
Subcommands:
create Create a new API key
list List all API keys
revoke Revoke an API key
Create an API key:
vultrino key create <NAME> [OPTIONS]
Options:
-r, --role <ROLE> Role to assign (required)
-e, --expires <DURATION> Expiration (e.g., "30d", "1y")
Examples:
# Create key with role
vultrino key create my-app --role github-executor
# Created API key: vk_a1b2c3d4e5f6...
# (Save this key - it won't be shown again)
# Create key with expiration
vultrino key create temp-key --role readonly --expires 7d
# List keys
vultrino key list
# Revoke key
vultrino key revoke vk_a1b2c3d4
completions
Generate shell completions.
vultrino completions <SHELL>
Shells:
bash, zsh, fish, powershell
Examples:
# Bash
vultrino completions bash > /etc/bash_completion.d/vultrino
# Zsh
vultrino completions zsh > ~/.zfunc/_vultrino
# Fish
vultrino completions fish > ~/.config/fish/completions/vultrino.fish
Exit Codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | General error |
| 2 | Invalid arguments |
| 3 | Credential not found |
| 4 | Permission denied |
| 5 | Storage error |
Tips
Use Aliases
Add to your shell profile:
alias vreq='vultrino request'
alias vcred='vultrino list'
Store Password Securely
On macOS, use Keychain:
security add-generic-password -a vultrino -s vultrino -w "your-password"
export VULTRINO_PASSWORD=$(security find-generic-password -a vultrino -s vultrino -w)
On Linux, use a secrets manager or environment file:
# ~/.vultrino-env (chmod 600)
export VULTRINO_PASSWORD="your-password"
# In shell profile
source ~/.vultrino-env