ansible playbook for vulpineawoo
Find a file
2022-03-08 18:26:10 -05:00
challenge use oper CHALLENGE 2021-10-29 17:02:50 -04:00
auth.j2 kline exempt the tor service 2021-11-04 20:52:30 -04:00
class.j2 fix various systemd-caused bugs 2021-07-15 00:31:58 -04:00
config.yml alpine: fix some breaking changes 2022-03-05 15:24:13 -05:00
connect.j2 init 2021-07-14 22:54:14 -04:00
dnsbl.j2 change reject reason 2021-11-21 13:37:57 -05:00
ircd.j2 remove duplicate realhost 2022-03-07 20:14:35 -05:00
motd.j2 minor config and motd changes 2022-03-05 15:25:48 -05:00
openrc.j2 alpine: fix some breaking changes 2022-03-05 15:24:13 -05:00
operator.j2 operator: change xfnw's hostmasks 2022-03-07 13:46:33 -05:00
README.md document description in readme 2021-10-29 17:02:30 -04:00
solanum-edge.yml add solanum-edge for fetching directly from solanum's repos 2022-03-08 18:26:10 -05:00
solanum.yml alpine: fix some breaking changes 2022-03-05 15:24:13 -05:00
systemd.j2 fix various systemd-caused bugs 2021-07-15 00:31:58 -04:00

va-playbook

ansible playbook for solanum that supports hosts running debian or alpine

setup

  • add new host to your hosts file
  • run solanum.yml on new host to compile solanum
  • (optional) add your ssl.pem and ssl.key to /home/ircd/ircd/etc/. you probably want to make a cronjob for acme to automatically do this when the cert expires
  • run config.yml on the whole network
  • repeat steps periodically for network maintainance

hosts ini

everything except the server name, linkpass, and sid are optional and have sane defaults

name.of.the.server linkpass=yourreceivepassword sid=123 autoconn=other.server.name paport=6697 pahost=name.accessable.by.other.hosts ansible_host=name.accessable.by.playbook sponsor='nice person' services=linkpass description='very good server'

  • linkpass: password to receive from other linking servers. preferrably use something random for each one
  • sid: the Server ID for the server to use, in the format [0-9][A-Z0-9][A-Z0-9]
  • autoconn: server name to autoconnect to in the connect {} block
  • paport: port for other servers to use for linking
  • pahost: hostname for other servers to use for linking
  • ansible_host: hostname for ansible to use
  • sponsor: put a little 'server donated by' message in the MOTD
  • services: password to accept for services connecting over localhost, use only on the server that links to services
  • description: description for server in whois etc

caveats

  • ini seems to have horrible variable typing, so weird things can happen like sid=2E5 turning into sid=200000 (even if you quote it, wtf). use yaml for your hosts file if you need strict typing
  • this playbook currently only supports each server having one server set to autoconn