aboutsummaryrefslogtreecommitdiff

insomniaircd_conf

This repositories contains config templates for InspIRCd at InsomniaIRC. The templates are compiles into a realized config by the Rakefile. The templates may be ERB files which are rendered as part of the compiling process.

Each server in the IRC network needs a nearly identical config, save for a few values such as the server name. The settings specific to each server are stored servers hash in the network.yaml file. The hash for the current server can be retreived with the server method in ERB templates.

The network.yaml file also facilitates linking by allowing you to specify simply the hostname to link with. The config template figures out the rest.

IRC configs tend to contain many secrets: linking passwords, oper hashes, etc. To secure those secrets, each one is encrypted with AES256 and stored in the secrets hash in the network.yaml file. To generate the config you must set the SECRET_KEY environment variable to the key or place the key in the secret.key file.

Usage

Directory Stucture

  • network.yaml contains server specific configs, secrets, and opers.
  • config-src/ contains the templates to process. Files ended in .erb are rendered according. All other files are copied verbatim. Directories are ignored.
  • conf/ will contain the rendered config after it is compiles.

To compile the configs for the server euclid.insomniairc.net, run:

SECRET_KEY=SHHH rake compile[euclid.insomniairc.net]

Obviously replacing SHHH with your actual AES key.