Skip to content

Commit

Permalink
Adds a bit more to the README
Browse files Browse the repository at this point in the history
  • Loading branch information
Gowiem committed Jun 20, 2020
1 parent cf91dc6 commit 839a321
Showing 1 changed file with 61 additions and 5 deletions.
66 changes: 61 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,72 @@

Easily run one-off tasks against an ECS Task Definition.

## Purpose

`ecsrun` is a small go CLI app to provide a config file based approach to executing one-off ECS Tasks. The ECS `RunTask` command is a pain to write out on the command line, so this tool provides an easy way to wrap any common `RunTask` executions you do in a simple yaml file.

## Install

#### Homebrew

```
brew install masterpointio/tap/ecsrun
```

#### Go Get

```
go get -u github.com/masterpointio/ecsrun
```

## Usage
- TODO

### Invoking with `ecsrun.yaml`

Given you have an `ecsrun.yaml` like so:

```yaml
default: &default
cluster: "mp-test-cluster"
task: "mp-test-alpine"
security-group: "sg-06c65c3206401917e"
subnet: "subnet-0c97e16b8a52b4b86"
public: false
cmd:
- bash
- -c
- echo
- "hello world"

migrate:
<<: *default
task: mp-test-django
cmd:
- python
- ./manage.py
- migrate
```

You can invoke two easy commands to spin up a one-off task:

```
# Invoke the 'mp-test-alpine' task definition with the 'hello world' `CMD`
ecsrun --config default
# Invoke the 'mp-test-django' task definition with the `manage.py migrate` `CMD`
ecsrun --config migrate
```

TODO: Add more here

## Roadmap

- [x] Support basic CLI usage
- [x] Support local config file
- [x] Support `--dryrun` Flag
- [x] Add more tests
- [] Support log group / stream tailing of initiated task
- [] Support selection of resources similar to gossm (cluster, task def, task def version, etc etc)
- [] Support validation of given params: cluster, definition name, revision, subnet ID, SG ID, ect.
- [] Support EC2 usage.
- [ ] Add a `ecsrun init` command to generate the ecsrun.yml config file.
- [ ] Support log group / stream tailing of initiated task
- [ ] Support selection of resources similar to gossm (cluster, task def, task def version, etc etc)
- [ ] Support validation of given params: cluster, definition name, revision, subnet ID, SG ID, ect.
- [ ] Support EC2 usage.

0 comments on commit 839a321

Please sign in to comment.