Step one: Classification

So the first step in adding automation to an existing infrastructure is identifying whats out there and classifying it into types and groups. If you already have this info somewhere (eg an existing ldap infrastructure) then you're done and can skip to step two (activities).

Leaving out a ton of detailed instructions on installing the core server (I'll cover that later) here's the quick and dirty way to install icagent on Ubuntu boxes (and Debian, with some adaptations.)

Dapper, Edgy and Feisty Hosts:
If you are on Dapper or Edgy, you need to add Feisty sources and pin everything we don't need (so you don't accidentally upgrade.) Hardy users can skip this section entirely; Feisty users can go down to where we start apt-getting stuff.

Go to /etc/apt/sources.list and add:
deb http://us.archive.ubuntu.com/ubuntu/ feisty main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ feisty main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu feisty-security main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu feisty-security main restricted universe multiverse

Then (the pinning part) add this to /etc/apt/preferences:
Package: *
Pin: release a=dapper
Pin-Priority: 700
#
Package: facter
Pin: release a=feisty
Pin-Priority: 500
#
Package: rubygems
Pin: release a=feisty
Pin-Priority: 500
#
Package: libbuilder-ruby
Pin: release a=feisty
Pin-Priority: 500

And finally, if you get an MMap error (you probably will..) you need to add this to /etc/apt/apt.conf:
APT::Cache-Limit "20000000";

Feisty Users, start here.
Now update and install the ruby bits:
# apt-get update
# apt-get install ruby rubygems rails facter dmidecode
# gem install -y builder uuidtools

Hardy Users
Your startup is easier - most of this stuff is already packaged. So install ruby bits:
# apt-get install ruby rubygems rails libbuilder-ruby facter dmidecode

Install uuidtools from gem:
# gem install -y uuidtools

Everyone:
And finally, finish up by copying icagent off your server (I use /opt/icagent, others use /srv, its really up to you.)
# scp -r iclassify-server:/opt/icagent /opt/
# rm -f /opt/icagent/icagent.uuid

That rm is important - otherwise the new server will try to register as the old one (doh!).

And optionally, you can set icagent to run automatically in cron - I run it every 10 minutes to update things like free space, but once a day (or less often even) is certainly reasonable. Just be sure you don't have hundreds of machines hitting it at once.
/etc/cron.d/icagent:
# runs icagent to update the iClassify server
*/10 * * * * root /opt/icagent/bin/icagent -s https://iclassify-server/ -d /opt/icagent/icagent/

I'll be posting iClassify server install directions later..