Monday, November 24, 2014

Getting Geppetto Version 4.3.0 working behind a proxy (a workaround)

Geppetto stands alone as the only Puppet IDE available as of this writing. Initially created by cloudsmith the IDE leverage Eclipse with custom components for developing modules and writing manifests. As of version 4.0 Geppetto has been maintained by Puppet Labs with one of the fixes being that it would work behind a proxy. The idea is that the Puppet components should obey proxy settings set within Eclipse and the reality is that his doesn't work. First of all there are sparse documentation on where and how to set the proxy within Eclipse. In case the next release fixes the bug that I filed regarding this issue, here is where you set the proxy setting within Eclipse;

-Click the Window tab and select Preferences which bring up a new window
-Select Network Connections in the left pane and change Action Provider drop down to Manual
-Edit the proxy info as necessary and hit apply then close window

What happens once the setting is crated is that certain functions does obey the proxy settings except for Java function calls within Eclipse. When an attempt is made to import a module from the forge the error log isn't clear on where it fails, but the log reveals a java process that is making a call to https://forgeapi.puppetlabs.com. The workaround I have in place makes use of Proxifier to direct any traffic going out to http://www.proxifier.com/download.htm to make two hops, the first through Proxifier which then redirects it to the corporate proxy address and port. Here are the steps and settings within Proxifier;

-Click the Profile tab and Select Proxy Server. Enter your corporate proxy's IP and port and select protocol and click OK.
-Click Profile tab again and this time select Proxification Rules. Create a new rule called Geppetto and under Target Hosts enter forgeapi.puppetlabs.com and change the Action drop down to the the Proxy Server you set up in the previous step.

Proxifier will not pipe all traffic that tries to reach forgeapi.puppetlabs.com to the corporate firewall. The con of this process is that it requires a second application to continuously run, but sure beats waiting for my bug to be resolved.

No comments:

Post a Comment