Seeding IRC automation after a lot of work
This commit is contained in:
29
roles/IRC/tasks/bots.yml
Normal file
29
roles/IRC/tasks/bots.yml
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
|
||||
- user:
|
||||
name: "{{ item }}"
|
||||
state: present
|
||||
shell: "{{ daemon_shell | default('/sbin/nologin') }}"
|
||||
local: yes
|
||||
groups: ircd
|
||||
loop:
|
||||
- bitbot
|
||||
- dsbridge
|
||||
- theraven
|
||||
- werewolf
|
||||
|
||||
# Install TheRaven package
|
||||
- package:
|
||||
name:
|
||||
- TheRaven
|
||||
|
||||
- git:
|
||||
repo: 'https://github.com/jesopo/bitbot.git'
|
||||
dest: /usr/local/src/bitbot/
|
||||
clone: yes
|
||||
update: yes
|
||||
|
||||
- git:
|
||||
repo:
|
||||
|
||||
-
|
60
roles/IRC/tasks/daemon.yml
Normal file
60
roles/IRC/tasks/daemon.yml
Normal file
@@ -0,0 +1,60 @@
|
||||
---
|
||||
|
||||
- name: Ensure directory permissions
|
||||
become: yes
|
||||
file:
|
||||
state: directory
|
||||
path: "{{ item }}"
|
||||
owner: ircd
|
||||
group: ircd
|
||||
mode: 0750
|
||||
loop:
|
||||
- "/var/log/inspircd"
|
||||
- "/etc/inspircd"
|
||||
|
||||
- name: Copy config and fill in attributes
|
||||
register: templatefiles
|
||||
become: yes
|
||||
template:
|
||||
src: "inspircd/{{ item }}.j2"
|
||||
dest: "/etc/inspircd/{{ item }}"
|
||||
owner: ircd
|
||||
group: ircd
|
||||
mode: 0600
|
||||
loop:
|
||||
- inspircd.conf
|
||||
- modules.conf
|
||||
- links.conf
|
||||
- opers.conf
|
||||
- rules.txt
|
||||
- motd.txt
|
||||
|
||||
- name: Copy service file
|
||||
become: yes
|
||||
register: servicesfile
|
||||
copy:
|
||||
src: services/irc.service
|
||||
dest: /usr/lib/systemd/system/irc.service
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: Reload services
|
||||
when: servicesfile.changed
|
||||
become: yes
|
||||
systemd:
|
||||
daemon_reload: true
|
||||
|
||||
- name: Ensure service running
|
||||
become: yes
|
||||
service:
|
||||
name: irc
|
||||
state: started
|
||||
enabled: yes
|
||||
|
||||
- name: Reload on config change
|
||||
become: yes
|
||||
when: templatefiles.changed or servicesfile.changed
|
||||
service:
|
||||
name: irc
|
||||
state: reloaded
|
@@ -8,12 +8,11 @@
|
||||
- anope
|
||||
- TheRaven
|
||||
|
||||
- name: KiwiIRC Web Front
|
||||
become: yes
|
||||
git:
|
||||
repo: https://github.com/prawnsalad/KiwiIRC.git
|
||||
dest: /usr/local/src/KiwiIRC
|
||||
- include_tasks: daemon.yml
|
||||
|
||||
- include_tasks: services.yml
|
||||
|
||||
- include_tasks: web.yml
|
||||
|
||||
#- include_tasks: bots.yml
|
||||
|
||||
|
65
roles/IRC/tasks/services.yml
Normal file
65
roles/IRC/tasks/services.yml
Normal file
@@ -0,0 +1,65 @@
|
||||
---
|
||||
|
||||
- name: Ensure directory permissions
|
||||
become: yes
|
||||
file:
|
||||
state: directory
|
||||
path: "{{ item }}"
|
||||
owner: ircd
|
||||
group: ircd
|
||||
mode: 0700
|
||||
loop:
|
||||
- "/etc/anope"
|
||||
- "/opt/anope"
|
||||
- "/opt/anope/data"
|
||||
- "/var/log/anope"
|
||||
|
||||
- name: Copy config and fill in attributes
|
||||
register: templatefiles
|
||||
become: yes
|
||||
template:
|
||||
src: "anope/{{ item }}.j2"
|
||||
dest: "/etc/anope/{{ item }}"
|
||||
owner: ircd
|
||||
group: ircd
|
||||
mode: 0600
|
||||
loop:
|
||||
- botserv.conf
|
||||
- chanserv.conf
|
||||
- global.conf
|
||||
- hostserv.conf
|
||||
- memoserv.conf
|
||||
- modules.conf
|
||||
- nickserv.conf
|
||||
- operserv.conf
|
||||
- services.conf
|
||||
|
||||
- name: Copy service file
|
||||
become: yes
|
||||
register: servicesfile
|
||||
copy:
|
||||
src: services/ircservices.service
|
||||
dest: /usr/lib/systemd/system/ircservices.service
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: Reload services
|
||||
when: servicesfile.changed
|
||||
become: yes
|
||||
systemd:
|
||||
daemon_reload: true
|
||||
|
||||
- name: Ensure service running
|
||||
become: yes
|
||||
service:
|
||||
name: ircservices
|
||||
state: started
|
||||
enabled: yes
|
||||
|
||||
- name: Reload on config change
|
||||
become: yes
|
||||
when: templatefiles.changed or servicesfile.changed
|
||||
service:
|
||||
name: ircservices
|
||||
state: reloaded
|
56
roles/IRC/tasks/web.yml
Normal file
56
roles/IRC/tasks/web.yml
Normal file
@@ -0,0 +1,56 @@
|
||||
---
|
||||
|
||||
- name: Clone KiwiIRC
|
||||
become: yes
|
||||
git:
|
||||
repo: https://github.com/prawnsalad/KiwiIRC.git
|
||||
dest: /usr/local/src/KiwiIRC
|
||||
update: no
|
||||
|
||||
- name: Update permissions
|
||||
become: yes
|
||||
file:
|
||||
path: /usr/local/src/KiwiIRC
|
||||
recurse: yes
|
||||
owner: ircd
|
||||
group: ircd
|
||||
|
||||
- name: Populate config
|
||||
become: yes
|
||||
register: config
|
||||
template:
|
||||
src: kiwiirc/config.js.j2
|
||||
dest: /usr/local/src/KiwiIRC/config.js
|
||||
owner: ircd
|
||||
group: ircd
|
||||
mode: 0600
|
||||
|
||||
- name: Copy service file
|
||||
become: yes
|
||||
register: servicesfile
|
||||
copy:
|
||||
src: services/ircweb.service
|
||||
dest: /usr/lib/systemd/system/ircweb.service
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: Reload services
|
||||
when: servicesfile.changed
|
||||
become: yes
|
||||
systemd:
|
||||
daemon_reload: true
|
||||
|
||||
- name: Ensure service running
|
||||
become: yes
|
||||
service:
|
||||
name: ircweb
|
||||
state: started
|
||||
enabled: yes
|
||||
|
||||
- name: Reload on config change
|
||||
become: yes
|
||||
when: config.changed or servicesfile.changed
|
||||
service:
|
||||
name: ircweb
|
||||
state: reloaded
|
Reference in New Issue
Block a user