In the documentation for fly.toml
, there’s many types of health checks available. I’m not sure if I get all the nuances, and I want to make sure I understand them right:
http_service.checks
- My understanding is that
http_service
is just a simplifiedservices
config block, and anything you can configure viahttp_service
you can also configure viaservices
, so this is just mirroring theservices.http_checks
option. Is this right?
http_services.machine_checks
- I couldn’t find any other information on the
http_services
(as opposed tohttp_service
) config block on this doc page. Is this a typo? - Is this just a mirroring of
services.machine_checks
, like what I’m guessinghttp_service.checks
is forservices.http_checks
?
services.tcp_checks
- Low level TCP check for any service
services.http_checks
- Higher level HTTP check for any service (requires HTTP success response)
services.machine_checks
- Runs on deploys - if it fails, deploy is rolled back
- Are
machine_checks
the only checks that run on deployment? - Is it correct to say
machine_checks
only run on deployment, while the other service checks above only run after deployment?
checks.name_of_your_http_check
- The docs say these are for non-public-facing services and don’t affect request routing.
- Is it correct to say that all the other listed checks above do affect routing? Does “affect routing” just mean that if a TCP/HTTP service check fails, the failing service is rotated out of the load-balancer?
- If this doesn’t affect routing, what’s the point of this check type?
- Dumb question, but are non-public-facing services just those other processes that exist in a multi-processing setup?