diff options
7 files changed, 70 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index 5be4e59..37b42f3 100755
--- a/Makefile
+++ b/Makefile
@@ -16,6 +16,7 @@ all: rpms
pod2man --center="funcd" --release="" ./docs/funcd.pod | gzip -c > ./docs/funcd.1.gz
pod2man --center="func" --release="" ./docs/func.pod | gzip -c > ./docs/func.1.gz
+ pod2man --center="func-inventory" --release="" ./docs/func-inventory.pod | gzip -c > ./docs/func-inventory.1.gz
pod2man --center="certmaster" --release="" ./docs/certmaster.pod | gzip -c > ./docs/certmaster.1.gz
pod2man --center="certmaster-ca" --release="" ./docs/certmaster-ca.pod | gzip -c > ./docs/certmaster-ca.1.gz
diff --git a/docs/certmaster-ca.pod b/docs/certmaster-ca.pod
index 5251fd2..fce3f73 100644
--- a/docs/certmaster-ca.pod
+++ b/docs/certmaster-ca.pod
@@ -32,7 +32,7 @@ To configure this, edit /etc/func/certmaster.conf.
See It's a Wiki.
-See also the manpages for "func", "funcd", and "certmaster".
+See also the manpages for "func", "func-inventory", "funcd", and "certmaster".
=head1 AUTHOR
diff --git a/docs/certmaster.pod b/docs/certmaster.pod
index ce25a52..92f5074 100644
--- a/docs/certmaster.pod
+++ b/docs/certmaster.pod
@@ -20,7 +20,7 @@ Certmaster is configured by /etc/func/certmaster.conf
See It's a Wiki.
-See also the manpages for "func", "funcd", "certmaster-ca".
+See also the manpages for "func", "func-inventory", "funcd", "certmaster-ca".
=head1 AUTHOR
diff --git a/docs/func-inventory.pod b/docs/func-inventory.pod
new file mode 100644
index 0000000..ce79691
--- /dev/null
+++ b/docs/func-inventory.pod
@@ -0,0 +1,63 @@
+=head1 NAME
+func-inventory -- Takes inventory of data from func minions, and stores them in git.
+=head1 SYNOPSIS
+func-inventory [--verbose] [--server-spec glob] [--methods list] [--modules list] [--tree path] [--no-git]
+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.
+After each update, differences are commited to version control (using git), where they can be examined with tools such as "git log" and "gitk".
+=head1 --verbose
+Provides extra output about what func-inventory is doing.
+=head1 --server-spec
+A glob, as can be given to "func", that describes what machines the inventory program should run against. The default is "*".
+=head1 --modules list
+A comma-seperated list of modules that should be included in the inventory, for instance "hardware,packages".
+The default is "all".
+=head1 --methods list
+A comma-seperated list of methods that should be included in the inventory, for each module being queried. The default
+is "info", which saves the data for any module that has an "info" method.
+=head1 --tree-path
+Selects the location where func-inventory will output data. The default is /var/lib/func/inventory. This directory will
+contain a tree structure based on the hostnames, modules, and methods included in the inventory.
+=head1 --no-git
+Disables git integration, meaning changes will not be tracked using version control. This option is present
+for those that do not have the "git-core" package installed, though installing it is highly recommended to get
+the full degree of power out of func-inventory.
+Since func-inventory integrates with git, all changes to the remote systems (including additions of new systems) can
+be tracked using standard git-tools such as "git log" and "gitk", when run on the directory specified for --tree.
+Additional built in hooks to notify changes can be written using git's own trigger mechanism, though something
+more specific to func will likely be developed in the future -- also eliminating the need to grok git internals.
+See for more information.
+See also the manpages for "func", "funcd", "certmaster", and "certmaster-ca".
+=head1 AUTHOR
+Michael DeHaan <>
diff --git a/docs/func.pod b/docs/func.pod
index c8ad90e..8d4f4bb 100644
--- a/docs/func.pod
+++ b/docs/func.pod
@@ -91,7 +91,7 @@ called. See the project page (linked below) for more information.
See for more information, including information on scripting func from Python.
-See also the manpages for "funcd", "certmaster", and "certmaster-ca".
+See also the manpages for "func-inventory", "funcd", "certmaster", and "certmaster-ca".
=head1 AUTHOR
diff --git a/func.spec b/func.spec
index 0f6cd2f..c549c7a 100644
--- a/func.spec
+++ b/func.spec
@@ -60,6 +60,7 @@ rm -fr $RPM_BUILD_ROOT
%dir /var/log/func
@@ -78,7 +79,7 @@ fi
* Tue Oct 23 2007 Michael DeHaan <> - 0.0.13-1
-- packaged func-inventory script
+- packaged func-inventory and associated manpage
- release bump
* Thu Oct 18 2007 Seth Vidal <skvidal at> 0.0.12-1
diff --git a/ b/
index 5a6e04b..7cb1bef 100644
--- a/
+++ b/
@@ -46,6 +46,7 @@ if __name__ == "__main__":
(etcpath, ["etc/minion.conf"]),
(etcpath, ["etc/certmaster.conf"]),
(manpath, ["docs/func.1.gz"]),
+ (manpath, ["docs/func-inventory.1.gz"]),
(manpath, ["docs/funcd.1.gz"]),
(manpath, ["docs/certmaster.1.gz"]),
(manpath, ["docs/certmaster-ca.1.gz"]),