Skip to main content
New to the CLI? Check out the CLI Guide for workflows and examples.
pullbasectl ships with the Pullbase Docker image and is available inside the container at /pullbasectl. You can run it from the host by invoking the container or by copying the binary out of the image.

Global options

These options are available on most commands:
Set the environment variable PULLBASE_ADMIN_TOKEN to avoid repeating --admin-token on every command:

Authentication commands

pullbasectl auth bootstrap-admin

Initializes the first admin using the one-time bootstrap secret.

pullbasectl auth login

Exchange a username and password for an admin JWT.
Use the returned token for subsequent CLI calls with --admin-token.

Server commands

Manage servers (agents) registered with Pullbase.

pullbasectl servers list

List all servers, optionally filtered by environment.
Filter by environment:

pullbasectl servers create

Register a new server.

pullbasectl servers get

Get detailed information about a specific server.

pullbasectl servers delete

Delete a server registration.
Non-interactive stdin (piped/CI) requires --force; otherwise deletion is blocked to prevent accidental removal.

pullbasectl servers install-script

Generate a one-liner install script for deploying the agent to a server.
The output is a shell script you can pipe directly to bash on the target server:

Environment commands

Manage environments (Git repositories) that Pullbase tracks.

pullbasectl environments list

List all environments.

pullbasectl environments create

Create a new environment.

pullbasectl environments get

Get detailed information about an environment.

pullbasectl environments delete

Delete an environment. This will affect all associated servers.

pullbasectl environments rollback

Initiate a rollback to a previous commit.

pullbasectl environments rollback-list

List rollback history for an environment.

Status commands

View fleet-wide or per-server status.

pullbasectl status

Display server status. Requires one of --server-id, --environment-id, or --all. Single server status:
Environment status:
Fleet-wide status:
Watch mode (live refresh):
This clears the screen and refreshes status every 10 seconds. Press Ctrl+C to stop.

Config validation

pullbasectl validate-config

Validate a config.yaml file before deploying to your Git repository.
This command performs local validation only and does not require a connection to the Pullbase server. You can use it in CI pipelines or pre-commit hooks without authentication.
If validation fails:
Use --output json for programmatic parsing:

GitHub App commands

pullbasectl github-app bootstrap

Validates GitHub App credentials locally and, when combined with --server-url, registers an environment. Key flags:
  • --app-id, --private-key, --installation-id, --repository-id, --app-slug
  • --server-url, --admin-token (optional) to create the environment in Pullbase
  • --environment-name, --repo-url, --branch, --deploy-path

pullbasectl github-app status

Retrieve the GitHub App status for an environment:

Agent token commands

pullbasectl tokens list

List agent tokens for a server.
Output format:

pullbasectl tokens create

Create an agent token.

pullbasectl tokens revoke

Deactivate a token by ID.

User commands

pullbasectl users create

Create a new user.

pullbasectl users list

Paginate through active users.

pullbasectl users delete

Delete a user account.
Deletion is blocked if you attempt to delete the last active admin or your own account. The --delete-acct-username flag serves as confirmation and must match the username associated with the user ID.

Bootstrap wizard (interactive)

pullbasectl bootstrap wizard guides you through first-run setup, including admin creation and GitHub App configuration. The wizard prompts for values interactively and saves them to the server via the API.