bsdnix/roles/chat/tasks/main.yaml

67 lines
1.9 KiB
YAML
Raw Normal View History

2024-12-12 13:01:26 +01:00
---
2024-12-12 18:47:43 +01:00
# we do NOT use:
# git clone https://github.com/quackduck/devzat
# but our own fork where we patched the torlist stuff away.
# see: https://github.com/quackduck/devzat/issues/246
2024-12-12 13:01:26 +01:00
- name: build devzat
shell: |
cd /tmp
2024-12-12 18:47:43 +01:00
git clone https://github.com/tlinden/devzat
2024-12-12 13:01:26 +01:00
cd /tmp/devzat
go build
args:
creates: "/tmp/.ansible.devzatbuild"
2024-12-12 13:01:26 +01:00
- name: create services template dir
file:
path: "/usr/local/bastille/templates/services/{{ role_name }}"
state: directory
recurse: yes
- name: copy template config files
template:
src: Bastillefile.j2
dest: "/usr/local/bastille/templates/services/{{ role_name }}/Bastillefile"
- name: create config paths
file:
path: "/usr/local/bastille/templates/services/{{ role_name }}/{{ item }}/"
state: directory
recurse: yes
loop:
- usr/local/etc
- usr/local/etc/rc.d
- usr/local/sbin
- name: copy devzat binary
shell: install -m 755 /tmp/devzat/devzat /usr/local/bastille/templates/services/{{ role_name }}/usr/local/sbin/devzat
args:
creates: "/tmp/.ansible.devzat"
2024-12-12 13:01:26 +01:00
- name: copy devzat config file
copy:
src: devzat.yml
dest: "/usr/local/bastille/templates/services/{{ role_name }}/usr/local/etc/"
- name: copy devzat rc file
copy:
src: devzat
dest: "/usr/local/bastille/templates/services/{{ role_name }}/usr/local/etc/rc.d/"
2024-12-12 18:47:43 +01:00
mode: '0755'
2024-12-12 13:01:26 +01:00
- name: create jail
shell: "bastille create -B {{ role_name }} {{ release }} {{ chatip.stdout }}/64 bridge0"
args:
creates: /usr/local/bastille/jails/{{ role_name }}
- name: start jail
shell: bastille start {{ role_name }} || true
- name: template jail
shell: "bastille template {{ role_name }} services/{{ role_name }}"
args:
# FIXME: might make it impossible to update, on the other hand w/o
# it this command fails with "devzat binary busy" when the jail is
# already running, since go binaries do not fork.
creates: "/tmp/.ansible.devzattemplate"