We're a python shop, are using ansible, and are looking at integrating foreman with ansible to tackle bare-metal installs.
Is it possible at all to use foreman w/o puppet?
I found the documentation exhaustive but couldn't find a clear answer; the mention that "The Foreman installer uses Puppet to install Foreman." makes me think I will need to install puppet even though we don't intend to use it?
The installer does require Puppet and it will set up a Puppet master by default, but Foreman itself doesn't require Puppet. It's entirely possible to install Foreman either from packages or source without Puppet.
If you're unfamiliar with how Foreman works, or how you'd configure it from scratch, I'd strongly recommend sticking with the installer despite this, as you probably won't set it up correctly or optimally otherwise (e.g. it configures Passenger, SSL etc.). Get to know it in the "default" configuration before going further.
You could run the installer to set it up, then remove the Puppet master virtualhost, delete the installer and Puppet packages, and disable the Puppet module in the smart proxy (
/etc/foreman-proxy/settings.d/puppet.yml
). The installer would still use the Puppet certificates it generates for authentication and encryption between the main Foreman server and the smart proxy service.You could also run the installer on a host to gain some familiarity with the application and then use the experience and existing host as a reference to set it up again without Puppet.