aboutsummaryrefslogtreecommitdiffstats
path: root/tasks/jail_diddle.yml
blob: 73424f5390f8cf73092baba3ee49b17592939b52 (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
- name: Install packages inside jail
  loop:
    - { jail: diddle, package: python311 }
    - { jail: diddle, package: py311-sqlite3 }
    - { jail: diddle, package: git }
  include_tasks: pkg_jail_install.yml

- name: Install clone.sh
  template:
    src: root_clone.sh
    dest: /usr/local/jails/containers/diddle/root/clone.sh
    owner: root
    group: wheel
    mode: "0755"

- name: Clone & update diddle
  shell: jexec diddle sh /root/clone.sh https://github.com/jantuomi/diddle.git /root/diddle
  register: diddle_git
  changed_when: diddle_git.rc == 100
  failed_when: diddle_git.rc != 0 and diddle_git.rc != 100

- name: Install diddle env file
  template:
    src: diddle/root_diddle_env.j2
    dest: /usr/local/jails/containers/diddle/root/diddle/.env
    owner: root
    group: wheel
    mode: "0600"
  register: diddle_env

- name: Install diddle startup script
  template:
    src: diddle/usr_local_bin_diddle
    dest: /usr/local/jails/containers/diddle/usr/local/bin/diddle
    owner: root
    group: wheel
    mode: "0755"
  register: diddle_bin

- name: Install diddle service
  template:
    src: diddle/usr_local_etc_rc.d_diddle
    dest: /usr/local/jails/containers/diddle/usr/local/etc/rc.d/diddle
    owner: root
    group: wheel
    mode: "0755"
  register: diddle_rc

- name: Check if diddle service is running
  command: service -j diddle diddle status
  changed_when: false
  failed_when: false
  register: diddle_status

- name: Ensure diddle service is enabled
  shell: service -j diddle diddle enable
  changed_when: false
  failed_when: false

- name: (Re)start diddle service
  shell: service -j diddle diddle restart
  when: diddle_git.changed or diddle_bin.changed
    or diddle_rc.changed or diddle_env.changed or diddle_status.rc != 0