A CLI to help on Enspirit monorepos. This aims at replacing our aging Makefile for monorepos
$ npm install -g @enspirit/emb
$ emb COMMAND
running command...
$ emb (--version)
@enspirit/emb/0.24.0 darwin-x64 node-v22.18.0
$ emb --help [COMMAND]
USAGE
$ emb COMMAND
...emb autocomplete [SHELL]emb cleanemb componentsemb components shell SERVICEemb config printemb containersemb containers pruneemb down [SERVICE]emb help [COMMAND]emb imagesemb images deleteemb images pruneemb images pushemb kubernetes logs COMPONENTemb kubernetes psemb kubernetes restart [DEPLOYMENT]emb kubernetes shell COMPONENTemb logs [SERVICE]emb logs archive [SERVICE]emb psemb resourcesemb resources build [COMPONENT]emb restart [SERVICE]emb run TASKemb secretsemb secrets providersemb secrets validateemb shell SERVICEemb start [SERVICE]emb stop [SERVICE]emb tasksemb tasks run TASKemb up [SERVICE]emb update [CHANNEL]
Display autocomplete installation instructions.
USAGE
$ emb autocomplete [SHELL] [-r]
ARGUMENTS
[SHELL] (zsh|bash|powershell) Shell type
FLAGS
-r, --refresh-cache Refresh cache (ignores displaying instructions)
DESCRIPTION
Display autocomplete installation instructions.
EXAMPLES
$ emb autocomplete
$ emb autocomplete bash
$ emb autocomplete zsh
$ emb autocomplete powershell
$ emb autocomplete --refresh-cache
See code: @oclif/plugin-autocomplete
Clean the project.
USAGE
$ emb clean [--json] [--verbose] [-C <value>] [-f]
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
-f, --force Force the deletion of containers & images
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Clean the project.
EXAMPLES
$ emb clean
See code: src/commands/clean.ts
List components.
USAGE
$ emb components [--json] [--verbose] [-C <value>] [--flavor <value>]
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
--flavor=<value> Specify the flavor to use.
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
List components.
EXAMPLES
$ emb components
See code: src/commands/components/index.ts
Get a shell on a running service.
USAGE
$ emb components shell SERVICE [--verbose] [-C <value>] [-s <value>]
ARGUMENTS
SERVICE The service you want to get a shell on
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
-s, --shell=<value> [default: bash] The shell to run
--[no-]verbose
DESCRIPTION
Get a shell on a running service.
ALIASES
$ emb shell
EXAMPLES
$ emb components shell
See code: src/commands/components/shell.ts
Print the current config.
USAGE
$ emb config print [--json] [--verbose] [-C <value>] [--flavor <value>]
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
--flavor=<value> Specify the flavor to use.
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Print the current config.
EXAMPLES
$ emb config print
See code: src/commands/config/print.ts
List docker containers.
USAGE
$ emb containers [--json] [--verbose] [-C <value>] [-a]
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
-a, --all Retun all containers. By default, only running containers are shown
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
List docker containers.
EXAMPLES
$ emb containers
See code: src/commands/containers/index.ts
Prune containers.
USAGE
$ emb containers prune [--json] [--verbose] [-C <value>]
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Prune containers.
EXAMPLES
$ emb containers prune
See code: src/commands/containers/prune.ts
Stop the whole project.
USAGE
$ emb down [SERVICE...] [--json] [--verbose] [-C <value>] [--flavor <value>]
ARGUMENTS
[SERVICE...] The service(s) to stop and remove
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
--flavor=<value> Specify the flavor to use.
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Stop the whole project.
EXAMPLES
$ emb down
See code: src/commands/down.ts
Display help for emb.
USAGE
$ emb help [COMMAND...] [-n]
ARGUMENTS
[COMMAND...] Command to show help for.
FLAGS
-n, --nested-commands Include all nested commands in the output.
DESCRIPTION
Display help for emb.
See code: @oclif/plugin-help
List docker images.
USAGE
$ emb images [--json] [--verbose] [-C <value>] [--flavor <value>] [-a]
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
-a, --all Show all images. Only images from a final layer (no children) are shown by default.
--flavor=<value> Specify the flavor to use.
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
List docker images.
EXAMPLES
$ emb images
See code: src/commands/images/index.ts
Delete project images.
USAGE
$ emb images delete [--json] [--verbose] [-C <value>] [-f]
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
-f, --force Remove the image even if it is being used by stopped containers or has other tags
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Delete project images.
EXAMPLES
$ emb images delete
See code: src/commands/images/delete.ts
Prune project images.
USAGE
$ emb images prune [--json] [--verbose] [-C <value>] [-a]
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
-a, --all Prune all images. When set to true all images will be pruned, not only dangling ones
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Prune project images.
EXAMPLES
$ emb images prune
See code: src/commands/images/prune.ts
Push docker images.
USAGE
$ emb images push [--json] [--verbose] [-C <value>] [--flavor <value>] [--registry <value>] [--retag <value>]
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
--flavor=<value> Specify the flavor to use.
--registry=<value> Override the registry to push to
--retag=<value> Override the original tag to push to a new tag
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Push docker images.
EXAMPLES
$ emb images push
$ emb images push --registry my.registry.io --retag newtag
See code: src/commands/images/push.ts
Follow kubernetes logs.
USAGE
$ emb kubernetes logs COMPONENT [--verbose] [-C <value>] [-n <value>] [-f]
ARGUMENTS
COMPONENT The component you want to see the logs of
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
-f, --[no-]follow Follow log output
-n, --namespace=<value> The Kubernetes namespace to target
--[no-]verbose
DESCRIPTION
Follow kubernetes logs.
EXAMPLES
$ emb kubernetes logs
See code: src/commands/kubernetes/logs.ts
Show running pods.
USAGE
$ emb kubernetes ps [--verbose] [-C <value>] [-n <value>] [--watch]
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
-n, --namespace=<value> The Kubernetes namespace to target
--[no-]verbose
--[no-]watch
DESCRIPTION
Show running pods.
EXAMPLES
$ emb kubernetes ps
See code: src/commands/kubernetes/ps.ts
Restart pods of an instance.
USAGE
$ emb kubernetes restart [DEPLOYMENT...] [--verbose] [-C <value>] [-n <value>]
ARGUMENTS
[DEPLOYMENT...] The deployment(s) to restart
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
-n, --namespace=<value> The Kubernetes namespace to target
--[no-]verbose
DESCRIPTION
Restart pods of an instance.
EXAMPLES
$ emb kubernetes restart
See code: src/commands/kubernetes/restart.ts
Get a shell on a deployed component.
USAGE
$ emb kubernetes shell COMPONENT [--verbose] [-C <value>] [-n <value>] [-s <value>]
ARGUMENTS
COMPONENT The component you want to get a shell on
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
-n, --namespace=<value> The Kubernetes namespace to target
-s, --shell=<value> [default: bash] The shell to run
--[no-]verbose
DESCRIPTION
Get a shell on a deployed component.
ALIASES
$ emb shell
EXAMPLES
$ emb kubernetes shell
See code: src/commands/kubernetes/shell.ts
Get service logs.
USAGE
$ emb logs [SERVICE...] [--verbose] [-C <value>] [-f]
ARGUMENTS
[SERVICE...] The service(s) you want to see the logs of (all if omitted)
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
-f, --[no-]follow Follow log output
--[no-]verbose
DESCRIPTION
Get service logs.
EXAMPLES
$ emb logs
$ emb logs backend
$ emb logs backend frontend
$ emb logs --no-follow backend
See code: src/commands/logs/index.ts
Archive docker compose logs to files (one file per service).
USAGE
$ emb logs archive [SERVICE...] [--json] [--verbose] [-C <value>] [-t] [--tail <value>] [-o <value>]
ARGUMENTS
[SERVICE...] The service(s) to archive logs for (all if omitted)
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
-o, --output=<value> Output directory for log files (defaults to .emb/<flavor>/logs/docker/compose)
-t, --timestamps Include timestamps in logs
--tail=<value> Number of lines to show from the end of the logs
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Archive docker compose logs to files (one file per service).
EXAMPLES
$ emb logs archive
$ emb logs archive backend frontend
$ emb logs archive --timestamps
$ emb logs archive --tail 1000
See code: src/commands/logs/archive.ts
Lists the containers running in the project.
USAGE
$ emb ps [--verbose] [-C <value>] [--flavor <value>] [-a]
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
-a, --all Show all stopped containers
--flavor=<value> Specify the flavor to use.
--[no-]verbose
DESCRIPTION
Lists the containers running in the project.
EXAMPLES
$ emb ps
See code: src/commands/ps.ts
List resources.
USAGE
$ emb resources [--json] [--verbose] [-C <value>] [--flavor <value>]
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
--flavor=<value> Specify the flavor to use.
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
List resources.
EXAMPLES
$ emb resources
See code: src/commands/resources/index.ts
Build the resources of the monorepo
USAGE
$ emb resources build [COMPONENT...] [--json] [--verbose] [-C <value>] [--flavor <value>] [--dry-run] [-f]
ARGUMENTS
[COMPONENT...] List of resources to build (defaults to all)
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
-f, --force Bypass the cache and force the build
--dry-run Do not build the resources but only produce build meta information
--flavor=<value> Specify the flavor to use.
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Build the resources of the monorepo
EXAMPLES
$ emb resources build build --flavor development
See code: src/commands/resources/build.ts
Restart the whole project.
USAGE
$ emb restart [SERVICE...] [--json] [--verbose] [-C <value>] [-f]
ARGUMENTS
[SERVICE...] The service(s) to restart
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
-f, --no-deps Don't restart dependent services
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Restart the whole project.
EXAMPLES
$ emb restart
See code: src/commands/restart.ts
Run tasks.
USAGE
$ emb run TASK... [--json] [--verbose] [-C <value>] [-x container|kubernetes|local] [-a]
ARGUMENTS
TASK... List of tasks to run. You can provide either ids or names (eg: component:task or task)
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
-a, --all-matching Run all tasks matching (when multiple matches)
-x, --executor=<option> Where to run the task. (experimental!)
<options: container|kubernetes|local>
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Run tasks.
ALIASES
$ emb run
EXAMPLES
$ emb run
List all secret references in the configuration.
USAGE
$ emb secrets [--json] [--verbose] [-C <value>] [--flavor <value>]
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
--flavor=<value> Specify the flavor to use.
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
List all secret references in the configuration.
EXAMPLES
$ emb secrets
$ emb secrets --json
See code: src/commands/secrets/index.ts
Show configured secret providers and their status.
USAGE
$ emb secrets providers [--json] [--verbose] [-C <value>] [--flavor <value>]
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
--flavor=<value> Specify the flavor to use.
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Show configured secret providers and their status.
EXAMPLES
$ emb secrets providers
See code: src/commands/secrets/providers.ts
Validate that all secret references can be resolved (without showing values).
USAGE
$ emb secrets validate [--json] [--verbose] [-C <value>] [--flavor <value>] [--fail-fast]
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
--fail-fast Stop on first validation error
--flavor=<value> Specify the flavor to use.
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Validate that all secret references can be resolved (without showing values).
EXAMPLES
$ emb secrets validate
$ emb secrets validate --fail-fast
$ emb secrets validate --json
See code: src/commands/secrets/validate.ts
Get a shell on a running service.
USAGE
$ emb shell SERVICE [--verbose] [-C <value>] [-s <value>]
ARGUMENTS
SERVICE The service you want to get a shell on
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
-s, --shell=<value> [default: bash] The shell to run
--[no-]verbose
DESCRIPTION
Get a shell on a running service.
ALIASES
$ emb shell
EXAMPLES
$ emb shell
Starts the whole project.
USAGE
$ emb start [SERVICE...] [--json] [--verbose] [-C <value>]
ARGUMENTS
[SERVICE...] The service(s) to start
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Starts the whole project.
EXAMPLES
$ emb start
See code: src/commands/start.ts
Stop the whole project.
USAGE
$ emb stop [SERVICE...] [--json] [--verbose] [-C <value>] [--flavor <value>]
ARGUMENTS
[SERVICE...] The service(s) to stop
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
--flavor=<value> Specify the flavor to use.
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Stop the whole project.
EXAMPLES
$ emb stop
See code: src/commands/stop.ts
List tasks.
USAGE
$ emb tasks [--json] [--verbose] [-C <value>]
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
List tasks.
EXAMPLES
$ emb tasks
See code: src/commands/tasks/index.ts
Run tasks.
USAGE
$ emb tasks run TASK... [--json] [--verbose] [-C <value>] [-x container|kubernetes|local] [-a]
ARGUMENTS
TASK... List of tasks to run. You can provide either ids or names (eg: component:task or task)
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
-a, --all-matching Run all tasks matching (when multiple matches)
-x, --executor=<option> Where to run the task. (experimental!)
<options: container|kubernetes|local>
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Run tasks.
ALIASES
$ emb run
EXAMPLES
$ emb tasks run
See code: src/commands/tasks/run.ts
Start the whole project.
USAGE
$ emb up [SERVICE...] [--json] [--verbose] [-C <value>] [--flavor <value>] [-f]
ARGUMENTS
[SERVICE...] The service(s) to build and start
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
-f, --force Bypass caches, force the recreation of containers, etc
--flavor=<value> Specify the flavor to use.
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Start the whole project.
EXAMPLES
$ emb up
See code: src/commands/up.ts
update the emb CLI
USAGE
$ emb update [CHANNEL] [--force | | [-a | -v <value> | -i]] [-b ]
FLAGS
-a, --available See available versions.
-b, --verbose Show more details about the available versions.
-i, --interactive Interactively select version to install. This is ignored if a channel is provided.
-v, --version=<value> Install a specific version.
--force Force a re-download of the requested version.
DESCRIPTION
update the emb CLI
EXAMPLES
Update to the stable channel:
$ emb update stable
Update to a specific version:
$ emb update --version 1.0.0
Interactively select version:
$ emb update --interactive
See available versions:
$ emb update --available
See code: @oclif/plugin-update