So, an awesome thing happened a couple of weeks ago, and we had our ConfigNOW User Advisory Board in Brisbane, which is a fancy way of saying that we got everyone who uses ConfigNOW currently or is in the process of evaluating it, and bundled them into a room and plied them with coffee and Powerpoint slides. From my perspective it was tremendously valuable, because I prefer developing things that are useful for people, so being able to get feedback and direction straight away is huge.
One of the questions that came out of the conversations was the viability of running the ConfigNOW GUI remotely to the ConfigNOW engine. Currently it’s assumed that the GUI runs on the same server as the ConfigNOW engine, which isn’t always ideal. Typically, the servers where the ConfigNOW engine is located are secure servers that are fairly heavily locked down, and the GUI’s use of the Ruby on Rails stack requires the installation of moving parts that aren’t always welcome there.
I’ve been digging into this over the last day or so, and I’m chuffed to report that there’s a way of using the current release of the ConfigNOW GUI on a separate server to the ConfigNOW engine, with just a few tweaks. Here’s the process involved:
- Configure SSH trust between the server running the ConfigNOW GUI, and the server where the ConfigNOW engine is located. I pretty much have to look this up every time I do it, but the instructions over here should see you right. Once that’s done, make sure you can SSH from the GUI server to the engine server without being prompted for a password. If that works, you’re good to move on with the next step.
- Copy your ConfigNOW engine install temporarily over to the ConfigNOW GUI server. This is a short-term necessity so that the standard install process for the GUI can load up your configuration files from the local filesystem. Expect this to improve in subsequent releases. And in the meantime, you’ll be removing this local extra copy once we’re done with these steps. IF, however, you can share the ConfigNOW install from your more secure engine server via a network share, then even better!
- Go through the standard GUI configuration process as detailed in the GUI User Guide. If you’ve been using the GUI previously, not much changes here. If you haven’t, you’re basically running this command:
rake confignow:load_config confignow:load_roles confignow:load_users confignow:load_permissions
- Set the confignow.command value in config/settings.yml to the following:
ssh @<engine_host> bash <confignow_engine_dir>/ConfigNOW.sh
ssh [email protected] bash /home/confignow/engine/ConfigNOW.sh
- Modify your ConfigNOW.sh script to add the following line after line 52, so it looks as follows:
That’s pretty much it. Make sure you’ve gotten rid of the temporary copy of the ConfigNOW engine over on the GUI server, and restart the ConfigNOW GUI. Then you should be able to run a show_config from the GUI, and everything should run tickety-boo.
If you have any issues with the process here, drop a comment on the post, or ping us over in the ConfigNOW forums. Otherwise, if you give it a spin, let me know how you go!
The more useful I can be to actual human beings, the better! We’re currently looking at ways to get ConfigNOW working quickly with engines across multiple servers, as well. I’ll put more information here when we’ve got a clearer plan as to what that will look like, as I know that’s going to make life a lot easier for a lot of you!