Provide Puppet (CA) multi homing
Currently the generated puppetmaster and puppet_ca_server hostnames are the same as the smart proxy.
This isn't always the case. When you have a setup:
Foreman <-> Smart Proxy <-> Hosts
Here you have a private LAN between Foreman and its Smart Proxies. There is another network which has hosts. Here you'd have the Puppet (CA) on the host network. In hostnames:
- foreman.lan.example.com (192.0.2.2)
- proxy.lan.example.com (192.0.2.3)
- proxy.wan.example.com (198.51.100.3)
- puppet.wan.example.com (198.51.100.4)
- puppetca.wan.example.com (198.51.100.5)
/etc/foreman-proxy/settings.d/puppet_proxy_puppet_api.yml you'd configure:
/etc/foreman-proxy/settings.d/puppetca_http_api.yml (Proxy 1.22) you'd configure:
By using the new capabilities framework we can expose these settings to Foreman. Foreman can use these to present the correct hostnames, like in the provisioning templates.
Fixes #26164 - Use the proxy configured puppet_url
When the proxy exposes the puppet_url setting for the Puppet or Puppet
CA features this can be used to provide multi homing.
An additional benefit is that we support using a non-standard port for
both the Puppet master and the CA.