Starting off the certmaster tree with most of the func code, shortly non-certmaster...
[certmaster.git] / docs / func-inventory.pod
1 =head1 NAME
2
3 func-inventory -- Takes inventory of data from func minions, and stores them in git.
4
5 =head1 SYNOPSIS
6
7 func-inventory [--verbose] [--server-spec glob] [--methods list] [--modules list] [--tree path] [--no-git]
8
9 =head1 DESCRIPTION
10
11 func-inventory runs against func-minions to gather information, and stores this information on the filesystem, in a tree arranged by hostname, module name, and method name.
12
13 After each update, differences are commited to version control (using git), where they can be examined with tools such as "git log" and "gitk".
14
15 =head1 --verbose
16
17 Provides extra output about what func-inventory is doing.
18
19 =head1 --server-spec
20
21 A glob, as can be given to "func", that describes what machines the inventory program should run against. The default is "*".
22
23 =head1 --modules list
24
25 A comma-seperated list of modules that should be included in the inventory, for instance "hardware,packages".
26 The default is "all".
27
28 =head1 --methods list
29
30 A comma-seperated list of methods that should be included in the inventory, for each module being queried. The default
31 is "info", which saves the data for any module that has an "info" method.
32
33 =head1 --tree-path
34
35 Selects the location where func-inventory will output data. The default is /var/lib/func/inventory. This directory will
36 contain a tree structure based on the hostnames, modules, and methods included in the inventory.
37
38 =head1 --no-git
39
40 Disables git integration, meaning changes will not be tracked using version control. This option is present
41 for those that do not have the "git-core" package installed, though installing it is highly recommended to get
42 the full degree of power out of func-inventory.
43
44 =head1 VIEWING CHANGES
45
46 Since func-inventory integrates with git, all changes to the remote systems (including additions of new systems) can
47 be tracked using standard git-tools such as "git log" and "gitk", when run on the directory specified for --tree.
48
49 Additional built in hooks to notify changes can be written using git's own trigger mechanism, though something
50 more specific to func will likely be developed in the future -- also eliminating the need to grok git internals.
51
52 =head1 ALTERNATIVE OUTPUT FORMATS
53
54 func-inventory can be passed a --json or --xmlrpc parameter to override the default output format. These
55 output formats are much less readable in the git-produced diffs, but are more easily loaded by other programs
56 that may want to "mine" the output of a func-inventory tree. Using --json requires that the python-simplejson
57 RPM be installed.
58
59 =head1 ADDITONAL RESOURCES
60
61 See https://hosted.fedoraproject.org/projects/func/ for more information.
62
63 See also the manpages for "func", "funcd", "certmaster", and "certmaster-ca".
64
65 =head1 AUTHOR
66
67 Michael DeHaan <mdehaan@redhat.com>
68
69
70