CLI reference

Global flags

FlagDescription
--api, -aAPI base URL (default: https://api.hadoken.dev)
--project, -pProject name override
--jsonMachine-readable JSON output
--quiet, -qMinimal output
--debugDiagnostic output
--no-colorDisable ANSI colors

hadoken signup

Create an account. Prompts for email, username, and password (min 8 characters). Sends a verification email and waits for confirmation, then logs you in.

$ hadoken signup

hadoken login

Log in to an existing account.

FlagDescription
--username, -uUsername
--password-stdinRead password from stdin
--tokenAPI token (instead of username/password)
$ hadoken login $ echo "$PASS" | hadoken login -u myuser --password-stdin

hadoken forgot-password

Request a password reset email.

FlagDescription
--email, -eEmail address (or prompted)
$ hadoken forgot-password --email user@example.com

hadoken reset-password

Set a new password using the token from your reset email. Prompts for new password and confirmation. All existing sessions are invalidated -- you must log in again afterward.

FlagDescription
--token, -tReset token from email
$ hadoken reset-password --token <token> New password: ******** Confirm password: ********

hadoken logout

Remove stored credentials. Use --all to clear all profiles.

hadoken whoami

Show current identity.

$ hadoken whoami User: myuser Status: active API: https://api.hadoken.dev

hadoken init

Detect your Rails app and create a project. You can also skip this -- the first hadoken deploy auto-initializes.

FlagDescription
--nameProject name (default: directory basename)
--databaseOverride database: auto, sqlite, postgresql, mysql
--forceOverwrite existing config
--yes, -yAccept defaults

What init detects

PropertySource
Rails versionGemfile.lock
Ruby version.ruby-version or Gemfile
Databasesqlite3, pg, or mysql2 gem

hadoken / hadoken deploy

Deploy the current app. Bare hadoken is an alias for hadoken deploy.

FlagDescription
--message, -mDeploy annotation
--waitWait for completion (default: true)
--timeoutTimeout (default: 20m)
--verbose, -vShow build logs
--include-untrackedInclude untracked files
--dry-runValidate only, don't deploy
--yes, -yAccept defaults
--confirm-dirtyProceed with uncommitted changes
$ hadoken # deploy $ hadoken deploy -v # deploy with build logs $ hadoken deploy --dry-run # validate only $ hadoken deploy -m "fix login bug" # with annotation

hadoken status

Check deploy status.

FlagDescription
--deployDeploy ID (default: latest)
--watchPoll until done
--intervalPoll interval (default: 3s)
$ hadoken status Project: myapp Deploy: d-abc123 Status: live URL: https://myapp.hadoken.app

hadoken logs

View app logs.

FlagDescription
--follow, -fStream in real-time
--sinceSince duration or timestamp (default: 15m)
--tailNumber of lines (default: 200)
$ hadoken logs # last 15 minutes $ hadoken logs -f # stream live $ hadoken logs --since 1h # last hour

hadoken env

Manage environment variables. See Environment variables.

$ hadoken env # list (masked) $ hadoken env --unmask # list (plaintext) $ hadoken env set KEY=VALUE $ hadoken env get KEY $ hadoken env unset KEY

hadoken console

Open a Rails console on the running app. Requires kubectl in your PATH.

$ hadoken console

hadoken run

Run a one-off command on the running app.

FlagDescription
--interactive, -iAllocate TTY
$ hadoken run -- rails db:migrate $ hadoken run -- rails db:seed $ hadoken run -i -- bash

hadoken open

Open the app in your browser.

$ hadoken open

hadoken destroy

Tear down all resources. You must type the project name to confirm (or use --yes).

$ hadoken destroy Type project name to confirm: myapp Destroying myapp... done

hadoken completion

Generate shell completions for bash, zsh, fish, or powershell.

$ hadoken completion bash >> ~/.bashrc $ hadoken completion zsh >> ~/.zshrc