Hermes Atlas
Deployment & hosting · works with Hermes Agent

ecsctl

oablab/ecsctl

kubectl-style Rust CLI for deploying and managing AI agent services such as Hermes on Amazon ECS

In short

ecsctl is a Rust command-line tool that gives Amazon ECS a kubectl-like workflow, built for deploying agent workloads such as OpenClaw, Hermes and OpenAB. It handles declarative deploys, container shells, file transfer, logs and scheduled scaling.

What ecsctl does

Services are described in a YAML spec and deployed with ecsctl apply -f. The same spec round-trips: export a running service to YAML, edit it, then apply again. Other commands include delete, restart, scale, update with --set overrides, clone under a new name, exec for an interactive shell through ECS Exec, cp and sync for moving files and directories through S3 presigned URLs, get for task details and log with live tail. An alias system gives short names to cluster, service and container targets.

restart --recreate stops the old task fully before starting the replacement, so singleton services such as bots do not run with duplicate tokens during an overlap. Groups let you act on a fleet, for example ecsctl scale @all 0, and schedule creates recurring scaling actions in EventBridge Scheduler with cron or rate expressions and a timezone. ecsctl can also be used as a Rust library crate, though its scheduler module is marked as not yet stable.

Key features

  • Declarative apply, delete, restart and export with a YAML service spec
  • Interactive shell into running containers with exec
  • File and directory transfer through S3 presigned URLs with cp and sync
  • Live log tail and task details with log and get
  • Scheduled scaling through EventBridge Scheduler
  • Clone, scale and in-place update commands

When to use it

  • Running a Hermes bot as an ECS service defined in one YAML file
  • Opening a shell in a running agent container with ecsctl exec
  • Scaling an agent fleet to zero overnight on a schedule
  • Copying config files into a container without the AWS CLI inside it

Who it is for: Operators who host AI agents on Amazon ECS and prefer a kubectl-like workflow.

How it fits with Hermes Agent

Hermes is named in the README as one of the agent frameworks ecsctl is built to deploy, alongside OpenClaw and OpenAB.

How to install ecsctl

These commands are copied from the project's README. Check the repository for the latest steps before you run them.

curl -sL https://github.com/oablab/ecsctl/releases/latest/download/ecsctl-darwin-arm64.tar.gz | tar xz -O > ~/.local/bin/ecsctl && chmod +x ~/.local/bin/ecsctl
curl -sL https://github.com/oablab/ecsctl/releases/latest/download/ecsctl-linux-amd64.tar.gz | tar xz -O > ~/.local/bin/ecsctl && chmod +x ~/.local/bin/ecsctl
curl -sL https://github.com/oablab/ecsctl/releases/latest/download/ecsctl-linux-arm64.tar.gz | tar xz -O > ~/.local/bin/ecsctl && chmod +x ~/.local/bin/ecsctl

FAQ

What is ecsctl?

ecsctl is an agent-first command-line tool that gives Amazon ECS a kubectl-like experience. It deploys and manages containerized AI agent workloads from a simple YAML spec.

Does ecsctl work with Hermes Agent?

Yes, the README names Hermes as a target workload next to OpenClaw and OpenAB, and any containerized agent works. You describe the container in a service YAML and deploy it with ecsctl apply -f.

How do I install ecsctl?

Download the release tarball for your platform with the curl commands in the README; they write the binary to ~/.local/bin/ecsctl, with separate builds for macOS on Apple Silicon and for Linux on x86_64 and ARM64. You can also build from source with cargo install --path .

Similar deployment for Hermes Agent

All deployment

Related guides: How to run Hermes Agent securely · How to install Hermes Agent · Connect Hermes agents on several machines with Hermes Desktop