I’ve been working for a nice project the last month. Implementing puppet Enterprise and puppet with the foreman. Why would someone want to use puppet enterprise and puppet with foreman? Well that’s a good question 🙂
Foreman is very versatile with its smart proxy functionality. This is very important if you have a complex network environment. Like puppet, foreman is written in ruby and can easily be integrated in the puppet enterprise framework. Foreman also has nice features like locations and organization as well as provisioning to bare metal, RHEV, Libvirt, Vmware, Amazon Cloud etc. etc. and you can integrate it into katello and add mcollective, which is very nice too. This means you could basically have an all in one solution, config and repo management and provisioning. Some of you guys would say oh but puppet Enterprise has a very nice LIve Management Console and can do provisioning to clouds too! I have to say your right, but not being able to lock the mcollective part down via web interface is a no go in a large environment.
Now where is the benefit of running (Enterprise/Open source) solution in parallel?
- You get the support for the puppet enterprise edition which kind of means also for the open source
- There is no difference between the Puppet Enterprise puppet binary version and the community version. So you can test on the Enterprise binary, and deploy to both environments.
- You can start building your environment with open source components without having to pay a large sum in advance in licenses.
- You can have one interface “Foreman” to manage all of your nodes.
- You get fantastic support on the #puppet or #foreman irc channel
As I could not find any documentation on how to integrate foreman with puppet enterprise and puppet open source in parallel I decided to write 2 documents:
- Set up the Foreman Proxy with passenger on Puppet PE and use foreman as an ENC and reporting engine
- Set up the Foreman Proxy to use mcollective with puppet PE / Puppet