So I'm looking for a uniform way to install chef on a number of different servers running different platforms. I know I can use the omnibus installer for this, but I also need a way to lock or otherwise keep the versions consistent across machines. Is there a good way of doing this without having ruby already installed on the machines?
For example, I have two brand new servers with minimal installs. One has Ubuntu and the other has CentOS. I order one when Chef 10.12.0 is the latest and the next when 10.14.0 is the latest. I want a uniform way of installing chef on these machines and making sure that they both have chef 10.12.0 (or whichever version I specify). Does anyone have any ideas? Could I just customize the omnibus install script to accept a specific version option? Or does it already do so?
Well the answer turns out to be rather simple. The Omnibus script actually takes an argument for the version I want it to install so I can just call the script like so:
./install.sh -v 10.16.6