I've been pondering methods for connecting pipes to barrels, pails and other things that hold water and have curved sides. Standard bulkhead fittings can have sealing problems on smaller diameter curves like pails and barrels, or they distort the container sides. I have used plastic fittings and epoxies with good but messy results on one rain barrel we have up in the mountains.
I discovered Uniseal, a rubber like ring that is inserted into a drilled hole and seals around schedule 40 pipes up to a pressure of 40 psi. Apparently they will even seal one pipe into the side of another pipe.
(https://www.aquaticeco.com/customers/images/subcategories/medium/U050.jpg)
I found them at several vendors, however the one below stocks the entire range from 1/2" pipe to 6" pipe. I also found a couple aquaculture forums where the Uniseal was being discussed. A few people stated the 4 and 6 inch sizes were difficult to insert the pipes into. However, the smaller sizes were easy.
An easy way to add a spigot to a rain barrel was shown on one site. Drill the hole, insert the Uniseal and then push a street elbow fitting into the seal and add a hose bib.
It might even be used in a metal roof perforation as long as the hole was not through a rib, maybe.