Single smart proxy to manage multiple remote puppet servers

Sorry for the repost I originally posted in community , but I figured this belongs to the support category.

We’ve been using smart proxies to send our puppet data to foreman. We wanted to limit the number of smart proxies being managed to foreman. We’ve always installed puppet masters and a smart proxy together on the same host and they connect to the foreman server fine.

Is it possible for multiple puppetservers to connect to a single smart proxy? I’m looking at the foreman proxy settings.yml and it looks like it cannot be simply configured here.

Is this possible to begin with? I’ve attache a basic diagram at what we’re trying to accomplish.
Any input would be much appreciated.

I cant seem to edit my original post: Versions below:

foreman 1.15.6
foreman-proxy-1.24
puppetserver 5.1.4

Not answering the original question, but this jumped out at me:

Are you sure these version numbers are correct? 1.24 proxy is probably not compatible with 1.15 foreman (if it is than it’s by chance, we never test that). you should upgrade both your foreman and proxies to a recent version that is supported (currently 2.0 or 2.1).

I’m not sure the diagram is correct. Generally the flow of information is (caller -> called):

Foreman -> Foreman Proxy -> Puppetserver

Then we have 2 scripts:
ENC: node.rb -> Foreman
Reports: puppetserver -> foreman

The Foreman proxy can only talk to a single server. With Puppet 6 it only uses the REST API so it can be a hostname. Behind a hostname, you can have multiple real servers but logically it should still be a single instance.

This is also because a Puppet Smart Proxy is assigned to a host. This works because Smart Proxy to Puppetserver is a 1:1 mapping, but if it was 1:n the Foreman needs to know about this mapping as well. That’s way too complex so it’s unlikely this will ever be supported.