Clarifying the types of health checks

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:



  • I couldn’t find any other information on the http_services (as opposed to http_service) config block on this doc page. Is this a typo?
  • Is this just a mirroring of services.machine_checks, like what I’m guessing http_service.checks is for services.http_checks?


  • Low level TCP check for any service


  • Higher level HTTP check for any service (requires HTTP success response)


  • 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?


  • 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?

Hey, just wanted to check in again on some of these questions.

Also, to add onto my notes above, it seems like machine checks are very new, and have the following properties:

  • New machine is spun up to run the check
  • They are run at deploy time only
  • If failure is encountered, deploy is rolled back (exact response varies by deploy strategy)

I’m still hoping to get some clarification on the questions above though!

Yes, everything you’ve described is correct.

Thanks. Also specifically want to clarify checks.name_of_your_http_check type checks: if these don’t affect routing, what is its purpose?

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.