Feature #14455
closedAdd foreman_smartproxy provider with dependencies for AIO
Description
The foreman_smartproxy provider in the puppet-foreman module currently uses the apipie-bindings rubygem to make the REST API call to Foreman to register a smart proxy. This requires dependencies that aren't in the AIO Puppet environment.
Some points came out of the discussion at https://groups.google.com/d/msg/foreman-dev/Ijvodu1hJkE/bkCvBQ1PAQAJ:
1) The dependencies should be installed directly into the AIO environment, probably by creating packages to ship the .gems into a known location, then install them with package resources and the puppet_gem provider.
This may be helped by https://github.com/theforeman/puppet-foreman/pull/424 which brings dependency installation into puppet-foreman so it's in the same module as the providers themselves.
2) The number of dependencies with apipie-bindings is high, and adding a new provider with minimal dependencies (just 'oauth') would help. The same thread links to an example provider that does this, which needs merging into puppet-foreman.
As a workaround, users can use --foreman-proxy-register-in-foreman=false.