Puppet+mcollective+foreman

I have configured two puppet masters and point both of them to another
puppet master as CA. I have foreman installed in this CA server. So, I can
view all the inventory from the nodes. Now, I want to point other two
puppet masters to this CA server? I figured I need to create smart proxy on
each puppet master but I cannot find the right documentation to do that.
Can someone point me towards the right documentation if it is available?
Basically I want to point other two puppet masters to this foreman
dashboard and have this web interface be able to access all the modules?
Also, I have foreman-postgresql configured on CA server. How would I point
it to the CA server to have all the database at the same place?

Now, I want to enable the "puppet run" on the foreman interface. How would
i do that? Should I configure mcollective client on the master server and
have the activemq/rabbitmq plugins installed on the master servers? Is that
how it's gonna work? I'm kind of lost and not being able to see the whole
picture here.

ยทยทยท ----------------------------------