diff options
19 files changed, 45 insertions, 165 deletions
diff --git a/ports/pylogsentinel/Makefile b/ports/pylogsentinel/Makefile deleted file mode 100644 index 20224b1..0000000 --- a/ports/pylogsentinel/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -PORTNAME= pylogsentinel -PORTVERSION= 0.3.1 -CATEGORIES= sysutils python -MASTER_SITES= PYPI -PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} - -MAINTAINER= jan@jantuomi.fi -COMMENT= Lightweight cron-friendly log monitoring utility - -LICENSE= MIT - -BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} - -USES= python -USE_PYTHON= autoplist pep517 - -NO_ARCH= yes - -.include <bsd.port.mk> diff --git a/ports/pylogsentinel/distinfo b/ports/pylogsentinel/distinfo deleted file mode 100644 index 4171f3b..0000000 --- a/ports/pylogsentinel/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -TIMESTAMP = 1747478400 -SHA256 (pylogsentinel-0.3.1.tar.gz) = 229c12e9925c29569b7f118f47bffa867c789624bd41df19d76611be401d0fdb -SIZE (pylogsentinel-0.3.1.tar.gz) = 15257 diff --git a/ports/pylogsentinel/pkg-descr b/ports/pylogsentinel/pkg-descr deleted file mode 100644 index dab5b1d..0000000 --- a/ports/pylogsentinel/pkg-descr +++ /dev/null @@ -1,2 +0,0 @@ -Lightweight cron-friendly log monitoring utility with regex rules -and per-rule shell actions. diff --git a/roles/host/tasks/main.yml b/roles/host/tasks/main.yml index d1f710e..01cffb7 100644 --- a/roles/host/tasks/main.yml +++ b/roles/host/tasks/main.yml @@ -25,10 +25,14 @@ - curl - bash - git - - python + - python311 - py311-pip + - py311-setuptools + - py311-build + - py311-installer - py311-wheel - fastfetch + - vim loop_control: loop_var: pkg_name @@ -76,7 +80,7 @@ - name: Fetch ports tree shell: | if [ ! -d /usr/ports/.git ]; then - git clone --depth 1 https://git.FreeBSD.org/ports.git /usr/ports + git clone --depth 1 https://github.com/jantuomi/freebsd-ports.git /usr/ports else git -C /usr/ports pull --ff-only fi @@ -139,26 +143,16 @@ mountpoint: "/usr/local/jails/containers/komga/root/.komga", } - { name: "zroot/storage", mountpoint: "/usr/local/jails/volumes/storage" } - - { name: "zroot/my-ports", mountpoint: "/usr/local/my-ports" } loop_control: label: "{{ item.name }}" -- name: Sync custom ports tree to host - synchronize: - src: "{{ playbook_dir }}/ports/" - dest: /usr/local/my-ports/ - delete: true - recursive: true - rsync_opts: - - "--exclude=work-*" - - name: Install custom ports - shell: make -C /usr/local/my-ports/{{ item }} install clean BATCH=yes + shell: cd /usr/ports/{{ item }} && make install loop: - - pylogsentinel + - sysutils/pylogsentinel register: _port_install - failed_when: "_port_install.rc != 0 and 'already installed' not in _port_install.stdout" - changed_when: "'already installed' not in _port_install.stdout" + failed_when: "_port_install.rc != 0 and 'is already installed' not in _port_install.stdout" + changed_when: "'is already installed' not in _port_install.stdout" - name: Deploy pylogsentinel.conf template: diff --git a/roles/jail/templates/jail_conf.j2 b/roles/jail/templates/jail_conf.j2 index 2a0ea27..7ce1b1b 100644 --- a/roles/jail/templates/jail_conf.j2 +++ b/roles/jail/templates/jail_conf.j2 @@ -53,4 +53,6 @@ exec.prestart += "mount -t nullfs {{ mount.src }} /usr/local/jails/containers/{{ jail.name }}{{ mount.dst }} || true"; exec.poststop += "umount /usr/local/jails/containers/{{ jail.name }}{{ mount.dst }} || true"; {% endfor %} + exec.prestart += "mount -t nullfs -o ro /usr/ports /usr/local/jails/containers/{{ jail.name }}/usr/ports || true"; + exec.poststop += "umount /usr/local/jails/containers/{{ jail.name }}/usr/ports || true"; } diff --git a/roles/jails/01_ingress/defaults/main.yml b/roles/jails/01_ingress/defaults/main.yml index 6b95ef9..f6d5aa4 100644 --- a/roles/jails/01_ingress/defaults/main.yml +++ b/roles/jails/01_ingress/defaults/main.yml @@ -15,7 +15,6 @@ ingress_routes: - { host: immich.jan.systems, ip: 192.168.3.3, port: 2283 } - { host: plex.jan.systems, jail: plex, port: 32400, presets: [streaming] } - { host: komga.jan.systems, jail: komga, port: 25600 } - - { host: ports.jan.systems, jail: packager } cert_domains: - "jan.systems" diff --git a/roles/jails/03_irc_thelounge/files/config.js b/roles/jails/03_irc_thelounge/files/config.js index 174a4eb..1a890a1 100644 --- a/roles/jails/03_irc_thelounge/files/config.js +++ b/roles/jails/03_irc_thelounge/files/config.js @@ -1,4 +1,3 @@ -# cat ~/.thelounge/config.js "use strict"; module.exports = { // ## Server settings diff --git a/roles/jails/04_taulubot/defaults/main.yml b/roles/jails/04_taulubot/defaults/main.yml index 5b5cac6..7220635 100644 --- a/roles/jails/04_taulubot/defaults/main.yml +++ b/roles/jails/04_taulubot/defaults/main.yml @@ -3,6 +3,10 @@ userland: "14.3-RELEASE" pkg: - python311 - py311-pip + - py311-setuptools + - py311-build + - py311-installer + - py311-wheel - git - jpeg-turbo diff --git a/roles/jails/06_hommabot/defaults/main.yml b/roles/jails/06_hommabot/defaults/main.yml index d12d40f..0b4b4f3 100644 --- a/roles/jails/06_hommabot/defaults/main.yml +++ b/roles/jails/06_hommabot/defaults/main.yml @@ -1,14 +1,8 @@ userland: "14.3-RELEASE" pkg: + - node - npm -files: - - src: root_hommabot_env.j2 - dest: /root/hommabot/.env - mode: "0600" - - src: root_hommabot_deps.sh - dest: /root/hommabot/deps.sh - mode: "0755" - - src: etc_crontab.j2 - dest: /etc/crontab +services: + - hommabot diff --git a/roles/jails/06_hommabot/handlers/main.yml b/roles/jails/06_hommabot/handlers/main.yml new file mode 100644 index 0000000..d291200 --- /dev/null +++ b/roles/jails/06_hommabot/handlers/main.yml @@ -0,0 +1,5 @@ +- name: Restart hommabot + shell: service hommabot status && service hommabot restart + register: _hb_restart + failed_when: false + changed_when: _hb_restart.rc == 0 diff --git a/roles/jails/06_hommabot/tasks/main.yml b/roles/jails/06_hommabot/tasks/main.yml index 2abdaff..9b1ee5f 100644 --- a/roles/jails/06_hommabot/tasks/main.yml +++ b/roles/jails/06_hommabot/tasks/main.yml @@ -1,2 +1,23 @@ - import_role: name: jail + tasks_from: jail_setup + +- name: Install hommabot from port + shell: cd /usr/local/my-ports/hommabot && make install + register: _hommabot_install + failed_when: "_hommabot_install.rc != 0 and 'already installed' not in _hommabot_install.stdout" + changed_when: "'already installed' not in _hommabot_install.stdout" + +- name: Deploy bot token file + copy: + content: "{{ hommabot_token }}" + dest: /usr/local/etc/hommabot.token + owner: root + group: wheel + mode: "0600" + no_log: true + notify: Restart hommabot + +- import_role: + name: jail + tasks_from: jail_launch diff --git a/roles/jails/06_hommabot/templates/etc_crontab.j2 b/roles/jails/06_hommabot/templates/etc_crontab.j2 deleted file mode 100644 index 556d12a..0000000 --- a/roles/jails/06_hommabot/templates/etc_crontab.j2 +++ /dev/null @@ -1,10 +0,0 @@ -# /etc/crontab - root's crontab for FreeBSD -# -# -SHELL=/bin/sh -PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin -# -#minute hour mday month wday who command - -# Run hommabot every Monday at 9:00 AM -0 9 * * 1 root /bin/sh -c "cd /root/hommabot && node index.js" diff --git a/roles/jails/06_hommabot/templates/root_hommabot_deps.sh b/roles/jails/06_hommabot/templates/root_hommabot_deps.sh deleted file mode 100644 index 25c0e56..0000000 --- a/roles/jails/06_hommabot/templates/root_hommabot_deps.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -set -eux -cd /root/hommabot -npm ci - -# We need to build the better-sqlite3.node file before running the app -if [ ! -f build/better_sqlite3.node ]; then ( - mkdir -p build - cd node_modules/better-sqlite3 - npm run build-release - cp build/Release/better_sqlite3.node ../../build/better_sqlite3.node -) -fi diff --git a/roles/jails/06_hommabot/templates/root_hommabot_env.j2 b/roles/jails/06_hommabot/templates/root_hommabot_env.j2 deleted file mode 100644 index c66c666..0000000 --- a/roles/jails/06_hommabot/templates/root_hommabot_env.j2 +++ /dev/null @@ -1,4 +0,0 @@ -TELEGRAM_BOT_TOKEN="{{ hommabot_telegram_bot_token }}" -SHEETS_SPREADSHEET_ID="{{ hommabot_sheets_spreadsheet_id }}" -SHEETS_RANGE="{{ hommabot_sheets_range }}" -G_SA_JSON_B64="{{ hommabot_g_sa_json_b64 }}" diff --git a/roles/jails/20_packager/defaults/main.yml b/roles/jails/20_packager/defaults/main.yml deleted file mode 100644 index e9d0f26..0000000 --- a/roles/jails/20_packager/defaults/main.yml +++ /dev/null @@ -1,22 +0,0 @@ -userland: "15.0-RELEASE" - -pkg: - - nginx - -nullfs: - - src: /usr/local/my-ports - dst: /usr/local/my-ports - - src: /usr/ports - dst: /usr/ports - -files: - - src: usr_local_etc_nginx_nginx.conf - dest: /usr/local/etc/nginx/nginx.conf - - src: usr_local_bin_build_packages.sh - dest: /usr/local/bin/build-packages - mode: "0755" - - src: etc_crontab - dest: /etc/crontab - -services: - - nginx diff --git a/roles/jails/20_packager/tasks/main.yml b/roles/jails/20_packager/tasks/main.yml deleted file mode 100644 index e1a44e1..0000000 --- a/roles/jails/20_packager/tasks/main.yml +++ /dev/null @@ -1,15 +0,0 @@ -- import_role: - name: jail - tasks_from: jail_setup - -- name: Create packages output directory - file: - path: /usr/local/packages - state: directory - owner: root - group: wheel - mode: "0755" - -- import_role: - name: jail - tasks_from: jail_launch diff --git a/roles/jails/20_packager/templates/etc_crontab b/roles/jails/20_packager/templates/etc_crontab deleted file mode 100644 index ed18a07..0000000 --- a/roles/jails/20_packager/templates/etc_crontab +++ /dev/null @@ -1,5 +0,0 @@ -SHELL=/bin/sh -PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin - -# Build packages every hour -0 * * * * root /usr/local/bin/build-packages >> /var/log/build-packages.log 2>&1 diff --git a/roles/jails/20_packager/templates/usr_local_bin_build_packages.sh b/roles/jails/20_packager/templates/usr_local_bin_build_packages.sh deleted file mode 100644 index b4d5ea6..0000000 --- a/roles/jails/20_packager/templates/usr_local_bin_build_packages.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# Build all ports in /usr/local/my-ports, skip already-built packages. -set -eu - -PORTS_DIR="/usr/local/my-ports" -PKG_DIR="/usr/local/packages" - -for port_dir in "${PORTS_DIR}"/*/; do - [ -f "${port_dir}/Makefile" ] || continue - - port_name=$(make -C "${port_dir}" -V PKGNAME) - pkg_file="${PKG_DIR}/All/${port_name}.pkg" - - if [ -f "${pkg_file}" ]; then - echo "SKIP ${port_name} (already built)" - continue - fi - - echo "BUILD ${port_name}" - make -C "${port_dir}" clean package PACKAGES="${PKG_DIR}" BATCH=yes - make -C "${port_dir}" clean -done - -# Rebuild the repository catalog -pkg repo "${PKG_DIR}" -echo "Done." diff --git a/roles/jails/20_packager/templates/usr_local_etc_nginx_nginx.conf b/roles/jails/20_packager/templates/usr_local_etc_nginx_nginx.conf deleted file mode 100644 index 0d140ef..0000000 --- a/roles/jails/20_packager/templates/usr_local_etc_nginx_nginx.conf +++ /dev/null @@ -1,18 +0,0 @@ -worker_processes 1; - -events { - worker_connections 1024; -} - -http { - include mime.types; - default_type application/octet-stream; - sendfile on; - - server { - listen 80; - server_name _; - root /usr/local/packages; - autoindex on; - } -} |
