ircd charybdis #2

  • By fo0bar
  • Latest version (#2)
  • precise
  • Stable
  • Edge

Description

Charybdis is a fast, scalable IRC server, capable of supporting tens
of thousands of connections. It supports SSL and X.509 certificate
challenge-response authentication.


Juju charm ircd-charybdis

Charybdis is a fast, scalable IRC server, capable of supporting tens of
thousands of connections. It supports SSL and X.509 certificate
challenge-response authentication.

How to deploy the charm

juju deploy ircd-charybdis
juju add-unit ircd-charybdis

Configuration

This charm maintains a few basic network-wide configuration options,
plus the cluster authentication between units (see below), but Charybdis
is infinitely configurable. To facilitate arbitrary configuration
options (opers, tuning, etc), the charm uses a template system. The
config-changed hook will first look for the templates on the units
themselves in /etc/charybdis/charm_templates/, then within the charm
itself in templates/.

To make an arbitrary change, make a copy of the charm's templates/
directory, edit, then scp the files to each unit's
/etc/charybdis/charm_templates/ directory. Once in place, run:

juju set ircd-charybdis bump=$(uuidgen)

The "bump" configuration option is a no-op, but still triggers
config-changed, which will rebuild the config files according to the
templates.

However, Charybdis is not capable of reloading itself automatically.
Once a config is changed, you must rehash on each of the units:

/oper
[your oper password]
/quote REHASH

Clustering

Charybdis supports linking nodes together, and this charm takes care of
setting up the relation authentication between the units. However,
Charybdis is not capable of automatically linking between nodes, so it
is still up to you to manually maintain the links. For example, to
connect the second unit to the first unit, connect to the second unit
and:

/oper
[your oper password]
/quote CONNECT juju-env-instance-1.local

Configuration

motd
(string) Default message of the day
Welcome to the IRC network!
adminname
(string) Administrator name (for whois, etc)
Administrator
networkdesc
(string) IRC network description
My Network
bump
(string) A dummy option to allow for triggering config-changed
fist
admindesc
(string) Administrator description (for whois, etc)
Network administrator
adminmail
(string) Administrator email address (for whois, etc)
admin@example.com
password
(string) IRC cluster server password
networkname
(string) Short IRC network name
MyNet
ports
(string) A colon-separated list of ports to expose
6667