smart_proxy_request_forwarder
A plugin into Foreman's Smart Proxy to forward config reports and facts from external configuration servers such as Puppet or Salt masters to Foreman.
Public API
POST /request_forwarder/config_reports
POST /request_forwarder/hosts/facts
Both API endpoints are forwarded directly to Foreman without further parameter check.
Installation
Clone smart-proxy
git clone https://github.com/theforeman/smart-proxy
Clone all the repositories
git clone https://github.com/atix-ag/smart_proxy_request_forwarder
In smart-proxy directory
Add the gem to smart-proxy's bundler.d
from local checkouts.
cat > bundler.d/smart_proxy_request_forwarder.local.rb <<EOF
gem 'smart_proxy_request_forwarder', path: '../smart_proxy_request_forwarder'
END
Install the gems
bundle install
Configure smart_proxy_request_forwarder
as usual
cat > config/settings.d/request_forwarder.yml <<EOF
---
:enabled: true
EOF
Start the Smart Proxy
bundle exec bin/smart-proxy
Your smart proxy should now be usable.
Contributing
Fork and send a Pull Request. Thanks!
Copyright
Copyright (c) 2025 ATIX AG - https://atix.de
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.