summaryrefslogtreecommitdiff
path: root/roles/jail/tasks/main.yml
blob: 670a886201853fc6b8927e4529ab08215e518875 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
- name: create dataset for jail
  community.general.zfs:
    name: "{{ jailset }}/{{ jail.name }}"
    state: present
    origin: "{{ jailset }}/base@{{ base_jail_patch_level }}"

- name: make sure jail conf dir exists
  file:
    path: "{{ jailbase }}/conf"
    state: directory
    mode: '0755'

- name: create jail conf {{ jail.name }}
  ansible.builtin.template:
    src: jail.conf.j2
    dest: "{{ jailbase }}/conf/{{ jail.name }}.conf"

- name: create additional datasets
  community.general.zfs:
    name: "{{ jailset }}/tank/{{ item }}"
    state: present
    extra_zfs_properties:
      jailed: on
  loop: "{{ jail.additional_data_sets | default([]) }}"

- name: start jail
  shell:
    cmd: jls -j {{ jail.name }} || jail -f {{ jailbase }}/conf/{{ jail.name }}.conf -c {{ jail.name }}

- name: Make sure packages are up to date in {{ jail.name }}
  community.general.pkgng:
    name: "*"
    state: latest
    jail: "{{ jail.name }}"