Skip to content

Easily create, manage and deploy ECS based applications

Notifications You must be signed in to change notification settings

marcqualie/ecsx

Repository files navigation

ecsx

Easily create, manage and deploy ECS based applications

oclif Version Downloads/week License

Usage

$ npm install -g ecsx
$ ecsx COMMAND
running command...
$ ecsx (-v|--version|version)
ecsx/0.8.2 darwin-x64 node-v18.8.0
$ ecsx --help [COMMAND]
USAGE
  $ ecsx COMMAND
...

Commands

ecsx config

Print out current configuration

USAGE
  $ ecsx config

OPTIONS
  -c, --clusterKey=clusterKey  (required)
  -h, --help                   Show CLI help.
  --taskName=taskName
  --var=var                    [default: ]

See code: src/commands/config.ts

ecsx console [COMMAND]

Launch a temporary interactive container

USAGE
  $ ecsx console [COMMAND]

OPTIONS
  -c, --clusterKey=clusterKey  (required)
  -h, --help                   Show CLI help.

See code: src/commands/console.ts

ecsx delete TASKNAME

Remove a service/task from a cluster

USAGE
  $ ecsx delete TASKNAME

OPTIONS
  -c, --clusterKey=clusterKey  (required)
  -h, --help                   Show CLI help.
  --force

See code: src/commands/delete.ts

ecsx deploy TASKNAME

Create a task definition then deploy it as a service

USAGE
  $ ecsx deploy TASKNAME

OPTIONS
  -c, --clusterKey=clusterKey  (required)
  -h, --help                   Show CLI help.
  -t, --dockerTag=dockerTag    (required)
  --var=var                    [default: ]

See code: src/commands/deploy.ts

ecsx help [COMMAND]

Display help for ecsx.

USAGE
  $ ecsx help [COMMAND]

ARGUMENTS
  COMMAND  Command to show help for.

OPTIONS
  -n, --nested-commands  Include all nested commands in the output.

See code: @oclif/plugin-help

ecsx list-clusters

Show running services within a cluster

USAGE
  $ ecsx list-clusters

OPTIONS
  -h, --help  Show CLI help.

See code: src/commands/list-clusters.ts

ecsx ps

Show running services within a cluster

USAGE
  $ ecsx ps

OPTIONS
  -c, --clusterKey=clusterKey  Name of the cluster key from the config
  -h, --help                   Show CLI help.
  --showTasks                  Show recent tasks

See code: src/commands/ps.ts

ecsx run TASKNAME

Run a one off task on the cluster

USAGE
  $ ecsx run TASKNAME

OPTIONS
  -c, --clusterKey=clusterKey  (required)
  -h, --help                   Show CLI help.
  -t, --dockerTag=dockerTag    (required)
  --var=var                    [default: ]

See code: src/commands/run.ts

ecsx scale TASKNAME COUNT

Scale services up or down to the desired count

USAGE
  $ ecsx scale TASKNAME COUNT

OPTIONS
  -c, --clusterKey=clusterKey  (required)
  -h, --help                   Show CLI help.

See code: src/commands/scale.ts

ecsx verify-config [CONFIGPATH]

Scale services up or down to the desired count

USAGE
  $ ecsx verify-config [CONFIGPATH]

OPTIONS
  -h, --help  Show CLI help.

See 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-plugin

Publishing

To publish to npm:

yarn test # to verify everything works
yarn build # to ensure the projcet builds properly and outputs

Then, manually bump version in package.json. Once the version is updated:

yarn oclif-dev 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