aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Tuomi <jan@jantuomi.fi>2026-06-06 23:41:09 +0300
committerJan Tuomi <jan@jantuomi.fi>2026-06-06 23:41:09 +0300
commitda5875291bd8380a28f7587e5341e49e96dbdef9 (patch)
tree05191818073d84f000cf4a3c450882cfbe8f4abc
parent6a4311689f280e285aa47a2dd758990ca583f3c5 (diff)
Use diddle port
-rw-r--r--roles/jails/08_diddle/defaults/main.yml19
-rw-r--r--roles/jails/08_diddle/handlers/main.yml4
-rw-r--r--roles/jails/08_diddle/tasks/main.yml20
-rw-r--r--roles/jails/08_diddle/templates/diddle.env.j2 (renamed from roles/jails/08_diddle/templates/root_diddle_env.j2)4
-rw-r--r--roles/jails/08_diddle/templates/root_clone.sh21
-rw-r--r--roles/jails/08_diddle/templates/usr_local_bin_diddle17
-rw-r--r--roles/jails/08_diddle/templates/usr_local_etc_rc.d_diddle43
7 files changed, 33 insertions, 95 deletions
diff --git a/roles/jails/08_diddle/defaults/main.yml b/roles/jails/08_diddle/defaults/main.yml
index 615d6a4..f7aca15 100644
--- a/roles/jails/08_diddle/defaults/main.yml
+++ b/roles/jails/08_diddle/defaults/main.yml
@@ -2,22 +2,13 @@ userland: "15.0-RELEASE"
pkg:
- python311
+ - py311-pip
+ - py311-setuptools
+ - py311-build
+ - py311-installer
+ - py311-wheel
- py311-sqlite3
- git
-files:
- - src: root_clone.sh
- dest: /root/clone.sh
- mode: "0755"
- - src: root_diddle_env.j2
- dest: /root/diddle/.env
- mode: "0600"
- - src: usr_local_bin_diddle
- dest: /usr/local/bin/diddle
- mode: "0755"
- - src: usr_local_etc_rc.d_diddle
- dest: /usr/local/etc/rc.d/diddle
- mode: "0755"
-
services:
- diddle
diff --git a/roles/jails/08_diddle/handlers/main.yml b/roles/jails/08_diddle/handlers/main.yml
new file mode 100644
index 0000000..7d98728
--- /dev/null
+++ b/roles/jails/08_diddle/handlers/main.yml
@@ -0,0 +1,4 @@
+- name: Restart diddle
+ service:
+ name: diddle
+ state: restarted
diff --git a/roles/jails/08_diddle/tasks/main.yml b/roles/jails/08_diddle/tasks/main.yml
index 2abdaff..8f96f0e 100644
--- a/roles/jails/08_diddle/tasks/main.yml
+++ b/roles/jails/08_diddle/tasks/main.yml
@@ -1,2 +1,22 @@
- import_role:
name: jail
+ tasks_from: jail_setup
+
+- name: Install diddle from port
+ shell: cd /usr/ports/www/diddle && make install WRKDIRPREFIX=/tmp/ports DISTDIR=/tmp/distfiles
+ register: _diddle_install
+ failed_when: "_diddle_install.rc != 0"
+ changed_when: "'Installing diddle' in _diddle_install.stdout"
+
+- name: Deploy diddle env file
+ template:
+ src: "{{ jail_role_dir }}/templates/diddle.env.j2"
+ dest: /usr/local/etc/diddle.env
+ owner: root
+ group: wheel
+ mode: "0600"
+ notify: Restart diddle
+
+- import_role:
+ name: jail
+ tasks_from: jail_launch
diff --git a/roles/jails/08_diddle/templates/root_diddle_env.j2 b/roles/jails/08_diddle/templates/diddle.env.j2
index ca7db78..9647716 100644
--- a/roles/jails/08_diddle/templates/root_diddle_env.j2
+++ b/roles/jails/08_diddle/templates/diddle.env.j2
@@ -7,3 +7,7 @@ EMAIL_HOST_USER="{{ diddle_email_host_user }}"
EMAIL_HOST_PASSWORD="{{ diddle_email_host_password }}"
EMAIL_USE_TLS="true"
EMAIL_MESSAGE_FROM="diddle@jan.systems"
+
+POLICY_URL="/policy"
+POLICY_INSTANCE_DOMAIN="diddle.jan.systems"
+POLICY_CONTACT_EMAIL="jan (at) jantuomi.fi"
diff --git a/roles/jails/08_diddle/templates/root_clone.sh b/roles/jails/08_diddle/templates/root_clone.sh
deleted file mode 100644
index 7f92c5f..0000000
--- a/roles/jails/08_diddle/templates/root_clone.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-
-REPO="$1"
-TARGET="$2"
-
-set -eux
-
-# Exits with 100 if the directory was changed
-
-if [ ! -d "$TARGET" ]; then
- git clone --depth=1 --branch main --single-branch "$REPO" "$TARGET"
- exit 100
-fi
-
-cd "$TARGET"
-before=$(git rev-parse HEAD)
-git fetch --depth=1 --prune origin main
-git reset --hard origin/main
-after=$(git rev-parse HEAD)
-
-if [ "$before" != "$after" ]; then exit 100; fi
diff --git a/roles/jails/08_diddle/templates/usr_local_bin_diddle b/roles/jails/08_diddle/templates/usr_local_bin_diddle
deleted file mode 100644
index d07cd5e..0000000
--- a/roles/jails/08_diddle/templates/usr_local_bin_diddle
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-
-set -eux
-
-PATH=$PATH:/usr/local/bin
-
-cd /root/diddle
-
-if [ ! -f venv ]; then
- python3.11 -m venv venv
-fi
-
-PATH=$PATH:/root/diddle/venv/bin
-
-pip install -r requirements.txt
-python apply_migrations.py
-gunicorn --bind "0.0.0.0:80" -w 4 app:app
diff --git a/roles/jails/08_diddle/templates/usr_local_etc_rc.d_diddle b/roles/jails/08_diddle/templates/usr_local_etc_rc.d_diddle
deleted file mode 100644
index 09a4712..0000000
--- a/roles/jails/08_diddle/templates/usr_local_etc_rc.d_diddle
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh
-
-# PROVIDE: diddle
-# REQUIRE: NETWORKING
-# KEYWORD: shutdown
-
-. /etc/rc.subr
-
-name="diddle"
-rcvar="diddle_enable"
-pidfile="/var/run/${name}.pid"
-
-start_cmd="${name}_start"
-stop_cmd="${name}_stop"
-status_cmd="${name}_status"
-
-diddle_start()
-{
- echo "Starting ${name}..."
- daemon -p ${pidfile} -o /var/log/diddle.log /usr/local/bin/diddle
-}
-
-diddle_stop()
-{
- if [ -f ${pidfile} ]; then
- echo "Stopping ${name}..."
- kill $(cat ${pidfile}) 2>/dev/null
- rm -f ${pidfile}
- fi
-}
-
-diddle_status()
-{
- if [ -f ${pidfile} ] && kill -0 $(cat ${pidfile}) 2>/dev/null; then
- echo "${name} is running as pid $(cat ${pidfile})"
- else
- echo "${name} is not running"
- return 1
- fi
-}
-
-load_rc_config $name
-run_rc_command "$1"