Eigon CLI

Deploy from your terminal.

Everything you can do in the dashboard, in one binary you can drop into a shell script. Trigger deploys, tail logs, flip feature flags and export Terraform with a single command.

The eigon CLI is the official command line tool for Eigon. It is a single statically linked Go binary, distributed via GitHub releases. No Node, no Python, no runtime dependencies. It works exactly the same on your laptop and inside a CI runner.

Install

One line install (recommended)

curl -sSL https://eigon.io/install.sh | sh

The script detects your operating system and architecture, downloads the right binary from the latest GitHub release, and drops it into /usr/local/bin/eigon. It will ask for sudo if it cannot write to that directory.

You can pin to a specific version or change the install location with environment variables:

# Pin to v0.7.1
curl -sSL https://eigon.io/install.sh | EIGON_VERSION=v0.7.1 sh

# Install to a directory you own (no sudo needed)
curl -sSL https://eigon.io/install.sh | EIGON_INSTALL_DIR=$HOME/bin sh

Verify the install

eigon version

Authenticate

The CLI uses API tokens, not passwords. Each token is scoped, revocable and tied to a specific user. Tokens never expire unless you tell them to.

  1. Go to Account → Tokens in the dashboard.
  2. Click New token. Give it a name like laptop or github-actions.
  3. Pick the scopes you need (read, deploy, admin). Most workflows only need read and deploy.
  4. Copy the token immediately. It will never be shown again. Tokens look like eigon_ab12cd_....

Then run the login command and paste the token when prompted:

eigon login

Your token is saved at ~/.eigon/config.json with 0600 permissions. To check who you are signed in as:

eigon whoami

You can also skip eigon login entirely by exporting the token as an environment variable. This is the right pattern for CI:

export EIGON_TOKEN=eigon_ab12cd_xxxxxxxxxxxxxxxxxxxxxx

Your first deploy

Once you have at least one project and one environment in the dashboard, you can deploy from the terminal. List your projects to find the environment ID you want to target:

$ eigon projects list
NAME                            SOURCE      REPO
chandigarh-table                github      ayush/chandigarh-table @ main
landing-page                    zip         (uploaded ZIP)
api-service                     github      myorg/api @ main

Find the environment ID at the top of any environment page in the dashboard. It looks like env_abc123. Trigger a deploy:

$ eigon deploy --env env_abc123
✓ Deploy queued: dep_xyz789
  Watch progress: https://eigon.io/dashboard/deployments/dep_xyz789

Tail the logs while it deploys:

eigon logs --env env_abc123 --tail

When the deploy is done, check the live URL and current status:

$ eigon status --env env_abc123
Status:        ACTIVE
Monthly cost:  $14.20
App URL:       https://chandigarh-table.eigon.app
Latest deploy: dep_xyz789 (SUCCEEDED)

Command reference

Run eigon help at any time for the full list. The most useful ones:

eigon login

Interactive token paste. Saves the token to ~/.eigon/config.json.

eigon whoami

Calls the API and prints the user and organisation associated with the current token. Useful for confirming a CI token actually works.

eigon projects list

Lists every project the current token can see, with source type and repository or upload origin.

eigon deploy --env <id>

Triggers a deploy on the given environment using the latest code. Returns the deployment ID immediately. The deploy continues in the background and you can follow it via eigon status or in the dashboard.

eigon status --env <id>

Shows the current status of an environment: state, month to date cost, live URL, and the latest deployment plus its status.

eigon logs --env <id> [--tail]

Prints the most recent application logs. With --tail, follows new log lines as they arrive (poll based, every 2 seconds). Press Ctrl+C to stop.

eigon flags list --env <id>

Lists every feature flag in an environment.

eigon flags set key=value --env <id>

Updates a feature flag value. Useful for dark launches and emergency kill switches you want to be able to flip from a script.

eigon export-tf --env <id> --org <id> --project <id>

Downloads a Terraform module covering the entire environment: network, compute, database, cache, CDN and WAF. The bundle is ready to apply against your own AWS account. This is how you take your infrastructure with you if you ever decide to leave Eigon.

eigon version

Prints the installed CLI version. Useful when filing bug reports.

Use it from CI

The official GitHub Action wraps the CLI with a single composite step. Drop this in .github/workflows/deploy.yml and add EIGON_TOKEN as a repository secret.

name: Deploy to Eigon
on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: ayushcodes10/eigon-cli/cli/github-action@v1
        with:
          token: ${{ secrets.EIGON_TOKEN }}
          environment: env_REPLACE_ME
          wait: true

The action installs the CLI, triggers the deploy, then polls until the environment reaches a terminal state. If the deploy fails or hits its spending cap, the workflow fails with a clear error and a link back to the dashboard.

Prefer to call the CLI directly? Any other CI system works too. The shape is the same: install, set the token, run a command.

# GitLab CI / CircleCI / Buildkite / Bash one-liner
curl -sSL https://eigon.io/install.sh | sh
export EIGON_TOKEN=$EIGON_TOKEN
eigon deploy --env env_abc123

Configuration

Configuration is read from environment variables first, then from ~/.eigon/config.json as a fallback. Environment variables always win, which makes CI predictable.

VariableDescription
EIGON_TOKENAPI token. When set, login is skipped entirely.
EIGON_API_BASEAPI base URL. Defaults to https://api.eigon.io. Override only if you are pointing at a self hosted control plane.
EIGON_INSTALL_DIRUsed by the install script. Default /usr/local/bin.
EIGON_VERSIONUsed by the install script to pin a specific version. Default latest.

The config file at ~/.eigon/config.json looks like this:

{
  "token": "eigon_ab12cd_xxxxxxxxxxxxxxxxxxxxxx",
  "api_base": "https://api.eigon.io",
  "default_org": "org_abc123"
}

Uninstall

Removing the CLI is the inverse of installing it. Delete the binary and drop the config directory.

sudo rm /usr/local/bin/eigon
rm -rf ~/.eigon

You should also revoke any API tokens you no longer want. Visit Account → Tokens and click Revoke.

Troubleshooting

eigon: command not found

The install directory is not on your PATH. Either add it (most shells already include /usr/local/bin) or reinstall with EIGON_INSTALL_DIR set to a directory that is.

not authenticated. Run `eigon login`.

Your token is missing or expired. Run eigon login again, or export EIGON_TOKEN in your shell.

invalid api token

The token has been revoked, or you copied the wrong one. Create a fresh token at Account → Tokens and run eigon login again.

Deploy fails with BLOCKED_BY_CAP

The environment has hit its monthly spending cap. Either raise the cap from the dashboard, or wait for the next month to roll over. Spending caps are a built in protection so you do not get a surprise bill.

eigon logs --tail stops after a few minutes

Tail mode polls every two seconds. If the underlying connection is dropped (idle CI runner, sleeping laptop) it stops. Restart the command and it will pick up from the most recent timestamp.

Still stuck?

Email info@eigon.io with the command you ran and the output you got. We answer every message and we keep CLI bug reports near the top of the queue.

Ready to deploy from your terminal?

Install the CLI in 30 seconds and trigger your first deploy.