buildkite / lifecycled

A daemon for responding to AWS AutoScaling Lifecycle Hooks
MIT License
146 stars 34 forks source link

Question: can lifecycled process requests for other instances? #80

Open ketzacoatl opened 5 years ago

ketzacoatl commented 5 years ago

One use case for lifecycled is that you run it on all EC2 instances, and when an instance terminates, you run the action on the instance that is terminating.

Another use case is to run those actions on a single/central management instance, rather than the instance that is terminating. There might be a variety of reasons for this, such as reliability, management access or permissions constraints in the env.

With a review of the go code, it seems lifecycled is restricting actions to the instance it is running on, is that true?

qrilka commented 5 years ago

79 is somewhat related to this issue

itsdalmo commented 4 years ago

With a review of the go code, it seems lifecycled is restricting actions to the instance it is running on, is that true?

Yep, each instance will only act on termination events that are targeting its own instance ID. The difficulty with running it centrally is that you'd need another way to initiate the shutdown script on the host that is being terminated, which I believe would increase complexity a lot 🤔

ketzacoatl commented 4 years ago

The difficulty with running it centrally is that you'd need another way to initiate the shutdown script on the host that is being terminated, which I believe would increase complexity a lot 🤔

For some use cases, the actions taken are with a central system and can be run from a single instance responsible for running a tool like lifecycled.

ketzacoatl commented 3 years ago

@itsdalmo would making the filter optional be enough to make this a reality?