From da04c1d3ff134f93272636d6282cd4a1a5a74eaf Mon Sep 17 00:00:00 2001 From: nd <git@notandy.de> Date: Sat, 31 Jul 2021 22:59:03 +0200 Subject: [PATCH] add uffd-admin command, cleanup cronjob and needed /run folder --- .gitlab-ci.yml | 1 + debian/contrib/uffd-admin | 17 +++++++++++++++++ debian/cron.d | 3 +++ debian/install | 7 ++++--- debian/tmpfile | 2 ++ 5 files changed, 27 insertions(+), 3 deletions(-) create mode 100755 debian/contrib/uffd-admin create mode 100644 debian/cron.d create mode 100644 debian/tmpfile diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 022ed526..869d5225 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -124,6 +124,7 @@ test:package:apt: - echo "server { listen 127.0.0.1:5000 default_server; include /etc/uffd/nginx.include.conf; }" > /etc/nginx/sites-enabled/uffd.ini - service nginx start || ( service nginx status; nginx -t; exit 1; ) - sleep 5 + - uffd-admin routes - curl -Lv 127.0.0.1:5000 dependencies: - build:apt diff --git a/debian/contrib/uffd-admin b/debian/contrib/uffd-admin new file mode 100755 index 00000000..5e214e07 --- /dev/null +++ b/debian/contrib/uffd-admin @@ -0,0 +1,17 @@ +#!/bin/bash -x + +set -e + +export FLASK_APP=/usr/share/uffd/uffd +export CONFIG_FILENAME=/etc/uffd/uffd.cfg + +if [ "$(whoami)" = "uffd" ]; then + flask $@ +elif command -v sudo &> /dev/null; then + exec sudo --preserve-env=FLASK_APP,CONFIG_FILENAME -u uffd flask $@ +elif command -v su &> /dev/null; then + exec su -s /bin/sh --preserve-environment uffd -c flask $@ +else + echo "Could not not become 'uffd' user, exiting" + exit 255 +fi diff --git a/debian/cron.d b/debian/cron.d new file mode 100644 index 00000000..4b9e06d0 --- /dev/null +++ b/debian/cron.d @@ -0,0 +1,3 @@ +# Cronjobs for uffd + +@daily uffd [ -f /usr/bin/uffd-admin ] && flock -n /var/run/uffd/cron.roles-update-all.lock /usr/bin/uffd-admin roles-update-all --check-only 2> /dev/null diff --git a/debian/install b/debian/install index 7d684bb9..ac4a56f2 100644 --- a/debian/install +++ b/debian/install @@ -1,3 +1,4 @@ -uwsgi.ini /etc/uffd/ -nginx.include.conf /etc/uffd/ -debian/uffd.cfg /etc/uffd/ +uwsgi.ini /etc/uffd/ +nginx.include.conf /etc/uffd/ +debian/uffd.cfg /etc/uffd/ +debian/contrib/uffd-admin /usr/bin/ diff --git a/debian/tmpfile b/debian/tmpfile new file mode 100644 index 00000000..8b1b0db1 --- /dev/null +++ b/debian/tmpfile @@ -0,0 +1,2 @@ +#Type Path Mode UID GID Age Argument +d /run/uffd 0755 uffd uffd - - -- GitLab