-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathINSTALL
106 lines (75 loc) · 3.17 KB
/
INSTALL
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
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.