Preheat oven to 350 F. Butter and flour a large bundt pan.
Cream butter, coconut oil, sugar, salt, vanillas and baking powder for a full 5 minutes until very light and fluffy.
With the mixer on, add egg whites, one at a time allowing each to be fully incorporated before adding another.
Add the sifted flour mixture then turn the mixer on low and slowly drizzle in the buttermilk.
In 5 separate bowls, add 1/3 cup of batter. Using gel food coloring add red, yellow, green, blue and purple to each bowl and stir to combine the colors.
To the remaining batter add the cocoa, egg yolk and additional buttermilk. Mix to combine.
Use most of the cocoa batter to fill your bundt pan. Leave the last bit for the top, to cover the rainbow.
Place each of the colored batters in a piping bag (you'll have five) and snip off the top. Use the back of a teaspoon to create a moat in the chocolate batter.
Pipe a red circle into the moat then use the back of a spoon to smooth it out so that it's as wide as possible while still leaving a white border on the inner and outer rim.
Now add the yellow, leaving a red border on either side. Each following color will decrease in width - see photos above. Spoon the rest of the chocolate batter on top with an offset spatula, careful not to smoosh the rainbow.
Bake for 45 minutes, checking for doneness at 40. The bundt is done when you can touch it and it springs back.
Allow cake to cool in pan for about 15 minutes, then invert onto a cooling rack.