NAME¶
kgb-client.conf -- KGB client configuration file
DESCRIPTION¶
kgb-client(1) can be configured via command line options and/or via a
configuration file (via the
--conf option). Most of the settings can
use either way, with command line options overriding settings from the
configuration file.
The file format is YAML. Elaborate example configuration is at the end of this
document.
Server connection configuration¶
repo-id¶
Unique project identifier on the server.
Mandatory.
password¶
Pass phrase string. Used together with
repo-id to authenticate the
request to the servers. Per-server configuration overrides this setting.
timeout¶
Request timeout in seconds. Defaults to 15.
servers¶
A list of maps, describing the servers to try to send ntifications to. Each
server map can have the following members:
- uri
- The URI of the server. Something like
"http://kgb.server.org:port/".
- proxy
- SOAP proxy to use. Mandatory if using SOAP protocol. Defaults to to the
value of the uri setting, with "?session=KGB"
appended.
- password
- Per-server pass phrase. Defaults to the global password
setting.
- timeout
- Timeout of the request. Defaults to the global timeout
setting.
status_dir¶
Directory to store information about the last successfuly contacted server. If
the request is soon after the last contact, the last server is tried first.
This way related notifications tend to come out of the same server.
Content configuration¶
branch-and-module-re¶
A list of regular expressions. These are matched against the path of the
modified files and should have two captures in them -- the first capture is
for the branch and the second capture is for the module.
This is useful with Subversion repositories where there is a single repository
for the project, with all the modules and branches.
module-and-branch-re¶
Same as
branch-and-module-re, but captures are in reverse order -- module
first and branch second.
ignore-branch¶
A name of a branch to ignore. All changes in that branch are sent without branch
info. Useful if most of the branches are made in one branch (e.g. trunk,
master).
web-link¶
URL containing information about the commit (e.g. gitweb, viewvcs).
"${commit}", "${branch}", "${module}" and
"${project}" in that string are substituted with the commit ID, the
branch name, the module name and the project ID respectively.
See App::KGB::Client for examples.
short-url-service¶
The name of the URL shortening service to use. If given, the service is used to
shorten the result of
web-link substitution.
See WWW::Shorten for the list of available services. Note that
kgb-client
comes with an additional service called "Debli", which is primarily
useful for clients running on Debian's collaboration server, alioth.
single-line-commits¶
Send only a single line of the commit message to the channel. Possible values:
auto|force|off.
- auto
- (default) Uses single line notification if the commit log's second
line is an empty string. Otherwise uses the whole commit log (as if set to
off).
- force
- Uses only the first line of the commit log, ignoring the rest.
- off
- Uses the whole commit log, ignoring any empty lines.
use-irc-notices¶
If set to a true value will make the IRC bot use IRC "notice" messages
instead of the ordinary "privmsg" messages.
use-color¶
If set to a false value will make the IRC bot use no color in the notifications.
Repository-specific configuration options¶
Some of the backends may support additional configuration options. See
App::KGB::Client::Git, App::KGB::Client::Subversion and App::KGB::Client::CVS.
EXAMPLE CONFGURATION¶
# vim: filetype=yaml
---
repo-id: 'kgb'
password: 'notknown'
timeout: 7
status-dir: '/home/proj/kgb-client/status'
module-and-branch-re:
- '^/([^/]+)/(trunk|tags/(?:[^/]+))/'
- '^/([^/]+)/branches/([^/]+)/'
- '^/(website)/()'
web-link: 'http://svn.debian.org/viewvc/${project}?view=revision&revision=${commit}'
# web-link: 'http://anonscm.debian.org/gitweb/?p=${project}/${module}.git;a=commitdiff;h=${commit}'
#short-url-service: 'Metamark'
short-url-service: 'Debli'
ignore-branch: 'trunk'
use-irc-notices: 0
use-color: 1
servers:
- uri: 'http://kgb.server.org:9418/'
- uri: 'http://another.kgb.server.org:9418/'
timeout: 3
password: 'notknowneither'
SEE ALSO¶
kgb-client(1), App::KGB::Client, WWW::Shorten, WWW::Shorten::Debli,
kgb-bot(1)
AUTHOR¶
- Damyan Ivanov dmn@debian.org
COPYRIGHT & LICENSE¶
Copyright (C) 2012, 2013 Damyan Ivanov
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
Street, Fifth Floor, Boston, MA 02110-1301, USA.