public
Description: iClassify is a server inventory and classification tool.
Homepage: https://wiki.hjksolutions.com/display/IC/Home
Clone URL: git://github.com/adamhjk/iclassify.git
commit  21ca22ebcb65fd6f2c3a224027c8893f0944d7bb
tree    cf97f774e2a6cdb3172e147e4ef444b47a4d5c61
parent  292bac2f72dd198b70aab46476d0b6e33ed2290e
iclassify / INSTALL
100644 107 lines (75 sloc) 3.243 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
Installing iClassify
--------------------
 
Prerequisites
-------------
iClassify is still pretty early in it's life, so installation is not exactly
a piece of cake. You need a few prerequisites:
 
1. uuidtools. (http://sporkmonger.com/projects/uuidtools/)
   You can install this with "gem install uuidtools"
   
2. Rails.
   You can install this with "gem install rails"
   
3. SQLite 3 (http://www.sqlite.org)
   Assuming you already have the libraries, a "gem install sqlite3-ruby"
   will do the trick.
 
4. Facter. (http://reductivelabs.com/projects/facter/)
   iClassify uses Facter to populate lots of useful information about the
   operating system. You probably already have facter, since iClassify
   without Puppet at this not super useful.
 
5. Builder. (http://builder.rubyforge.org)
   Builder is for generating XML. "gem install builder".
   
-----------------------------------------------------
Instructions for the iClassify Service in Development
-----------------------------------------------------
 
Checkout iClassify
 
  $ git clone git://hjksolutions.com/iclassify iclassify
  $ cd iclassify
  
Create a few missing directories.
 
  $ mkdir log
  $ mkdir -p vendor/plugins/acts_as_solr/solr/solr/data/development
  $ mkdir -p vendor/plugins/acts_as_solr/solr/logs
  $ mkdir -p vendor/plugins/acts_as_solr/solr/tmp
 
Change to that directory, and create the database.
 
  $ rake db:migrate
 
Start solr.
   
  $ rake solr:start
  
Start iClassify.
 
  $ ./script/server
  
You can now hit port 3000 on your host to see the iClassify interface.
Getting things running under a proper rails style deployment will eventually
show up as a puppet recipe, but for now, it's left as an exercise to the
user.
 
The default password for the web UI is "admin" with password "iclassify".
 
------------------------
Instructions for icagent
------------------------
 
The icagent provides for a simple mechanism to have systems register
themselves with iClassify. You should install it on your systems, by
doing:
 
  $ mkdir /srv/icagent
  $ cd /srv/iclassify
  $ cp -ra ./lib/iclassify* /srv/icagent
  $ cp -ra ./icagent /srv/icagent
  $ cp -ra ./bin /srv/icagent
  
And then distributing the resulting set to your hosts, setting up a cronjob,
and calling it a day. You call icagent by:
 
  $ icagent -s http://yourserver:3000 -d /srv/icagent/icagent
  
This will register your host as unclassified, with all the attributes from
Facter present.
 
------------------
Puppet Integration
------------------
 
Assuming you are running iClassify on the same system as your puppet master,
you can use iClassify as your external node tool. Tags in iClassify equate
to classes in Puppet. To do so, you should set:
 
[main]
  external_nodes = "/srv/iclassify/bin/icpuppet"
  
Puppet has a bug currently that prevents setting command line arguments on
the external_nodes call. This should be fixed soon, but until then, you
need to either crack open icpuppet and hard code the server path or just
run it on the same host.
 
-------------------
Command line search
-------------------
 
It's neat to be able to search from the command line. Poke around at the
icsearch command, and you can easily start building shell scripts to do
good things.