RFC: Moving Foreman Proxy, Installer and NodeJS to SCLs

I experimented with the installer living in the SCL. The issue I ran into has to do with how the SCL environment sets Gem paths, and Kafo and parsers calling puppet through Ruby system calls. When this happens the puppet being called cannot see it’s dependencies.

This is first encountered in kafo_parsers detecting if puppet strings is available. I had two initial thoughts to get around this:

  1. Write code to detect the location of gems and vendor_gems inside /opt/puppetlabs dynamically to allow any version of Puppet AIO to work
  2. Consider packaging the puppet gem directly into our SCL and using that instance of it solely for the installer divorcing it from the use of puppet-agent and puppetserver infrastructure