95 lines
3.5 KiB
YAML
95 lines
3.5 KiB
YAML
- name: Inspircd
|
|
hosts: pi
|
|
become: true
|
|
vars:
|
|
inspircd_sendpass: !vault |
|
|
$ANSIBLE_VAULT;1.1;AES256
|
|
38376364613733613839386432376432306531393231383362336465653730656539356362313337
|
|
6365613062323137323563643963656161666631653938380a373462323834653733376663646134
|
|
61613831323831353761376337616635336339363830326536383632306139363831643636626566
|
|
3131623431393438640a356166663965626535383032383232313064363732336164613236393430
|
|
34343536363838626333626439336662303965643337393563396366393831626339
|
|
inspircd_root_oper_password: !vault |
|
|
$ANSIBLE_VAULT;1.1;AES256
|
|
30343162623465633134623862326134636233633237613864363862316463653733383939636136
|
|
6263353934666637376563303761376162316334336534390a616336336663316462303862363662
|
|
64386137653566383962616131663866393966613664623036383834633439333162303032656666
|
|
3731353664653761620a333833336531393266643531323935393364656662623530376166383630
|
|
62623132626362643061646639303833346366396562613238623338326531346439
|
|
inspircd_bee_oper_password: !vault |
|
|
$ANSIBLE_VAULT;1.1;AES256
|
|
39396337663133313131383464393236316163653631616565613039393364333636656537393663
|
|
6439383936333837313536636536643063356630306130360a343533326133396632313631336136
|
|
37346330363231623130353432333134313963653365326633383461613834643634303566303230
|
|
3032326237653034350a333934623834656666333234616364663537383166626566653039393661
|
|
62336462613030313532333566363164336262376635633131313133386531333962
|
|
tasks:
|
|
- name: Install podman
|
|
ansible.builtin.apt:
|
|
name: podman
|
|
state: present
|
|
|
|
- name: Create inspircd config directory
|
|
ansible.builtin.file:
|
|
path: /etc/inspircd
|
|
state: directory
|
|
mode: '0755'
|
|
|
|
- name: Copy config
|
|
ansible.builtin.template:
|
|
src: inspircd.conf.j2
|
|
dest: /etc/inspircd/inspircd.conf
|
|
mode: '0644'
|
|
notify: Reload inspircd
|
|
|
|
- name: Copy motd
|
|
ansible.builtin.copy:
|
|
src: inspircd.motd
|
|
dest: /etc/inspircd/inspircd.motd
|
|
mode: '0644'
|
|
notify: Reload inspircd
|
|
|
|
- name: Create container build context directory
|
|
ansible.builtin.file:
|
|
path: /tmp/inspircd-build
|
|
state: directory
|
|
mode: '0755'
|
|
|
|
- name: Copy Containerfile to build context
|
|
ansible.builtin.copy:
|
|
src: Containerfile
|
|
dest: /tmp/inspircd-build/Containerfile
|
|
mode: '0644'
|
|
|
|
- name: Build inspircd container image
|
|
ansible.builtin.command:
|
|
cmd: podman build -t inspircd:local /tmp/inspircd-build
|
|
changed_when: true
|
|
|
|
- name: Stop and remove existing inspircd container
|
|
ansible.builtin.command:
|
|
cmd: podman rm -f inspircd
|
|
failed_when: false
|
|
changed_when: false
|
|
|
|
- name: Run inspircd container
|
|
changed_when: true
|
|
ansible.builtin.command:
|
|
cmd: >-
|
|
podman run -d
|
|
--name inspircd
|
|
--network host
|
|
--restart always
|
|
-v /etc/inspircd/inspircd.conf:/etc/inspircd/inspircd.conf:ro
|
|
-v /etc/inspircd/inspircd.motd:/etc/inspircd/inspircd.motd:ro
|
|
-v /etc/inspircd/cert.pem:/etc/inspircd/cert.pem:ro
|
|
-v /etc/inspircd/key.pem:/etc/inspircd/key.pem:ro
|
|
inspircd:local
|
|
|
|
handlers:
|
|
- name: Reload inspircd
|
|
changed_when: true
|
|
ansible.builtin.command:
|
|
cmd: podman kill --signal USR1 inspircd
|
|
failed_when: false
|