icagent registers a node with iclassify, and lets you use small DSL for classifiying them.
icagent runs ruby scripts known as recipes on individual nodes and reports data collected by them back to iclassify.