Skip to content

idem CLI 0.1.0 — deploy to iDeploy in one command - #1

Merged
DJTJ21 merged 1 commit into
mainfrom
feat/v0.1
Oct 19, 2026
Merged

DJTJ21 merged 1 commit into
mainfrom
feat/v0.1

Conversation

@DJTJ21

@DJTJ21 DJTJ21 commented Oct 19, 2026 •

Copy link
Copy Markdown
Collaborator

Command-line iDeploy: idem deploy in one command, plus most of what the UI does.

Deploy (all the methods)

idem deploy this folder: its code is sent as Git sees it
--git <url> [--branch] [--base-dir] a Git repository
--image <ref> [--tag] [--registry-user] a registry image (password in IDEM_REGISTRY_PASSWORD, never on the command line)
--compose <file> your own stack, as a service (created then started)
--template <name> a catalogue service
  • Placement of a new workspace: IDEM's infrastructure (--region when the plan allows it) or one of your servers (--server). On a terminal, the CLI asks.
  • Build settings: --install, --build, --start, --port, --publish-dir.
  • An application that deploys from Git or from an image is rebuilt from its source. --upload sends the folder instead.
  • On first deploy: .env variables are offered, or given with --env [file]. iDeploy then links the workspace's resources.

Commands

  • Applications: apps, status, deployments, logs [-f], open [--dashboard], restart, start, stop, rollback, destroy, env ls/set/rm/pull, domains ls/add/rm (DNS and HTTPS state, record to create), link, unlink.
  • Infrastructure:
    • workspaces ls/create/show/rm
    • db ls/create/show/start/stop/restart/backup/rm (9 engines)
    • services ls/start/stop/restart/rm, templates [search]
    • servers ls/add/check/setup/rm: add generates the SSH key (or uses yours), shows the line for authorized_keys, checks the server, then installs Docker and the proxy.
  • Account: login (browser device flow, or --token), logout (revokes the token), whoami, dashboard.
  • idem alone opens a menu. --json works everywhere. --yes and IDEM_TOKEN are for CI.

Checks

Done in a Node 20 container:

  • tsc --noEmit, build (tsup) and --help pass;
  • packing was tried on a fixture (exclusions, binary as base64);
  • .env parsing was tried;
  • error paths were tried: not signed in, invalid token (against production), two sources given at once.

The full flows need Idem-AI/idem#386 (browser sign-in) and #387 (live logs) deployed.

Publishing

  • An NPM_TOKEN secret and the @idem-ai scope on npm are needed.
  • Then: git tag v0.1.0 && git push --tags.

- idem deploy: signs in through the browser if needed, links the folder
  (creating the application the first time: name, workspace, .env
  variables), sends the code as Git sees it (.gitignore/.idemignore, never
  node_modules, .git or .env), follows the deployment live, ends with the
  address or the cause of the failure (exit code 1).
- idem: a menu for the application of this folder.
- login (browser device flow, or --token) / logout (revokes the token) /
  whoami, apps, link/unlink, status, logs [-f], open [--dashboard],
  restart, rollback, env ls/set/rm/pull, dashboard.
- --json everywhere, --yes and IDEM_TOKEN for CI.
- CI (typecheck, build) and npm release on v* tags.
@DJTJ21
DJTJ21 merged commit b3cf26a into main Oct 19, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant