aws / aws/containers-roadmap

[ECS] [request]: Ability to send signals to containers

Open
#1,049 4 comments 33 reactions 0 assignees View on GitHub
ECS Proposed
Dominant language
Shell
Stars
5.4k
Forks
334
PR merge metrics
No merged PRs in 30d

Description

### Community Note

* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to the original issue to help the community and maintainers prioritize this request
* Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
* If you are interested in working on this issue or have submitted a pull request, please leave a comment

**Tell us about your request**
What do you want us to build?

The docker cli allows sending arbitrary signals to containers with `docker kill --signal=SIGHUP` command. This has dual functionality. One is to stop running containers (by sending SIGTERM), or signalling the process to do a certain action, e.g. flush buffers, reload configuration, dump debug info, etc.

Can we have a API to do the same with ECS (EC2 and Fargate) ?

**Which service(s) is this request for?**
Fargate, ECS

**Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?**
What outcome are you trying to achieve, ultimately, and why is it hard/impossible to do right now? What is the impact of not having this problem solved? The more details you can provide, the better we'll be able to understand and solve the problem.

Unix signals act as controls to send commands to a process. SIGTERM is the most common signal, asking the process to terminate. In addition, there are many others that can be used to send controls to a running process. Some use cases are, flush buffers, dump debug information to stdout, reload configuration (can be from a remote store), Reset active connect, etc. These are tremendously useful in many operational aspects, such as monitoring, debugging, profiling and so on.

Such functionality is also needed for containers. The only workaround I see for EC2 type containers, is to figure out the instance its running on and use docker cli directly which is cumbersome

**Are you currently working around this issue?**
How are you currently solving this problem?
No good solution as of now

**Additional context**
Anything else we should know?

**Attachments**
If you think you might have additional information that you'd like to include via an attachment, please do - we'll take a look. (Remember to remove any personally-identifiable information.)

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the ECS and Fargate service APIs and the Docker signal behavior described in the request. Define what an API for sending arbitrary signals to running containers should support for both EC2 and Fargate, and consider the stated operational use cases; done means the request has a decided scope and documented implementation path.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, docker
Domain
api, cloud
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.