-
Notifications
You must be signed in to change notification settings - Fork 219
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Machine Based health Checks #3430
Conversation
b6886d7
to
b9e56b0
Compare
A huge caveat is that this doesn't support bluegreen deploys yet. It's quiet a bit more involved then i initially thought to get that support moving |
4bac995
to
a36f9f7
Compare
We basically take the command provided in [[services.machine_checks]], and run it. If we get an exit code that isn't 0, we say that we failed the health check. This is only implemented for the rolling strategy right now, and needs to be implemented for bluegreen, canary, etc.
We're also now parallelizing canary machine creation. This isn't worth a fresh produce or anything since it was just a few lines of code, but still neat
The comment says it all, but we basically should only use the app config's kill signal/timeout if an image isn't set. Otherwise, we use the default info for the image.
Honestly does exactly what we need
^ rebased |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was expecting to see a test case added for this complex app case #3430 (comment)
It pretty much checks expectations around stop configuration, but in general it could be the perfect test case for all "machine check" related edge cases.
I'd add it as tomachine-machinechecks.toml
, include multiple process groups, services and machine checks.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can keep throwing nitpicks all day but It is in much better shape billy! well done.
Please see superfly/flyctl#3430 for the corresponding flyctl PR
* Add a section about machine_checks Please see superfly/flyctl#3430 for the corresponding flyctl PR * Switch machine to Machine Vale have mercy * Add machine_checks to http_services
We basically take the command provided in [[services.machine_checks]],
and run it. If we get an exit code that isn't 0, we say that we failed
the health check. This is only implemented for the rolling strategy
right now, and needs to be implemented for bluegreen, canary, etc.
Fixes #3233
Change Summary
What and Why:
How:
Related to:
Documentation