All Projects → gumieri → Ecsctl

gumieri / Ecsctl

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

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Ecsctl

Dynein
DynamoDB CLI written in Rust.
Stars: ✭ 126 (+740%)
Mutual labels:  command-line-tool, aws, cli, command-line
Ff
Find files (ff) by name, fast!
Stars: ✭ 257 (+1613.33%)
Mutual labels:  command-line-tool, cli, command-line
Websocat
Command-line client for WebSockets, like netcat (or curl) for ws:// with advanced socat-like functions
Stars: ✭ 3,477 (+23080%)
Mutual labels:  command-line-tool, cli, command-line
Tsukae
🧑‍💻📊 Show off your most used shell commands
Stars: ✭ 345 (+2200%)
Mutual labels:  command-line-tool, cli, command-line
Klog
A plain-text file format and command line tool for time tracking
Stars: ✭ 222 (+1380%)
Mutual labels:  command-line-tool, cli, command-line
Gitlab Cli
Create a merge request from command line in gitlab
Stars: ✭ 224 (+1393.33%)
Mutual labels:  command-line-tool, cli, command-line
Define
A command-line dictionary (thesaurus) app, with access to multiple sources, written in Go.
Stars: ✭ 298 (+1886.67%)
Mutual labels:  command-line-tool, cli, command-line
You Dont Need Gui
Stop relying on GUI; CLI **ROCKS**
Stars: ✭ 4,766 (+31673.33%)
Mutual labels:  command-line-tool, cli, command-line
Cbt
CBT - fun, fast, intuitive, compositional, statically checked builds written in Scala
Stars: ✭ 489 (+3160%)
Mutual labels:  command-line-tool, cli, command-line
Cli
A command-line interface for Hetzner Cloud
Stars: ✭ 542 (+3513.33%)
Mutual labels:  command-line-tool, cli, command-line
Sultan
Sultan: Command and Rule over your Shell
Stars: ✭ 625 (+4066.67%)
Mutual labels:  command-line-tool, cli, command-line
Dry Cli
General purpose Command Line Interface (CLI) framework for Ruby
Stars: ✭ 210 (+1300%)
Mutual labels:  command-line-tool, cli, command-line
Miniserve
🌟 For when you really just want to serve some files over HTTP right now!
Stars: ✭ 2,894 (+19193.33%)
Mutual labels:  command-line-tool, cli, command-line
Laminas Cli
Console command runner, exposing commands written in Laminas MVC and Mezzio components and applications
Stars: ✭ 25 (+66.67%)
Mutual labels:  command-line-tool, cli, command-line
Zoxide
A smarter cd command. Supports all major shells.
Stars: ✭ 4,422 (+29380%)
Mutual labels:  command-line-tool, cli, command-line
Starcli
✨ Browse GitHub trending projects from your command line
Stars: ✭ 269 (+1693.33%)
Mutual labels:  command-line-tool, cli, command-line
Ripgrep
ripgrep recursively searches directories for a regex pattern while respecting your gitignore
Stars: ✭ 28,564 (+190326.67%)
Mutual labels:  command-line-tool, cli, command-line
Git Tidy
Tidy up stale git branches.
Stars: ✭ 137 (+813.33%)
Mutual labels:  command-line-tool, cli, command-line
Brotab
Control your browser's tabs from the command line
Stars: ✭ 137 (+813.33%)
Mutual labels:  command-line-tool, cli, command-line
Node.cli Progress
⌛️ easy to use progress-bar for command-line/terminal applications
Stars: ✭ 466 (+3006.67%)
Mutual labels:  command-line-tool, cli, command-line

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

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

services

  • [ ] create
  • [ ] edit
  • [ ] delete
  • [x] list
  • [x] copy
  • [ ] deploy

task-definitions

  • [ ] create
  • [x] edit
  • [ ] delete
  • [ ] deregister
  • [ ] env
    • [ ] list
    • [ ] set
    • [ ] delete

scheduled-tasks

  • [ ] create
  • [ ] edit
  • [ ] delete
  • [ ] update

repositories

  • [x] create
  • [ ] edit
  • [x] delete
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].