Managing RabbitMQ using Chef

Hello,

We have a RabbitMQ cluster running on Windows 2016 servers.

RabitMQ version is 3.7.12, Erlang is 21.2

We wrote a relatively simple Chef cookbook to manage RabbitMQ but it doesn't have the logic to upgrade a Rabbit cluster without bringing it down (like we would do manually - one node at a time).

Any suggestions on how to do this safely? assuming this should also do production at some point.

Thanks!