How to Install a Smart-Proxy Plugin

Smart-Proxy plugins are ruby gems. Below are recommended methods for installation.

RPM Installations

Some plugins are available from Foreman repositories packaged as rpms. The repos are available at Separate repos are available for each Foreman release, containing plugins that are compatible with that particular version. Packages are not currently GPG signed.

Configure the repo by creating /etc/yum.repos.d/foreman_plugins.repo:

name=Foreman plugins

Find the package for the plugin:

yum search rubygem-smart-proxy

Install the package, e.g.

yum install rubygem-smart_proxy_pulp

Restart Smart-Proxy with

service foreman-proxy restart

Some plugins may require configuration in /etc/foreman-proxy/settings.d/, check for any .example files.

Installing from Gems

Use install without dependencies below to avoid building native extensions. Ensure the plugin you want is available from as a gem. Plugins that aren't published (just git repos) can't be installed with this method without being built as a gem.

 gem install --ignore-dependencies smart_proxy_pulp

If you need other dependencies (see the page), check the yum repo above or install the same way with 'gem'. Smart-Proxy relies on bundler for loading of dependencies; you'll need to update bundler configuration as detailed below.
Restart Smart-Proxy with

service foreman-proxy restart

If you hit problems, uninstall the added gems with

gem uninstall -v VERSION GEM

From Source Installations

Chances are plugin that developers already created bundler configuration file that you can use. Check bundler.d/ directory located in plugin gem source directory. Otherwise, It is recommended to use ~foreman-proxy/bundler.d/Gemfile.local.rb so that it is not overwritten by future upgrades. If it's published on, just add the name and the latest released version will be downloaded. Add to bundler.d/Gemfile.local.rb:

gem 'smart_proxy_pulp'

Bundler can install the plugin from a git repository. Add to bundler.d/Gemfile.local.rb:

gem 'smart_proxy_pulp', :git => "" 

Next, as a Foreman user (not root), run the following command:

$ bundle update foreman_sample_plugin