2501 infra CLI.
Install the CLI
Install the2501 infra CLI on the machine that will run the deployment. Your 2501 account team provides the installer. Installation is a single self-contained step: it places a checksum-verified static binary, sets up a sudo wrapper so 2501 infra deploy runs privileged without you typing sudo, and runs a non-interactive setup so you finish with a ready-to-edit workspace. No Docker, AWS CLI, or registry login is required on the machine to install.
Common installer options: --target kubernetes (instead of the default Docker Swarm), --user (install under your home directory with no sudo), and --version <tag> (pin a specific version).
Keeping the CLI current
There is no separate update command. The CLI stays in lockstep with the deployed platform version:- During deploy. Interactive
2501 infra deploylists published releases newest-first. When you pick a version, the CLI self-updates its own binary to match (checksum-verified, then re-executed) before deploying. - CLI only. To refresh just the binary, re-run the installer. It is idempotent and never touches an existing workspace.
Quick start
After install, edit the two environment files before deploying. For a new installation, also review the initial tenant, organizations, and administrator in Users & Organizations.1
Edit the engine environment
Open
/etc/2501/env.engine and confirm the public Command Center URL. If you use your own PostgreSQL instance, set DATABASE_URL and DIRECT_URL (the direct connection used for migrations).2
Edit the Command Center environment
Open
/etc/2501/env.command-center and confirm its values, including the same public URL and external DATABASE_URL.3
Deploy
deploy syncs your env files to the current version’s spec, runs database migrations, and brings up the stack.Most settings are defaulted for you. A plain Docker Swarm deployment with an external database needs no configuration file at all, just the two environment files above. See Configuration for when an optional
2501-infra.yml is written.Upgrading
Upgrading is the samedeploy command at a newer version. Point your Kubernetes manifests and/or 2501-infra.yml at the new image tag, depending on how you deployed, then apply. The Engine, the Command Center, and the executor images the Engine spawns all move to that tag together.
Read the release notes for every version you are crossing before you start. Some releases add environment variables or carry breaking changes, which matters most when you are coming from an old version.
Useful commands around an upgrade:
On Kubernetes the CLI generates manifests rather than applying them, so it does not record what reached the cluster. Take your rollback target from the image tag in your manifests or from your GitOps history instead.
Once the new version is up, check both health endpoints at the address your containers are exposed on:
The interactive version picker reads the release list from
https://2501-public.s3.eu-west-3.amazonaws.com/cli-2501/versions.json. Allow egress to it if you want the picker; otherwise pass --tag <version> explicitly.Plugins from the legacy runtime
Before upgrading, stop the old engine, let its calls and cleanup finish, and verify that its owned plugin containers or pods are gone. A forced stop may require targeted cleanup. Keep shared MCP services and independent executors running. The new runtime never starts the removed built-in MCPs, such as the GitHub and VMware ones: a plugin that used one reports Migration required and gives agents no tools until it is migrated, either by giving it an MCP endpoint (Add an endpoint in its editor, with the plugin turned off) or by adding its server again as a hosted MCP server. Of the containers and pods it runs, it deletes at start only the hosted MCP server ones its own engine left behind. Then give each such plugin its new server: see Give a legacy plugin an endpoint.Rolling back
If the new version misbehaves, go back to the last one that worked and restore the data that went with it:- Redeploy the previous image tag.
- Restore your PostgreSQL backup. If the failed upgrade already part-migrated the database, recreate it empty and restore into that.
- Verify the stack is healthy before handing it back to users.
- Contact 2501 with what went wrong and any details you still have, so we can debug it and ship a patch.
swarm.rollback_on_failure, on by default), which puts the previous engine on the upgraded database: restore the backup then too.
Getting help
The CLI includes built-in documentation for all commands:Deployment workflow
- Install the
2501 infraCLI (setup runs automatically) - Edit
env.engineandenv.command-centerwith your human-required values - Deploy with
2501 infra deploy - Create entities (the CLI prompts you interactively; skipped with
--yes) - Access the Command Center UI
What’s Next
Init Command
Initialize your deployment
Configuration
Overview of configuration files
Docker Swarm
Deploy to production
Troubleshooting
Common issues and solutions

