basecamp / kamal

Deploy web apps anywhere.
https://kamal-deploy.org
MIT License
9.39k stars 359 forks source link

Tidy up role and host commander setup #756

Closed djmb closed 3 months ago

djmb commented 3 months ago

Extract Kamal::Commander::Specifics to deal with host and role setup and ensure that primary hosts and roles always come first. This means that in a rolling deploy we deploy to the primary ones first.

This will be important when we remove the healthcheck step as we want to confirm the primary host can be deployed to before completing a deployment for other roles.

By setting the hosts and roles all together in one place we can sort the primary ones to the front without creating infinite loops.