summaryrefslogtreecommitdiffstats
path: root/doc/man/bcfg2-lint.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/man/bcfg2-lint.txt')
-rw-r--r--doc/man/bcfg2-lint.txt129
1 files changed, 129 insertions, 0 deletions
diff --git a/doc/man/bcfg2-lint.txt b/doc/man/bcfg2-lint.txt
new file mode 100644
index 000000000..c5d2eacee
--- /dev/null
+++ b/doc/man/bcfg2-lint.txt
@@ -0,0 +1,129 @@
+.. vim: ft=rst
+
+bcfg2-lint
+==========
+
+.. program:: bcfg2-lint
+
+Synopsis
+--------
+
+**bcfg2-lint** [*options*] [*plugin* [*plugin*...]]
+
+Description
+-----------
+
+:program:`bcfg2-lint` checks the Bcfg2 specification for schema
+validity, common mistakes, and other criteria. It can be quite helpful
+in finding typos or malformed data.
+
+:program:`bcfg2-lint` exits with a return value of 2 if errors were
+found, and 3 if warnings (but no errors) were found. Any other non-0
+exit value denotes some failure in the script itself.
+
+:program:`bcfg2-lint` is a rewrite of the older bcfg2-repo-validate
+tool.
+
+Options
+-------
+
+-C *configfile*
+ Specify alternate bcfg2.conf location.
+
+-Q
+ Specify the server repository path.
+
+-v
+ Be verbose.
+
+--lint-config
+ Specify path to bcfg2-lint.conf (default `/etc/bcfg2-lint.conf`).
+
+--stdin
+ Rather than operating on all files in the Bcfg2 specification, only
+ validate a list of files supplied on stdin. This mode is
+ particularly useful in pre-commit hooks.
+
+ This makes a few assumptions:
+
+ Metadata files will only be checked if a valid chain of
+ XIncludes can be followed all the way from clients.xml or
+ groups.xml. Since there are multiple formats of metadata stored
+ in Metadata/ (i.e., clients and groups), there is no way to
+ determine which sort of data a file contains unless there is a
+ valid chain of XIncludes. It may be useful to always specify all
+ metadata files should be checked, even if not all of them have
+ changed.
+
+ Property files will only be validated if both the property file
+ itself and its matching schema are included on stdin.
+
+Plugins
+-------
+
+See :manpage:`bcfg2-lint.conf(5)` for more information on the
+configuration of the plugins listed below.
+
+Bundles
+ Check the specification for several issues with Bundler: bundles
+ referenced in metadata but not found in *Bundler/*; bundles whose
+ *name* attribute does not match the filename; and Genshi template
+ bundles that use the *<Group>* tag (which is not processed in
+ templated bundles).
+
+Comments
+ Check the specification for VCS keywords and any comments that are
+ required. By default, this only checks that the *$Id$* keyword is
+ included and expanded in all files. You may specify VCS keywords to
+ check and comments to be required in the config file. (For instance,
+ you might require that every file have a "Maintainer" comment.)
+
+ In XML files, only comments are checked for the keywords and
+ comments required.
+
+Duplicates
+ Check for several types of duplicates in the Metadata: duplicate
+ groups; duplicate clients; and multiple default groups.
+
+InfoXML
+ Check that certain attributes are specified in *info.xml* files. By
+ default, requires that *owner*, *group*, and *mode* are specified.
+ Can also require that an *info.xml* exists for all Cfg files, and
+ that paranoid mode be enabled for all files.
+
+MergeFiles
+ Suggest that similar probes and config files be merged into single
+ probes or TGenshi templates.
+
+Pkgmgr
+ Check for duplicate packages specified in Pkgmgr.
+
+RequiredAttrs
+ Check that all *Path* and *BoundPath* tags have the attributes that
+ are required by their type (e.g., a path of type symlink must have
+ name and to specified to be valid). This sort of validation is
+ beyond the scope of an XML schema.
+
+Validate
+ Validate the Bcfg2 specification against the XML schemas.
+
+ Property files are freeform XML, but if a *.xsd* file with a matching
+ filename is provided, then schema validation will be performed on
+ property files individually as well. For instance, if you have a
+ property file named *ntp.xml* then by placing a schema for that file
+ in *ntp.xsd* schema validation will be performed on *ntp.xml*.
+
+
+Bugs
+----
+
+:program:`bcfg2-lint` may not handle some older plugins as well as it
+handles newer ones. For instance, there may be some places where it
+expects all of your configuration files to be handled by Cfg rather than
+by a mix of Cfg and TGenshi or TCheetah.
+
+See Also
+--------
+
+:manpage:`bcfg2(1)`, :manpage:`bcfg2-server(8)`,
+:manpage:`bcfg2-lint.conf(5)`