Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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

VariableDescription
VULTRINO_PASSWORDStorage encryption password (required)
VULTRINO_CONFIGPath to config file
RUST_LOGLog level (trace, debug, info, warn, error)

Commands

init

Initialize a new Vultrino instance.

vultrino init [OPTIONS]

Options:
  --force    Overwrite existing configuration

This command:

  1. Creates the credentials storage file
  2. Prompts for admin username and password
  3. 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 token
  • basic_auth — Username and password
  • oauth2 — 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

CodeMeaning
0Success
1General error
2Invalid arguments
3Credential not found
4Permission denied
5Storage 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