summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2015-01-18 08:06:09 -0800
committerJesse Morgan <jesse@jesterpm.net>2015-01-18 08:06:09 -0800
commitddcf81162f68b17f5184104109c54f27d3a7d5a9 (patch)
tree462da514b23c534e5a7b3ca02e5f1b4923a331b2
parent0d7fe028ac21d9ec8fa6322f531b97eddaf9bfe0 (diff)
Adding README.md
-rw-r--r--README.md42
1 files changed, 42 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..faa7757
--- /dev/null
+++ b/README.md
@@ -0,0 +1,42 @@
+insomniaircd_conf
+==============================================================================
+
+This repositories contains config templates for InspIRCd at InsomniaIRC.
+The templates are compiles into a realized config by the [`Rakefile`](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`](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.
+
+