# CLI Commands Reference Complete command-line interface documentation for the Provisioning platform covering 111+ commands across 11 domain modules. ## Command Structure All commands follow the pattern: ```bash provisioning [resource] [flags] ``` **Common Flags** (available on most commands): - `--yes` - Skip confirmation prompts (auto-yes) - `--check` - Dry-run mode, show what would happen without executing - `--wait` - Wait for async operations to complete - `--format ` - Output format (default: table) - `--verbose` - Detailed output with debug information - `--quiet` - Minimal output, errors only - `--help` - Show command help ## Quick Reference **Shortcuts** - Single-letter aliases for common domains: ```bash provisioning s = provisioning server provisioning t = provisioning taskserv provisioning c = provisioning cluster provisioning w = provisioning workspace provisioning cfg = provisioning config provisioning b = provisioning batch ``` **Help Navigation** - Bi-directional help system: ```bash provisioning help server = provisioning server help provisioning help ws = provisioning workspace help ``` ## Domain Modules The CLI is organized into 11 domain modules: 1. **[Infrastructure](#infrastructure-commands)** - Server, provider, network management 2. **[Orchestration](#orchestration-commands)** - Workflow, batch, task execution 3. **[Configuration](#configuration-commands)** - Config validation and management 4. **[Workspace](#workspace-commands)** - Multi-workspace operations 5. **[Development](#development-commands)** - Extensions and customization 6. **[Utilities](#utility-commands)** - Tools and helpers 7. **[Generation](#generation-commands)** - Schema and config generation 8. **[Authentication](#authentication-commands)** - Auth, MFA, users 9. **[Security](#security-commands)** - Vault, KMS, audit, policies 10. **[Platform](#platform-commands)** - Service control and monitoring 11. **[Guides](#guides-commands)** - Interactive documentation ## Infrastructure Commands Manage cloud infrastructure, servers, and resources. ### Server Commands **`provisioning server create [NAME]`** Create a new server or servers from infrastructure configuration. **Flags**: - `--infra ` - Nickel infrastructure file - `--plan ` - Server plan (small/medium/large/xlarge) - `--provider ` - Cloud provider (upcloud/aws/local) - `--zone ` - Availability zone - `--ssh-key ` - SSH public key path - `--tags ` - Server tags (repeatable) - `--yes` - Skip confirmation - `--check` - Dry-run mode - `--wait` - Wait for server creation **Examples**: ```bash # Create server from infrastructure file provisioning server create --infra my-cluster.ncl --yes --wait # Create single server interactively provisioning server create web-01 --plan medium --provider upcloud # Check what would be created (dry-run) provisioning server create --infra cluster.ncl --check ``` **`provisioning server delete [NAM| E ID]`** Delete servers. **Flags**: - `--all` - Delete all servers in current infrastructure - `--force` - Force deletion without cleanup - `--yes` - Skip confirmation **Examples**: ```bash # Delete specific server provisioning server delete web-01 --yes # Delete all servers provisioning server delete --all --yes ``` **`provisioning server list`** List all servers in the current workspace. **Flags**: - `--provider ` - Filter by provider - `--state ` - Filter by state (running/stopped/error) - `--format ` - Output format **Examples**: ```bash # List all servers provisioning server list # List only running servers provisioning server list --state running --format json ``` **`provisioning server status [NAM| E ID]`** Get detailed server status. **Examples**: ```bash provisioning server status web-01 provisioning server status --all ``` **`provisioning server ssh [NAM| E ID]`** SSH into a server. **Examples**: ```bash provisioning server ssh web-01 provisioning server ssh web-01 -- "systemctl status kubelet" ``` ### Provider Commands **`provisioning provider list`** List available cloud providers. **`provisioning provider validate `** Validate provider configuration and credentials. **Examples**: ```bash provisioning provider validate upcloud provisioning provider validate aws ``` **`provisioning provider zones `** List available zones for a provider. **Examples**: ```bash provisioning provider zones upcloud provisioning provider zones aws --region us-east-1 ``` ## Orchestration Commands Execute workflows, batch operations, and manage tasks. ### Workflow Commands **`provisioning workflow submit `** Submit a workflow for execution. **Flags**: - `--priority ` - Priority (low/normal/high/critical) - `--checkpoint` - Enable checkpoint recovery - `--wait` - Wait for completion **Examples**: ```bash # Submit workflow and wait provisioning workflow submit deploy.ncl --wait # Submit with high priority provisioning workflow submit urgent.ncl --priority high ``` **`provisioning workflow status `** Get workflow execution status. **Examples**: ```bash provisioning workflow status wf-20260116-abc123 ``` **`provisioning workflow list`** List workflows. **Flags**: - `--state ` - Filter by state (queued/running/completed/failed) - `--limit ` - Maximum results **Examples**: ```bash # List running workflows provisioning workflow list --state running # List failed workflows provisioning workflow list --state failed --format json ``` **`provisioning workflow cancel `** Cancel a running workflow. **Examples**: ```bash provisioning workflow cancel wf-20260116-abc123 --yes ``` **`provisioning workflow resume `** Resume a failed workflow from checkpoint. **Flags**: - `--from ` - Resume from specific checkpoint - `--skip-failed` - Skip failed tasks **Examples**: ```bash # Resume from last checkpoint provisioning workflow resume wf-20260116-abc123 # Resume from specific checkpoint provisioning workflow resume wf-20260116-abc123 --from create-servers ``` **`provisioning workflow logs `** View workflow logs. **Flags**: - `--task ` - Show logs for specific task - `--follow` - Stream logs in real-time - `--lines ` - Number of lines (default: 100) **Examples**: ```bash # View all workflow logs provisioning workflow logs wf-20260116-abc123 # Follow logs in real-time provisioning workflow logs wf-20260116-abc123 --follow # View specific task logs provisioning workflow logs wf-20260116-abc123 --task install-k8s ``` ### Batch Commands **`provisioning batch submit `** Submit a batch workflow with multiple operations. **Flags**: - `--parallel ` - Maximum parallel operations - `--wait` - Wait for completion **Examples**: ```bash # Submit batch workflow provisioning batch submit multi-region.ncl --parallel 3 --wait ``` **`provisioning batch status `** Get batch workflow status with progress. **`provisioning batch monitor `** Monitor batch execution in real-time. ## Configuration Commands Validate and manage configuration. **`provisioning config validate`** Validate current configuration. **Flags**: - `--infra ` - Specific infrastructure file - `--all` - Validate all configuration files **Examples**: ```bash # Validate workspace configuration provisioning config validate # Validate specific infrastructure provisioning config validate --infra cluster.ncl ``` **`provisioning config show`** Display effective configuration. **Flags**: - `--key ` - Show specific config value - `--format ` - Output format **Examples**: ```bash # Show all configuration provisioning config show # Show specific value provisioning config show --key paths.base # Export as JSON provisioning config show --format json > config.json ``` **`provisioning config reload`** Reload configuration from files. **`provisioning config diff`** Show configuration differences between environments. **Flags**: - `--from ` - Source environment - `--to ` - Target environment ## Workspace Commands Manage isolated workspaces. **`provisioning workspace init `** Initialize a new workspace. **Flags**: - `--template ` - Workspace template - `--path ` - Custom workspace path **Examples**: ```bash # Create workspace from default template provisioning workspace init my-project # Create from template provisioning workspace init prod --template production ``` **`provisioning workspace switch `** Switch to a different workspace. **Examples**: ```bash provisioning workspace switch production provisioning workspace switch dev ``` **`provisioning workspace list`** List all workspaces. **Flags**: - `--format ` - Output format **Examples**: ```bash provisioning workspace list provisioning workspace list --format json ``` **`provisioning workspace current`** Show current active workspace. **`provisioning workspace delete `** Delete a workspace. **Flags**: - `--force` - Force deletion without cleanup - `--yes` - Skip confirmation ## Development Commands Develop custom extensions. **`provisioning extension create `** Create a new extension. **Types**: `provider`, `taskserv`, `cluster`, `workflow` **Flags**: - `--template ` - Extension template **Examples**: ```bash # Create new task service provisioning extension create taskserv my-service # Create new provider provisioning extension create provider my-cloud --template basic ``` **`provisioning extension validate `** Validate extension structure and configuration. **`provisioning extension package `** Package extension for distribution (OCI format). **Flags**: - `--version ` - Extension version - `--output ` - Output file path **Examples**: ```bash provisioning extension package ./my-service --version 1.0.0 ``` **`provisioning extension install `** Install an extension from registry or file. **Examples**: ```bash # Install from registry provisioning extension install kubernetes # Install from local file provisioning extension install ./my-service.tar.gz ``` **`provisioning extension list`** List installed extensions. **Flags**: - `--type ` - Filter by type - `--available` - Show available (not installed) ## Utility Commands Helper commands and tools. **`provisioning version`** Show platform version information. **Flags**: - `--check` - Check for updates **Examples**: ```bash provisioning version provisioning version --check ``` **`provisioning health`** Check platform health. **Flags**: - `--service ` - Check specific service **Examples**: ```bash # Check all services provisioning health # Check specific service provisioning health --service orchestrator ``` **`provisioning diagnostics`** Run platform diagnostics. **Flags**: - `--output ` - Save diagnostic report **Examples**: ```bash provisioning diagnostics --output diagnostics.json ``` **`provisioning setup versions`** Generate versions file from Nickel schemas. **Examples**: ```bash # Generate /provisioning/core/versions file provisioning setup versions # Use in shell scripts source /provisioning/core/versions echo "Nushell version: $NU_VERSION" ``` ## Generation Commands Generate schemas, configurations, and infrastructure code. **`provisioning generate config `** Generate configuration templates. **Types**: `workspace`, `infrastructure`, `provider` **Flags**: - `--output ` - Output file path - `--format ` - Output format (nickel/yaml/toml) **Examples**: ```bash # Generate workspace config provisioning generate config workspace --output config.ncl # Generate infrastructure template provisioning generate config infrastructure --format nickel ``` **`provisioning generate schema `** Generate Nickel schema from existing configuration. **`provisioning generate docs`** Generate documentation from schemas. ## Authentication Commands Manage authentication and user accounts. **`provisioning auth login`** Authenticate to the platform. **Flags**: - `--user ` - Username - `--password ` - Password (prompt if not provided) - `--mfa ` - MFA code **Examples**: ```bash # Interactive login provisioning auth login --user admin # Login with MFA provisioning auth login --user admin --mfa 123456 ``` **`provisioning auth logout`** Logout and invalidate tokens. **`provisioning auth token`** Display or refresh authentication token. **Flags**: - `--refresh` - Refresh the token **`provisioning auth user create `** Create a new user (admin only). **Flags**: - `--email ` - User email - `--roles ` - Comma-separated roles **Examples**: ```bash provisioning auth user create developer --email [dev@example.com](mailto:dev@example.com) --roles developer,operator ``` **`provisioning auth user list`** List all users (admin only). **`provisioning auth user delete `** Delete a user (admin only). ## Security Commands Manage secrets, encryption, audit logs, and policies. ### Vault Commands **`provisioning vault store `** Store a secret. **Flags**: - `--value ` - Secret value - `--file ` - Read value from file **Examples**: ```bash # Store secret interactively provisioning vault store database/postgres/password # Store from value provisioning vault store api/key --value "secret-value" # Store from file provisioning vault store ssh/key --file ~/.ssh/id_rsa ``` **`provisioning vault get `** Retrieve a secret. **Flags**: - `--version ` - Specific version - `--output ` - Save to file **Examples**: ```bash # Get latest secret provisioning vault get database/postgres/password # Get specific version provisioning vault get database/postgres/password --version 2 ``` **`provisioning vault list`** List all secret paths. **Flags**: - `--prefix ` - Filter by path prefix **`provisioning vault delete `** Delete a secret. ### KMS Commands **`provisioning kms encrypt `** Encrypt a file or data. **Flags**: - `--key ` - Key ID - `--output ` - Output file **Examples**: ```bash # Encrypt file provisioning kms encrypt config.yaml --key master-key --output config.enc # Encrypt string echo "sensitive data" | provisioning kms encrypt --key master-key ``` **`provisioning kms decrypt `** Decrypt encrypted data. **Flags**: - `--output ` - Output file **`provisioning kms create-key `** Create a new encryption key. **Flags**: - `--algorithm ` - Algorithm (default: AES-256-GCM) **`provisioning kms list-keys`** List all encryption keys. **`provisioning kms rotate-key `** Rotate an encryption key. ### Audit Commands **`provisioning audit query`** Query audit logs. **Flags**: - `--user ` - Filter by user - `--action ` - Filter by action - `--resource ` - Filter by resource - `--start