source: branches/confman-1.9/confman.conf.5.in @ 594

Revision 594, 9.6 KB checked in by blee, 5 months ago (diff)

Merge fix for #155 into confman-1.9.

Closes #155

  • Property svn:keywords set to Id
Line 
1.\" Copyright (c) 2008, Christopher Cowart and contributors
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" * Redistributions of source code must retain the above copyright
8.\"   notice, this list of conditions and the following disclaimer.
9.\" * Redistributions in binary form must reproduce the above copyright
10.\"   notice, this list of conditions and the following disclaimer in the
11.\"   documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
14.\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
15.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
16.\" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
17.\" OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
18.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
19.\" TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20.\" PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
21.\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
22.\" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
23.\" SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24.\"
25.\" $Id$
26.\"
27.Dd May 06, 2009
28.Dt CONFMAN.CONF 5
29.Os
30.Sh NAME
31.Nm confman.conf
32.Nd confman configuration file
33.Sh SYNOPSIS
34.Nm @sysconfdir@/confman.conf
35.Nm ${HOME}/.confmanrc
36.Sh DESCRIPTION
37System-wide configurations for
38.Xr confman 8 are read from @sysconfdir@/confman.conf. Per-user
39configurations can be added to ${HOME}/.confmanrc.
40.Ss FORMAT
41Both files are standard
42.Xr bash 1
43files that will be sourced by the
44.Xr confman 8 executable.
45In general, you will use simple assignments,
46though there is nothing preventing you from adding more creative logic.
47.Ss REQUIRED VALUES
48These values must be defined:
49.Bl -tag -width indent
50.It REPO_PROTOCOL
51This is the protocol portion of the
52.Xr svn 1 repository's URI. Possible examples include "https://", "file://",
53and "svn+ssh://".
54.It REPO_HOSTNAME
55For all values of REPO_PROTOCOL except "file://", REPO_HOSTNAME must be
56set. This value should be the empty string ("") for "file://" URIs.
57.It REPO_PATH
58This is the path portion of the repository URI.
59.El
60.Ss CONFSYNC OPTIONS
61These options control the behavior of
62.Xr confsync 8 ,
63.Xr confexport 8 , and
64.Xr confaudit 8 .
65.Bl -tag -width indent
66.It CONF_EXPORT_FILE
67This option is used by
68.Xr confexport 8
69as the location to write the tarball used with the
70.Xr confsync 8
71utility.
72.It CONF_EXPORT_USER
73The owner of the
74.Xr confexport 8
75export. Defaults to the user running
76.Cm confexport ,
77but when running as root, the file ownership can be changed with this
78configuration option.
79.It CONF_EXPORT_GROUP
80The group of the
81.Xr confexport 8
82export. Defaults to wheel.
83.It CONF_EXPORT_MODE
84The permissions, in octal format, for the
85.Xr confexport 8
86export. Defaults to 0640.
87.It EXPORT_REPO_PROTOCOL, EXPORT_REPO_HOSTNAME, EXPORT_REPO_PATH
88These options are analagous to their counterparts above (without the
89EXPORT prefixes). Use these to tell
90.Xr confexport 8 to look in an alternate location for the repository when
91automated access is provided by a separate mechanism from the interactive
92toolset. It can often be useful to have the repository accessible over
93"svn+ssh://" in interactive use (e.g.,
94.Xr confman 5 ), but to have local "file://" access for
95.Xr confexport 5 . These default to unset, in which case the repository
96will be found using the REPO_* configurations.
97.It CONF_EXPORT_URI
98The URI used by
99.Xr confsync 8 to find an export generated by
100.Xr confexport 8 . There are URI handlers for "file://", "http://", https://",
101"ftp://", "sftp://", and "scp://". Port numbers are not handled correctly
102in sftp and scp URIs.
103.It CONF_EXPORT_WORK_PATH
104If specified, this option is used by
105.Xr confexport 8 as the location to store a persistent working copy.
106.It CONF_EXPORT_STYLE
107The export style to be used by
108.Xr confexport 8 . Valid options are: repository, module, recipe.
109.It CONF_EXPORT_INCREMENTAL
110This option optimizes
111.Xr confexport 8 performance.  When enabled,
112.Xr confexport 8 will only export the changes made to the
113.Xr confman 8 repository since the last
114.Xr confexport 8 run.  This option has no effect when using repository-style
115exports.
116.It CONF_EXPORT_INCREMENTAL_LN
117This option further optimizes
118.Xr confexport 8 performance when using CONF_EXPORT_INCREMENTAL.  When enabled,
119.Xr confexport 8 will use
120.Xr ln 1 to copy unchanged exports into the new export rather than
121.Xr cp 1 .  This option can only be used if temporary files are created
122on the same filesystem partition as CONF_EXPORT_FILE.
123.It CONF_EXPORT_FILEDB
124This option optimizes
125.Xr confexport 8 and
126.Xr confsync 8 performance.  When enabled,
127.Xr confexport 8 will convert repository metadata from Subversion metadata
128into a proprietary file-backed metadata format and exclude all Subversion
129working-copy-related files from exports.  This significantly reduces the
130file size of export tarballs.  This also eliminates the previous requirement
131that the version of Subversion be matched between
132.Xr confexport 8 and
133.Xr confsync 8 machines.
134.It CONF_EXPORT_FILEDB_PLUS_SVN
135When enabled,
136.Xr confexport 8 will also include Subversion metadata in export tarballs.
137This allows multiple versions of confsync clients to be supported in parallel
138by a single confexport server.  Upgraded confsync clients will automatically
139prefer to use the filedb metadata when it is available.  This option has no
140effect unless CONF_EXPORT_FILEDB is also enabled.
141.It CONF_FETCH_SSH_KEY
142This is a private SSH keyfile for use with "sftp://" and "scp://" URIs above.
143.It CONF_FETCH_SSH_FLAGS
144This options allows you to specify custom parameters to the
145.Xr ssh 1
146client for
147.Cm confsync .
148.It CONF_SYNC_SLEEP
149The number of seconds for
150.Xr confsync 8
151to sleep when running in sleep mode.
152.It CONF_AUDIT_SLEEP
153The number of seconds for
154.Xr confaudit 8
155to sleep when running in sleep mode.
156.It CONF_SSH_KEY
157This option is deprecated and will be removed in a future release. See
158CONF_FETCH_SSH_KEY.
159.El
160.Ss MISCELLANEOUS OPTIONS
161.Bl -tag -width indent
162.It WORK_PATH
163Defaults to "${HOME}/src/conf". Can be used to change the location of the
164working copy.
165.It REPO_REMOTE_USER
166Defaults to "", using the underlying
167.Xr svn 1
168behavior. Use this to override the username for the repository host.
169.It SINGULARITIES
170Defaults to "". This is a white-space delimited list of all files that are to
171be treated as singularities by
172.Xr confman 8 .
173.It CONF_GROUP
174Defaults to "wheel". Specify which
175.Xr group 5
176should have access to various state files.
177.It CONF_WARNING
178This is the first line of confman banners for managed files.
179.It LOG_TEMPLATE
180If defined, the contents of this file will be the default log message visible
181in a user's editor for repository commits. This can be useful if you use
182hooks to log commits into an external issue tracker and you want to remind
183your users to fill in the ticket number.
184.It RECIPE_TEMPLATE
185When new recipes are created, the contents of this file will be used. The
186string
187.Ar __NAME__
188will be replaced with the name of the recipe. This defaults to
189@sysconfdefaultsdir@/recipe.template.
190.It DEFAULT_MODE_DIRECTORY
191Defaults to "0555". When new directories are created in
192.Xr confman 8 , they will have these permissions. Note that if the directory
193exists on the live filesystem, its real permissions will override this
194default value.
195.It DEFAULT_MODE_FILE
196Defaults to "0444". When new files are created in
197.Xr confman 8 , they will have these permissions. Note that if the file
198exists on the live filesystem, its real permissions will override this
199default value. Regardless of this value or the live file's mode, the write
200bits will be masked out, causing the live file to become read-only after
201a commit or install operation. This is to discourage users from bypassing
202revision control of the file. You can use
203.Cm confman chmod
204on a file to restore the write bits if you need them.
205.It DEFAULT_OWNER
206Which username should own new files and directories.
207.It DEFAULT_GROUP
208Which group should own new files and directories.
209.It DEFAULT_COMMENT
210Which character typically begins comments.
211.It DEBUG
212Defaults to "false". Set to "true" to enable some verbose messages. Mostly
213only useful for developers.
214.It NFS_HACK
215If your working copy lives on an NFS export with root_squash enabled, the
216super user will be unable to read your working copy with its default
217permissions. Set this to "true" to make your working copy world-readable
218when necessary. Note that the word HACK in the name of this option should
219be taken to heart, and there are probably better ways of getting around
220this challenge.
221.It LIVE_ROOT
222This option causes
223.Xr confman 8
224to use an alternate path to "/" for rolling out files. This is a great way
225to set up a sandbox and test things out before managing your live system.
226.It UPDATE_RELEVANT_ONLY
227Defaults to "false".  Set it to "true" to cause
228.Xr confman 8
229to update only the files relevant to the host's recipe when running a commit
230or an install.  Additionally,
231.Cm confman update
232will update only the recipe-relevant files when given no additional arguments.
233.It CONF_COMMIT_REPO_ONLY
234Defaults to "false".  Set it to "true" to change the behavior of
235.Xr confman 8
236"commit" to a repository-only operation, with no regard for the current
237machine's recipe or the subsequent rollout to the filesystem.  This is
238useful in centrally managed confexport/confsync environments.
239.El
240.Sh AUTHORS
241.An Chris Cowart Aq ccowart@timesinks.net
Note: See TracBrowser for help on using the repository browser.