Skip to content

CLI Commands

This page documents all available commands in the rack-gateway CLI.

These flags work with any command:

FlagShortDescription
--rack-rOverride the current rack
--configOverride config directory
--api-tokenUse API token for authentication
--mfa-codeProvide MFA code for step-up auth
--mfa-methodSpecify MFA method (totp/webauthn)
--help-hShow help for a command

Authenticate with a gateway via OAuth.

Terminal window
rack-gateway login <rack-alias> <gateway-url>

Arguments:

  • rack-alias - A name you choose for this rack (e.g., production, staging)
  • gateway-url - The gateway’s URL (e.g., https://gateway.example.com)

Example:

Terminal window
rack-gateway login production https://gateway.example.com

Revoke your session and remove local credentials.

Terminal window
rack-gateway logout [flags]

Flags:

  • --rack, -r - Logout from a specific rack (default: current rack)

Example:

Terminal window
rack-gateway logout
rack-gateway logout -r staging

Test your authentication status.

Terminal window
rack-gateway test-auth [mfa|otp|webauthn]

Example:

Terminal window
rack-gateway test-auth
rack-gateway test-auth mfa
rack-gateway test-auth webauthn

Show current rack configuration.

Terminal window
rack-gateway rack

Output:

Current rack: production
URL: https://gateway.example.com
User: developer@company.com
Role: deployer

List all configured racks.

Terminal window
rack-gateway racks

Output:

RACK URL USER
* production https://gateway-prod.example.com developer@company.com
staging https://gateway-staging.example.com developer@company.com

Switch to a different rack.

Terminal window
rack-gateway switch <rack-alias>

Example:

Terminal window
rack-gateway switch staging

These commands are proxied to the Convox rack API. They work the same as the native convox CLI commands.

List applications.

Terminal window
rack-gateway apps

Create a new build.

Terminal window
rack-gateway build [flags]

Flags:

  • -a, --app - Application name
  • -d, --description - Build description
  • --manifest - Path to convox.yml (default: convox.yml)

Example:

Terminal window
rack-gateway build -a myapp -d "Deploy v1.2.3"

List builds for an application.

Terminal window
rack-gateway builds -a <app>

Deploy an application (build + promote).

Terminal window
rack-gateway deploy [flags]

Flags:

  • -a, --app - Application name
  • -d, --description - Deploy description
  • --manifest - Path to convox.yml

Example:

Terminal window
rack-gateway deploy -a myapp

Manage environment variables.

Terminal window
rack-gateway env [command] -a <app>

Subcommands:

  • rack-gateway env -a <app> - List environment variables
  • rack-gateway env set VAR=value -a <app> - Set a variable
  • rack-gateway env unset VAR -a <app> - Remove a variable

Example:

Terminal window
rack-gateway env -a myapp
rack-gateway env set DATABASE_URL=postgres://... -a myapp
rack-gateway env unset DEBUG -a myapp

Execute a command in a running process.

Terminal window
rack-gateway exec <process> <command> -a <app>

Example:

Terminal window
rack-gateway exec web "rails console" -a myapp
rack-gateway exec web bash -a myapp

View application logs.

Terminal window
rack-gateway logs -a <app> [flags]

Flags:

  • -f, --follow - Stream logs in real-time
  • --since - Show logs since timestamp (e.g., 1h, 30m)
  • --filter - Filter logs by process type

Example:

Terminal window
rack-gateway logs -a myapp -f
rack-gateway logs -a myapp --since 1h --filter web

List application processes.

Terminal window
rack-gateway ps -a <app>

List releases for an application.

Terminal window
rack-gateway releases -a <app>

List resources (databases, Redis, etc.).

Terminal window
rack-gateway resources

Restart an application.

Terminal window
rack-gateway restart -a <app>

Run a one-off process.

Terminal window
rack-gateway run <process> <command> -a <app>

Example:

Terminal window
rack-gateway run web "rake db:migrate" -a myapp

Scale application processes.

Terminal window
rack-gateway scale <process>=<count> -a <app> [flags]

Flags:

  • --cpu - CPU units
  • --memory - Memory in MB

Example:

Terminal window
rack-gateway scale web=3 -a myapp
rack-gateway scale worker=2 --memory 512 -a myapp

Manage API tokens.

Terminal window
rack-gateway api-token [command]

Subcommands:

  • list - List API tokens (admin only)
  • get - Show a specific token
  • create - Create a new token
  • delete - Delete a token

Example:

Terminal window
rack-gateway api-token list
rack-gateway api-token get <token-id>
rack-gateway api-token create --name "CI/CD" --role deployer
rack-gateway api-token delete <token-id>

Manage deploy approval requests.

Terminal window
rack-gateway deploy-approval [command]

Subcommands:

  • list - List pending approvals
  • approve - Approve a request
  • request - Create a new approval request
  • show - Show request details
  • wait - Wait for a request decision

Example:

Terminal window
rack-gateway deploy-approval list
rack-gateway deploy-approval approve <request-id>
rack-gateway deploy-approval show <request-id>
rack-gateway deploy-approval request --app myapp --git-commit <sha> --message "Deploy"
rack-gateway deploy-approval wait <request-id>

Show gateway server information.

Terminal window
rack-gateway gateway

Output:

Gateway URL: https://gateway.example.com
Gateway Version: v0.1.0
Rack Alias: production

Show version information.

Terminal window
rack-gateway version

Output:

CLI version: v0.1.0
Gateway version: v0.1.0
Rack version: 3.18.4

Open the gateway web UI in your browser.

Terminal window
rack-gateway web

Generate shell completion scripts.

Terminal window
rack-gateway completion <shell>

Supported shells: bash, zsh, fish, powershell

Example:

Terminal window
rack-gateway completion bash > /etc/bash_completion.d/rack-gateway
source <(rack-gateway completion zsh)

Deploy to production:

Terminal window
rack-gateway deploy -a myapp -r production

Check logs across environments:

Terminal window
rack-gateway logs -a myapp -r staging --since 1h
rack-gateway logs -a myapp -r production -f

Scale for high traffic:

Terminal window
rack-gateway scale web=5 -a myapp -r production

Run migrations:

Terminal window
rack-gateway run web "rake db:migrate" -a myapp -r production

Emergency rollback:

Terminal window
rack-gateway releases -a myapp -r production
# Note the previous release ID
rack-gateway releases rollback <release-id> -a myapp -r production

For any command, add --help to see available options:

Terminal window
rack-gateway --help
rack-gateway deploy --help
rack-gateway env --help