Do apps have zero-downtime deployments?

When your deploy finishes, Passenger and Puma will be restarted. Passenger will be restarted using the passenger command line utility. Puma is restarted using graceful restarts using socket activiation.

How can I rollback a bad deploy?

We recommend reverting your changes in Git and then triggering a new deploy.

Is there a maintenance mode I can turn on with my app?

Not currently. This is something we will probably add in the future, but for now we recommend installing the Turnout gem.