ecsx
v0.9.1
Published
Easily create, manage and deploy ECS based applications
Readme
ecsx
Easily create, manage and deploy ECS based applications
Usage
$ npm install -g ecsx
$ ecsx COMMAND
running command...
$ ecsx (--version)
ecsx/0.9.1 linux-x64 node-v24.14.1
$ ecsx --help [COMMAND]
USAGE
$ ecsx COMMAND
...Commands
ecsx configecsx console [COMMAND]ecsx delete TASKNAMEecsx deploy TASKNAMEecsx help [COMMAND]ecsx list-clustersecsx psecsx run TASKNAMEecsx scale TASKNAME COUNTecsx verify-config [CONFIGPATH]
ecsx config
Print out current configuration
USAGE
$ ecsx config -c <value> [-h] [--var <value>...] [--taskName <value>]
FLAGS
-c, --clusterKey=<value> (required)
-h, --help Show CLI help.
--taskName=<value>
--var=<value>... [default: ]
DESCRIPTION
Print out current configurationSee code: src/commands/config.ts
ecsx console [COMMAND]
Launch a temporary interactive container
USAGE
$ ecsx console [COMMAND] -c <value> [-h]
ARGUMENTS
[COMMAND] [default: /bin/sh] Command to run in the console
FLAGS
-c, --clusterKey=<value> (required)
-h, --help Show CLI help.
DESCRIPTION
Launch a temporary interactive containerSee code: src/commands/console.ts
ecsx delete TASKNAME
Remove a service/task from a cluster
USAGE
$ ecsx delete TASKNAME -c <value> [-h] [--force]
ARGUMENTS
TASKNAME Name of the task to delete
FLAGS
-c, --clusterKey=<value> (required)
-h, --help Show CLI help.
--force
DESCRIPTION
Remove a service/task from a clusterSee code: src/commands/delete.ts
ecsx deploy TASKNAME
Create a task definition then deploy it as a service
USAGE
$ ecsx deploy TASKNAME -c <value> -t <value> [-h] [--var <value>...]
ARGUMENTS
TASKNAME Name of the task to deploy
FLAGS
-c, --clusterKey=<value> (required)
-h, --help Show CLI help.
-t, --dockerTag=<value> (required)
--var=<value>... [default: ]
DESCRIPTION
Create a task definition then deploy it as a serviceSee code: src/commands/deploy.ts
ecsx help [COMMAND]
Display help for ecsx.
USAGE
$ ecsx 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 ecsx.See code: @oclif/plugin-help
ecsx list-clusters
Show running services within a cluster
USAGE
$ ecsx list-clusters [-h]
FLAGS
-h, --help Show CLI help.
DESCRIPTION
Show running services within a clusterSee code: src/commands/list-clusters.ts
ecsx ps
Show running services within a cluster
USAGE
$ ecsx ps [-h] [-c <value>] [--showTasks]
FLAGS
-c, --clusterKey=<value> Name of the cluster key from the config
-h, --help Show CLI help.
--showTasks Show recent tasks
DESCRIPTION
Show running services within a clusterSee code: src/commands/ps.ts
ecsx run TASKNAME
Run a one off task on the cluster
USAGE
$ ecsx run TASKNAME -c <value> -t <value> [-h] [--var <value>...]
ARGUMENTS
TASKNAME Name of the task to run
FLAGS
-c, --clusterKey=<value> (required)
-h, --help Show CLI help.
-t, --dockerTag=<value> (required)
--var=<value>... [default: ]
DESCRIPTION
Run a one off task on the clusterSee code: src/commands/run.ts
ecsx scale TASKNAME COUNT
Scale services up or down to the desired count
USAGE
$ ecsx scale TASKNAME COUNT -c <value> [-h]
ARGUMENTS
TASKNAME Name of the task to scale
COUNT Number of instances to scale to
FLAGS
-c, --clusterKey=<value> (required)
-h, --help Show CLI help.
DESCRIPTION
Scale services up or down to the desired countSee code: src/commands/scale.ts
ecsx verify-config [CONFIGPATH]
Scale services up or down to the desired count
USAGE
$ ecsx verify-config [CONFIGPATH] [-h]
ARGUMENTS
[CONFIGPATH] Path to the configuration file
FLAGS
-h, --help Show CLI help.
DESCRIPTION
Scale services up or down to the desired countSee code: src/commands/verify-config.ts
AWS Systems Session Manager
In order to use the console command, you need to have AWS System Session Manager installed on your local system.
### MacOS Quick Start
These commands are taken from the full documentation. You can find information on how to install on other platforms there as well.
curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac/sessionmanager-bundle.zip" -o "sessionmanager-bundle.zip"
unzip sessionmanager-bundle.zip
sudo ./sessionmanager-bundle/install -i /usr/local/sessionmanagerplugin -b /usr/local/bin/session-manager-pluginPublishing
To publish to npm:
pnpm test # to verify everything works
pnpm build # to ensure the projcet builds properly and outputsThen, manually bump version in package.json. Once the version is updated:
pnpm oclif readme # updates the readme with new version
git commit -am "release v1.2.3"
git tag v1.2.3
git push && git push --tags
npm publish