Adds a deprecated `spawn` command to the CLI, ensuring backward
compatibility and guiding users toward the preferred `create` command.
```
$ e2b sandbox
Usage: index sandbox|sbx [options] [command]
work with sandboxes
Options:
-h, --help display help for command
Commands:
connect|cn <sandboxID> connect terminal to already running sandbox
list|ls [options] list all sandboxes, by default it list only running ones
kill|kl [options] [sandboxID] kill sandbox
create|cr [options] [template] create sandbox and connect terminal to it
logs|lg [options] <sandboxID> show logs for sandbox
metrics|mt [options] <sandboxID> show metrics for sandbox
help [command] display help for command
```
```
$ sbx sp base
Warning: The 'spawn' command is deprecated and will be removed in future releases. Please use 'e2b sandbox create' instead.
Terminal connecting to template base with sandbox ID in897x2dqs7aws8h1x0in
```
Introduce beta submodule with beta features - pause and resume
Update Sandbox list to also return paused sandboxes
---------
Co-authored-by: Tomas Valenta <valenta.and.thomas@gmail.com>
- CLI spawn, connect, and logs work with and without the client part
provided
- JavaScript and Python SDKs are no longer returning IDs with client
part
## Description
Add option for a template ready check. You can specify `ready_cmd` which
will be run until it exits with code 0. Max timeout is 5 minutes. After
exit code 0, the template will be marked as ready.
If no ready command is defined, `sleep 20` is assumed when the start
command is present, and `sleep 0` when none is defined. It is also
possible to define ready command without any start command. This might
be helpful if the filesystem contains self-booted services (e.g. using
systemd).
```
ready_cmd = "echo 'Starting ready check'; sleep 40; echo 'Template is ready'"
```
This adds possibility to configure the default 20 seconds wait time for
a start command.
New documentation can be found at `/docs/sandbox-template/ready-cmd`.
## Checklist
- [x] Make sure the https://github.com/e2b-dev/infra/pull/719 is
deployed
---------
Co-authored-by: Vasek Mlejnsky <vasek@e2b.dev>
Co-authored-by: Jakub Novák <jakub@e2b.dev>
# Description
- Respect `E2B_DOMAIN` for `e2b auth login` in CLI
- Keep `E2B_DOCS_BASE` to allow for running dashboard locally or towards
potentially different domain
Before the urls in our error messages pointed to a doc page that doesn't
exist. This change updates the urls with links that resolve to dashboard
also adds note on how to create changesets
Load update notifier dynamically
We needed update the package because of vulnerabilities
If we don't load it asynchronously there's following error.
```
packages/cli generate-ref: /home/runner/work/E2B/E2B/packages/cli/dist/index.js:55406
packages/cli generate-ref: var updateNotifier = __toESM(require("update-notifier"));
packages/cli generate-ref: ^
packages/cli generate-ref: Error [ERR_REQUIRE_ESM]: require() of ES Module /home/runner/work/E2B/E2B/node_modules/.pnpm/update-notifier@6.0.2/node_modules/update-notifier/index.js from /home/runner/work/E2B/E2B/packages/cli/dist/index.js not supported.
packages/cli generate-ref: Instead change the require of /home/runner/work/E2B/E2B/node_modules/.pnpm/update-notifier@6.0.2/node
```
Adds publish/unpublish commands to the CLI to allow changing the
visibility of templates. Publishing a template makes it visible to other
teams using E2B, while setting it private (default) only makes it
visible within your own team.
example usage:
```
e2b template publish <template>
```
```
e2b template unpublish <template>
```