Add support for plugins
- Dominant language
- Shell
- Stars
- 5.4k
- Forks
- 334
- PR merge metrics
- No merged PRs in 30d
Description
Now that Go 1.8 is released, and has support for [plugins](https://golang.org/doc/go1.8#plugin), it could be handy to expose some hooks in the ECS agent as a method for people to extend it, without forking.
As an example, in [Empire](https://github.com/remind101/empire), we'd like to eventually switch to the `RunTask` api for running "attached" containers, however, #462 is a blocker for that. If the ECS agent had support for a plugin, where we could manipulate the task before it was started, then we could add the `OpenStdin` and `Tty` options to `CreateContainer` before starting (e.g. if it had a docker label set). Without this, our only option is to fork the agent, which is something we'd like to avoid.
Contributor guide
Research direction
The issue names no repository files, tests, or entry points. Start by reviewing the ECS agent's task-start flow and the Go 1.8 plugin reference, then determine how a plugin could modify task/container options before CreateContainer; done means a documented, usable extension mechanism that supports the described OpenStdin and Tty case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, go
- Domain
- backend, cloud
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100