@enspirit/emb
v0.25.1
Published
A replacement for our Makefile-for-monorepos
Readme
emb (Enspirit's Monorepo Builder)
A CLI to help on Enspirit monorepos. This aims at replacing our aging Makefile for monorepos
Usage
$ npm install -g @enspirit/emb
$ emb COMMAND
running command...
$ emb (--version)
@enspirit/emb/0.25.1 darwin-arm64 node-v22.21.1
$ emb --help [COMMAND]
USAGE
$ emb COMMAND
...Commands
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 resources publish [RESOURCES]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]
emb autocomplete [SHELL]
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-cacheSee code: @oclif/plugin-autocomplete
emb clean
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 cleanSee code: src/commands/clean.ts
emb components
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 componentsSee code: src/commands/components/index.ts
emb components shell SERVICE
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 shellSee code: src/commands/components/shell.ts
emb config print
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 printSee code: src/commands/config/print.ts
emb containers
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 containersSee code: src/commands/containers/index.ts
emb containers prune
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 pruneSee code: src/commands/containers/prune.ts
emb down [SERVICE]
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 downSee code: src/commands/down.ts
emb help [COMMAND]
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
emb images
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 imagesSee code: src/commands/images/index.ts
emb images delete
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 deleteSee code: src/commands/images/delete.ts
emb images prune
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 pruneSee code: src/commands/images/prune.ts
emb images push
[DEPRECATED] Push docker images. Use "emb resources publish" instead.
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
[DEPRECATED] Push docker images. Use "emb resources publish" instead.
EXAMPLES
$ emb images push
$ emb images push --registry my.registry.io --retag newtagSee code: src/commands/images/push.ts
emb kubernetes logs COMPONENT
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 logsSee code: src/commands/kubernetes/logs.ts
emb kubernetes ps
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 psSee code: src/commands/kubernetes/ps.ts
emb kubernetes restart [DEPLOYMENT]
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 restartSee code: src/commands/kubernetes/restart.ts
emb kubernetes shell COMPONENT
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 shellSee code: src/commands/kubernetes/shell.ts
emb logs [SERVICE]
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 backendSee code: src/commands/logs/index.ts
emb logs archive [SERVICE]
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 1000See code: src/commands/logs/archive.ts
emb ps
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 psSee code: src/commands/ps.ts
emb resources
List resources.
USAGE
$ emb resources [--json] [--verbose] [-C <value>] [--flavor <value>] [--publishable]
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.
--publishable Only show resources that are publishable (publish: true)
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
List resources.
EXAMPLES
$ emb resources
$ emb resources --publishableSee code: src/commands/resources/index.ts
emb resources build [COMPONENT]
Build the resources of the monorepo
USAGE
$ emb resources build [COMPONENT...] [--json] [--verbose] [-C <value>] [--flavor <value>] [--dry-run] [-f]
[--publishable]
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.
--publishable Only build resources that are publishable (publish: true) and their dependencies
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Build the resources of the monorepo
EXAMPLES
$ emb resources build build --flavor development
$ emb resources build build --publishable --flavor productionSee code: src/commands/resources/build.ts
emb resources publish [RESOURCES]
Publish resources to their registries
USAGE
$ emb resources publish [RESOURCES...] [--json] [--verbose] [-C <value>] [--flavor <value>] [--dry-run]
ARGUMENTS
[RESOURCES...] List of resources to publish (defaults to all publishable)
FLAGS
-C, --root=<value> Run as if emb was started in <path>. Can also be set via EMB_ROOT env var.
--dry-run Do not publish, just show what would be published
--flavor=<value> Specify the flavor to use.
--[no-]verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Publish resources to their registries
EXAMPLES
$ emb resources publish --flavor production
$ emb resources publish api:image --flavor productionSee code: src/commands/resources/publish.ts
emb restart [SERVICE]
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 restartSee code: src/commands/restart.ts
emb run TASK
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 runemb secrets
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 --jsonSee code: src/commands/secrets/index.ts
emb secrets providers
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 providersSee code: src/commands/secrets/providers.ts
emb secrets validate
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 --jsonSee code: src/commands/secrets/validate.ts
emb shell SERVICE
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 shellemb start [SERVICE]
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 startSee code: src/commands/start.ts
emb stop [SERVICE]
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 stopSee code: src/commands/stop.ts
emb tasks
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 tasksSee code: src/commands/tasks/index.ts
emb tasks run TASK
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 runSee code: src/commands/tasks/run.ts
emb up [SERVICE]
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 upSee code: src/commands/up.ts
emb update [CHANNEL]
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 --availableSee code: @oclif/plugin-update
