Official examples and CLI reference for easyenv.io, the platform for ephemeral, on-demand development environments and technical assessments.
The easyenv CLI is how you drive easyenv.io from your terminal: spin workspaces up, push your code, expose ports, tear them down. This repo gives you a place to start.
docs/install.md- install the CLI on macOS / Linux / Windowsdocs/commands.md- every command and flagdocs/workspace-yml.md-.easyenv/workspace.ymlschema referencedocs/stacks.md- catalog stack recipes vs inline stacksexamples/- nine ready-to-run sample projects (listed below)
Download a pre-built binary from github.com/donedeploy/easyenv-cli/releases:
# Linux (amd64)
VERSION=$(curl -fsSL https://api.github.com/repos/donedeploy/easyenv-cli/releases/latest \
| grep -oE '"tag_name":\s*"[^"]+"' | head -1 | sed -E 's/.*"([^"]+)"$/\1/')
sudo curl -fsSL -o /usr/local/bin/easyenv \
"https://github.com/donedeploy/easyenv-cli/releases/download/${VERSION}/easyenv_${VERSION}_linux_amd64"
sudo chmod +x /usr/local/bin/easyenv
easyenv --versionFor macOS, Windows, and arm64, see docs/install.md.
-
Mint a service token at easyenv.io → Account → Service tokens.
-
Save it locally:
easyenv auth login --token <paste-from-easyenv.io>
-
Pick the account you want to work in:
easyenv account list easyenv account use <name-or-uuid> easyenv auth whoami
Your config lives at ~/.config/easyenv/config.yaml (mode 0600). All settings can also be overridden via EASYENV_SERVER, EASYENV_TOKEN, EASYENV_ACCOUNT env vars, useful in CI.
git clone https://github.com/donedeploy/easyenv-cli.git
cd easyenv-cli/examples/ubuntu
make up
make sshYou're in. exit to drop back, then make down to tear it down.
Each example ships a Makefile that wraps the underlying easyenv commands and echoes them before running, so you can learn the raw form as you go.
Each folder under examples/ is a self-contained workspace — cd in, follow the README, and you're up. Roughly ordered from simplest to most involved:
| Lab | Teaches | Boxes |
|---|---|---|
ubuntu |
The minimal workspace.yml — one Ubuntu box, nothing else. |
1 |
docker-image |
The docker-run catalog stack — pull and run any image. |
1 |
docker-compose |
The docker-compose catalog stack — bring up a compose file. |
1 |
flask |
Inline-bash stacks + the easyenv here sync workflow. |
1 |
git-repo |
The git_repo field — let cloud-init clone your code on boot. |
1 |
airflow |
Real-world docker-compose stack — Airflow with a sample DAG. |
1 |
kubespray |
Multi-box workspace + cross_connection + Kubespray. |
3 |
postgres-cluster |
Inline-ansible stacks + Postgres streaming replication. | 3 |
argocd |
Catalog stacks composing with the Kubernetes Cluster recipe. | 3 |
See examples/README.md for the standard run loop and cleanup notes.
| If you want to… | Read |
|---|---|
| Install on a different OS / architecture | docs/install.md |
| See every CLI command + flag | docs/commands.md |
Author a .easyenv/workspace.yml from scratch |
docs/workspace-yml.md |
| Understand catalog stacks vs inline stacks | docs/stacks.md |
| Try a working sample (Ubuntu, Flask, K8s, Airflow, …) | examples/ |
- Web app: easyenv.io
- Product docs: easyenv.io/docs
- Support / feedback: open an issue on this repo