Explanation for an unexpected rainbow
These are tropospheric Iridescent Clouds
According to AtmosphericOptics:
When parts of clouds are thin and have similar size droplets, diffraction can make them shine with colours like a corona. In fact, the colours are essentially corona fragments. The effect is called cloud iridescence or irisation... The usually delicate colours can be in almost random patches or bands at cloud edges. They are only organised into coronal rings when the droplet size is uniform right across the cloud. The bands and colours change or come and go as the cloud evolves...Iridescence is seen mostly when part of a cloud is forming because then all the droplets have a similar history and consequently have a similar size.
I've saturated the image so the interesting part can be appreciated
And here you have a very similar observation I quickly found by google image search: