Command line reference#
ec is a thin wrapper around the tools you would otherwise drive by hand
(git, kubectl, helm, argocd). Every invocation has the form:
$ ec [GLOBAL OPTIONS] COMMAND [ARGS] [COMMAND OPTIONS]
The set of commands and options that ec exposes is not fixed — it depends
on the backend you select. Commands a backend cannot implement are
removed from the CLI entirely, and a handful of options are added or removed per
backend. This page describes the full command surface and notes where it varies.
Tip
The CLI is self-documenting. ec --help lists the commands available for the
current backend, and ec COMMAND --help describes a single command. Because the
backend is chosen before help is rendered, ec -b K8S --help and
ec -b DEMO --help show different command lists.
Global options#
Global options come before the command. Each one can also be set through an environment variable, which is often more convenient for values you reuse across every call (such as the repository and target).
Option |
Environment variable |
Default |
Description |
|---|---|---|---|
|
— |
— |
Print the version of |
|
|
(unset) |
Git repository holding the service instance definitions. |
|
|
(unset) |
The deployment target: a Kubernetes namespace (K8S) or an |
|
|
|
Backend to drive: |
|
|
|
Print each underlying command before it is run. |
|
|
|
Print the underlying commands but do not execute them. |
|
|
|
Enable debug logging and retain temporary working directories. |
|
|
|
One of |
|
|
(unset) |
Endpoint used by |
Note
--repo, --target and --log-url have no usable default. A command that
needs one will fail with a clear message (for example “Please set EC_TARGET
or pass –target”) until you provide it. See
Environment variables for the recommended way to set
them once.
Backends#
A backend determines how ec talks to your services. Select one with
-b/--backend or by exporting EC_CLI_BACKEND.
Backend |
Drives |
Use it when |
|---|---|---|
|
An ArgoCD server that reconciles your services. |
Services are managed by ArgoCD (GitOps). |
|
|
You deploy straight to Kubernetes without ArgoCD. |
|
Built-in sample data — no cluster required. |
Trying the tool, demos, and developing the TUI. |
Each backend implements a different slice of the full command set. The next section is the authoritative matrix.
Command availability by backend#
Commands fall into three slices:
a shared slice available on every backend,
a deployment slice (
deploy,delete) available onARGOCDandK8S,a Kubernetes-only slice for commands that require direct
kubectl/helmaccess.
Command |
ARGOCD |
K8S |
DEMO |
Summary |
|---|---|---|---|---|
|
✅ |
✅ |
✅ |
List the |
|
✅ |
✅ |
✅ |
List every service available in the repository. |
|
✅ |
✅ |
✅ |
List all versions of one service in the repository. |
|
✅ |
✅ |
✅ |
List the services running in the current target. |
|
✅ |
✅ |
✅ |
Open the interactive TUI monitor. |
|
✅ |
✅ |
✅ |
Show current (or previous) logs for a service. |
|
✅ |
✅ |
✅ |
Open historical logs for a service. |
|
✅ |
✅ |
✅ |
Restart a running service. |
|
✅ |
✅ |
✅ |
Start a stopped service. |
|
✅ |
✅ |
✅ |
Stop a running service. |
|
✅ |
✅ |
— |
Deploy a service from its source repository. |
|
✅ |
✅ |
— |
Remove a service from the target. |
|
— |
✅ |
— |
Attach to the console of a live service. |
|
— |
✅ |
— |
Open a bash prompt inside a running container. |
|
— |
✅ |
— |
Deploy a local helm chart directly, with a dated beta version. |
|
— |
✅ |
— |
Render the helm template for a local service definition. |
Note
A few options also vary by backend:
deploydrops--argsand--waiton theARGOCDbackend (ArgoCD controls rollout and arguments itself).startandstopdrop--commit/--no-commiton theK8Sbackend (there is no GitOps repository to commit to).
Commands#
Arguments are positional; options are flags. SERVICE below is the name of a
service and supports shell tab-completion.
Deployment commands (ARGOCD and K8S)#
ec deploy SERVICE [VERSION]#
$ ec deploy SERVICE [VERSION] [--desc TEXT] [--wait] [-y/--yes] [--args "..."]
Add SERVICE to the target from its source repository. VERSION defaults to the
latest tag. Options:
Option |
Description |
|---|---|
|
Custom (kebab-case) description label for the service. |
|
Wait for the service to become ready. (K8S only — dropped on ARGOCD.) |
|
Skip the confirmation prompt. |
|
Extra arguments passed to |
ec delete SERVICE#
$ ec delete SERVICE [-y/--yes]
Remove SERVICE from the target. -y/--yes skips the confirmation prompt.
Kubernetes-only commands (K8S)#
ec attach SERVICE#
$ ec attach SERVICE
Attach to the console of a live service.
ec exec SERVICE#
$ ec exec SERVICE
Open an interactive bash prompt inside the running container for SERVICE.
ec deploy-local PATH#
$ ec deploy-local PATH [-y/--yes] [--args "..."]
Deploy a local service definition (a helm chart folder) directly to the cluster
with a dated beta version. PATH must be an existing directory. --args passes
extra quoted arguments to helm.
ec template PATH#
$ ec template PATH [--args "..."]
Render and print the helm template generated from a local service definition at
PATH. Useful for inspecting what deploy-local would apply.