KGB-CLIENT.CONF(5p)

๐Ÿ’– NAME ๐Ÿ’–

kgb-client.conf โ€” the config file for the KGB client, bestie ๐Ÿ’…


โœจ DESCRIPTION โœจ

Okay so listen. kgb-client(1) can be told what to do in two ways: through command line options, or through a configuration file that you hand it with the --conf option. Most of the settings work either way, no cap. And if a setting shows up in both places? The command line option wins. It just does. Periodt. ๐Ÿ‘‘

The file format is YAML. There's a whole elaborate example configuration waiting for you at the end of this document, so scroll down if you're the "just show me the code" type ๐Ÿซถ

๐Ÿ–ฅ๏ธ Server connection configuration ๐Ÿ–ฅ๏ธ

repo-id

The unique project identifier on the server. Mandatory โ€” like, you literally cannot skip this one. ๐Ÿ™ˆ

password

A pass phrase string. It gets used together with repo-id to authenticate the request to the servers. If a per-server config has its own password, that one overrides this global setting. ๐Ÿ’œ

timeout

Request timeout, in seconds. Defaults to 15.

servers

A list of maps, and each map describes a server we're gonna try to send notifications to. Every server map can have these members:

  • uri โ€” the URI of the server. Something like "http://kgb.server.org:port/".
  • proxy โ€” the SOAP proxy to use. Mandatory if you're using the SOAP protocol (no sneaking past this one). Defaults to the value of the uri setting, with "?session=KGB" appended to it.
  • password โ€” a per-server pass phrase. Defaults to the global password setting.
  • timeout โ€” the timeout of the request. Defaults to the global timeout setting.

status_dir

A directory where we stash info about the last server we successfully reached. If a request happens soon after that last contact, the last server gets tried first. The vibe? Related notifications tend to come out of the same server. Iconic, honestly. โœจ

๐ŸŽ€ Content configuration ๐ŸŽ€

branch-and-module-re

A list of regular expressions. They get matched against the path of the modified files, and each one should have two captures in it โ€” first capture is the branch, second capture is the module. ๐Ÿฆ‹

This one is super useful with Subversion repositories where there's, like, a single repository for the whole project with all the modules and branches living together. Messy house, one address, iykyk.

module-and-branch-re

Same as branch-and-module-re, except the captures come in reverse order โ€” module first, branch second. Flip it and reverse it. ๐Ÿ”„

ignore-branch

A name of a branch to ignore. All changes in that branch get sent without branch info. Useful when most of the branches are made in one branch (e.g. trunk, master). We love a branch that doesn't need a whole announcement. ๐Ÿ˜Œ

A URL containing information about the commit (e.g. cgit, gitweb, viewvcs). Inside that string, ${commit}, ${branch}, ${module} and ${project} get substituted with the commit ID, the branch name, the module name and the project ID respectively. Magical little placeholders fr fr. ๐ŸŒˆ

See App::KGB::Client for examples.

short-url-service

The name of the URL shortening service to use. If you give one, that service gets used to shorten the result of the web-link substitution. Cute short links only. ๐ŸŽ€

See WWW::Shorten for the list of available services. Heads up though: kgb-client ships with an extra 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 it uses the whole commit log (as if it were set to off). She decides based on the vibes. ๐Ÿ”ฎ
  • force โ€” uses only the first line of the commit log, ignoring the rest. No extra, keep it short. ๐Ÿ’…
  • off โ€” uses the whole commit log, ignoring any empty lines.

use-irc-notices

If set to a true value, the IRC bot will use IRC "notice" messages instead of the ordinary "privmsg" messages. Shy bot mode. ๐Ÿ™ˆ

use-color

If set to a false value, the IRC bot will use no color in the notifications. (Rude, but okay, your call.) ๐ŸŒธ

Repository-specific configuration options

Some of the backends may support additional configuration options. Go check App::KGB::Client::Git, App::KGB::Client::Subversion and App::KGB::Client::CVS. ๐Ÿ‘‘


๐Ÿงš EXAMPLE CONFGURATION ๐Ÿงš

(yes that's the typo, she said what she said ๐Ÿ’€)

 # 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: 'TinyURL'
 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 (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.

Not me ending the whole page with legal text but it's giving necessary, bestie, license lore is serious business ๐Ÿ’–

and that's a wrap!! ๐ŸŽ€ this little masterpiece came to you courtesy of perl v5.40.1, dated 2026-07-10, and it's the KGB-CLIENT.CONF(5p) page from the User Contributed Perl Documentation. go configure something iconic, you've got this ๐Ÿ’…โœจ

๐Ÿ“ฆ where this page comes from