Skip to content
/ ecsctl Public

Command-line tool for managing AWS Elastic Container Service and Projects to run on it.

License

Notifications You must be signed in to change notification settings

gumieri/ecsctl

Repository files navigation

ecsctl WORK IN PROGRESS

Installation

All builds are available at the releases page. The program is a single executable and to install it is simply placing it into a directory configured in the PATH of the system.

A simple way to install, if you are using Mac OS or Linux, is to run the commands bellow with elevated permissions (like as root):

curl -L https://github.com/gumieri/ecsctl/releases/latest/download/ecsctl-`uname -s`-`uname -m` -o /usr/local/bin/ecsctl
chmod +x /usr/local/bin/ecsctl

For modern Linux systems, it would be recomended to place the executable at ~/.local/bin, the command for it does not require elevated permission:

mkdir -p ~/.local/bin
curl -L https://github.com/gumieri/ecsctl/releases/latest/download/ecsctl-`uname -s`-`uname -m` -o ~/.local/bin/ecsctl
chmod +x ~/.local/bin/ecsctl

To upgrade program to the latest version available, just run:

ecsctl upgrade

Configurations

ecsctl will look for configurations at $XDG_CONFIG_HOME/ecsctl/config.yaml or ~/.ecsctl/config.yaml. The file can be a JSON, TOML, YAML, HCL or envfile. Any configuration can also be set as environment variable and it also respect the AWS_* environment variables or roles from AWS IAM (by extension of the AWS SDK).

A configuration example:

region: "us-east-1"
cluster: "awesome"

Commands

It is organized by subcommands / categories:

  clusters         Commands to manage clusters
  repositories     Commands to manage repositories (ECR)
  services         Commands to manage services
  task-definitions Commands to manage Task Definitions

clusters commands

  add-instance   Add a new EC2 instance to informed cluster
  add-spot-fleet Add a new Spot Fleet to informed cluster
  create         Create empty clusters. If not specified a name, create a cluster named default
  delete         Delete clusters
  list           List clusters

repositories commands

  create      Create repositories
  delete      Delete repositories

services commands

  list        List services of specified cluster
  copy        Copy a service to another cluster
  deploy      Deploy a service

task-definitions commands

  list        List Task Definition Families
  edit        Edit a Task Definition
  run         Run a Task Definition

Roadmap

clusters

  • create
  • edit (container insights and tags)
  • delete
  • list
  • add-instance
  • add-spot-fleet

services

  • create
  • edit
  • delete
  • list
  • copy
  • deploy

task-definitions

  • create
  • edit
  • delete
  • deregister
  • env
    • list
    • set
    • delete

scheduled-tasks

  • create
  • edit
  • delete
  • update

repositories

  • create
  • edit
  • delete