Repair holes in galvanized sheet?
If the rust is superficial and not has not corroded through the roof panels a light sanding with 60-100 grit sandpaper on a sander will remove the most of the rust down to shiny metal. What I like to do next is to apply a rust treatment such as Permetex Rust Treatment (found here
1: https://www.amazon.com/Permatex-81849-Treatment-10-25-Aerosol/dp/B000BKC25K/ref=sr_1_7?crid=1WIHUOS5UN97Y&amp;dchild=1&amp;keywords=rust%20treatment%20for%20car&amp;qid=1607738762&amp;sprefix=rust%20treatment%2Caps%2C213&amp;sr=8-7). This will change the rust to a black inert polymer primer and prevent it from spreading. Once it is dry (black) it can be painted as usual. I'd recommend any enamel alkyd type paint specifically for exterior metal. Rustoleum has an Industrial-type paint for tractors and machinery (found here)   If the rusted metal is perforated or has through holes you will need an extra step to repair the damaged area. Start by sanding the rusted area as before. Remove the rust until you reach shiny metal again. Spray with rust converter as before. Now here's where you'll need some artistic skills. Depending on the profile (shape, plane, detail) of the damaged area you'll need to fit a patch of galvanized sheet metal , cut larger than the hole. You'll have to shape and bend the patch to the existing roof section. Allow an additional 1-2 inches of the new patch to extend past the hole. Mark along the new metal edge where you will drill holes for round head screws to secure patch to roof. Next you can apply a continuous bead of 100% silicone onto the outside edge of the hole. Lay the patch over and screw down with sheet metal screws. Apply protective coating to repaired area. This is a general answer to your question. There are many products and several ways to repair a metal roof. I've answered with the easiest and most durable way I've found. Your roof, I'm guessing is movable to open and close. Be wary of any repaired area that may interfere with the moving roof.