This post is more of a reference for myself than anything else, however I thought it might come in handy for some others.  It’s modified from the install.sh which comes with nventory and will configure an Amazon Linux AMI for you.

The install script below installs nventory, rubygems and nginx from source and everything else from either the Amazon repo or Epel.

This means that you can install and configure this system on the Amazon Free Usage Tier using the “tiny” Amazon Linux ( amzn-ami-2011.09.1.x86_64-ebs ) and get a complete inventory server and puppetmaster for a year at zero cost!

Before we get to the install script, a few caveats:

  1. THIS SCRIPT IS INTENDED TO BE RUN ON A FRESH INSTANCE WITH NO OTHER SERVICES INSTALLED, CONFIGURED OR RUNNING – I will not be held responsible if it breaks stuff!
  2. There is no warranty or guarantee with this script – if it breaks stuff, you get to keep both pieces.
  3. I haven’t tested this at any great scale – in this particular setup I only have three puppet agents, however the resources on the server seem to be more than adequate to deal with them
  4. The installation of the rubygems takes a long time (like over half an hour!)
  5. The entire script could take up to an hour to run
  6. Nventory itself is still not 100% production ready, however I have it working nicely, YMMV.

Install Instructions:

  1. Update the variables at the top of the script to set the various versions of RAILS, RubyGems, NGinx and NVentory
  2. Change the MySQL Password to something that is secure
  3. Run the script
  4. Point a hostname (/etc/hosts or DNS) “nventory” at the IP of the server
  5. Log in using a username of “admin” and a password of “admin”
  6. If it works, buy me a beer the next time you see me… 😉

Please let me know any thoughts you have in the comments below, coming up next – linking puppet to nventory (it’s really easy!)