71 lines
2.0 KiB
YAML
71 lines
2.0 KiB
YAML
---
|
|
# 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
|
|
- name: build devzat
|
|
shell: |
|
|
cd /tmp
|
|
git clone https://github.com/tlinden/devzat
|
|
cd /tmp/devzat
|
|
go build
|
|
args:
|
|
creates: "/tmp/.ansible.devzatbuild"
|
|
|
|
- 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
|
|
touch /tmp/.ansible.devzat
|
|
args:
|
|
creates: "/tmp/.ansible.devzat"
|
|
|
|
- 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/"
|
|
mode: '0755'
|
|
|
|
- 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 }}
|
|
touch /tmp/.ansible.devzattemplate
|
|
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
|