Enable Rails 7.1.2 Health Check Endpoint
I upgrade my rails project and tend to run on the latest stable version. Doing those upgrades tends to wipe out my configs so I will usally do them manually. In this case I missed a really cool feature - the health check endpoint at \up
.
Setting this up is fairly easy! Add these lines to the top of your routes file:
Rails.application.routes.draw do
# Reveal health status on /up that returns 200 if the app boots with no exceptions, otherwise 500.
# Can be used by load balances and uptime moniors to verify the app is live.
get 'up' => 'rails/health#show', as: :rails_health_check
...
up
route to routes.rbNow if you visit your running app's \up
path you should be presented with a green screen for a running app, and a red one for a failed.

If you host on fly.io you can take advantage of this new endpoint by modifying your fly.toml
to include the health checks as shown here:
[http_service]
internal_port = 3000
force_https = true
auto_stop_machines = true
auto_start_machines = true
min_machines_running = 1
processes = ["app"]
[checks]
[checks.status]
port = 3000
type = "http"
interval = "10s"
timeout = "2s"
grace_period = "5s"
method = "GET"
path = "/up"
protocol = "http"
tls_skip_verify = false
[checks.status.headers]
X-Forwarded-Proto = "https"
fly.toml
added configuration to use health checks