Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gumieri/ecsctl
Command-line tool for managing AWS Elastic Container Service and Projects to run on it.
https://github.com/gumieri/ecsctl
aws cli command-line command-line-tool docker ecs ecs-cli
Last synced: 14 days ago
JSON representation
Command-line tool for managing AWS Elastic Container Service and Projects to run on it.
- Host: GitHub
- URL: https://github.com/gumieri/ecsctl
- Owner: gumieri
- License: mit
- Created: 2018-09-04T03:16:21.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-09-10T12:51:22.000Z (2 months ago)
- Last Synced: 2024-10-10T18:41:29.689Z (about 1 month ago)
- Topics: aws, cli, command-line, command-line-tool, docker, ecs, ecs-cli
- Language: Go
- Homepage:
- Size: 256 KB
- Stars: 17
- Watchers: 5
- Forks: 3
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ecsctl *WORK IN PROGRESS*
## Installation
All builds are available at the [releases](https://github.com/gumieri/ecsctl/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`):
```bash
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:
```bash
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:
```bash
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:
```yaml
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-fleetservices
- [ ] create
- [ ] edit
- [ ] delete
- [x] list
- [x] copy
- [ ] deploytask-definitions
- [ ] create
- [x] edit
- [ ] delete
- [ ] deregister
- [x] env
- [x] list
- [x] set
- [x] deletescheduled-tasks
- [x] create
- [x] edit
- [ ] delete
- [x] updaterepositories
- [x] create
- [ ] edit
- [x] delete