From ad0b8298fb182e15856128b5f8c7b6bfbebb0836 Mon Sep 17 00:00:00 2001 From: aptalca Date: Thu, 18 Aug 2022 14:19:06 -0400 Subject: [PATCH] switch to hybrid --- .../dependencies.d/init-mods | 0 .../init-mod-swag-auto-reload-add-package/run | 8 ++++ .../type | 1 + .../init-mod-swag-auto-reload-add-package/up | 1 + .../init-mod-swag-auto-reload-add-package | 0 .../dependencies.d/init-services | 0 .../s6-rc.d/svc-mod-swag-auto-reload/run | 42 +++++++++++++++++++ .../s6-rc.d/svc-mod-swag-auto-reload/type | 1 + .../init-mod-swag-auto-reload-add-package | 0 .../user/contents.d/svc-mod-swag-auto-reload | 0 root/etc/services.d/inotify/run | 0 11 files changed, 53 insertions(+) create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-swag-auto-reload-add-package/dependencies.d/init-mods create mode 100755 root/etc/s6-overlay/s6-rc.d/init-mod-swag-auto-reload-add-package/run create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-swag-auto-reload-add-package/type create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-swag-auto-reload-add-package/up create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mod-swag-auto-reload-add-package create mode 100644 root/etc/s6-overlay/s6-rc.d/svc-mod-swag-auto-reload/dependencies.d/init-services create mode 100755 root/etc/s6-overlay/s6-rc.d/svc-mod-swag-auto-reload/run create mode 100644 root/etc/s6-overlay/s6-rc.d/svc-mod-swag-auto-reload/type create mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-swag-auto-reload-add-package create mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-mod-swag-auto-reload mode change 100644 => 100755 root/etc/services.d/inotify/run diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-swag-auto-reload-add-package/dependencies.d/init-mods b/root/etc/s6-overlay/s6-rc.d/init-mod-swag-auto-reload-add-package/dependencies.d/init-mods new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-swag-auto-reload-add-package/run b/root/etc/s6-overlay/s6-rc.d/init-mod-swag-auto-reload-add-package/run new file mode 100755 index 0000000..83c5570 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-swag-auto-reload-add-package/run @@ -0,0 +1,8 @@ +#!/usr/bin/with-contenv bash + +if ! apk info 2>&1 | grep -q "inotify-tools"; then + echo "**** Adding swag-auto-reload deps to package install list ****" + echo "inotify-tools" >> /mod-repo-packages-to-install.list +else + echo "**** swag-auto-reload deps already installed, skipping ****" +fi diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-swag-auto-reload-add-package/type b/root/etc/s6-overlay/s6-rc.d/init-mod-swag-auto-reload-add-package/type new file mode 100644 index 0000000..3d92b15 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-swag-auto-reload-add-package/type @@ -0,0 +1 @@ +oneshot \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-swag-auto-reload-add-package/up b/root/etc/s6-overlay/s6-rc.d/init-mod-swag-auto-reload-add-package/up new file mode 100644 index 0000000..e6e5af8 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-swag-auto-reload-add-package/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-mod-swag-auto-reload-add-package/run \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mod-swag-auto-reload-add-package b/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mod-swag-auto-reload-add-package new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/svc-mod-swag-auto-reload/dependencies.d/init-services b/root/etc/s6-overlay/s6-rc.d/svc-mod-swag-auto-reload/dependencies.d/init-services new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/svc-mod-swag-auto-reload/run b/root/etc/s6-overlay/s6-rc.d/svc-mod-swag-auto-reload/run new file mode 100755 index 0000000..0996168 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/svc-mod-swag-auto-reload/run @@ -0,0 +1,42 @@ +#!/usr/bin/with-contenv bash + +DEFAULT_WATCH=( \ + /config/nginx/authelia-location.conf \ + /config/nginx/authelia-server.conf \ + /config/nginx/geoip2.conf \ + /config/nginx/ldap.conf \ + /config/nginx/nginx.conf \ + /config/nginx/proxy-confs \ + /config/nginx/proxy.conf \ + /config/nginx/site-confs \ + /config/nginx/ssl.conf \ +) + +echo "MOD Auto-reload: Watching the following files/folders for changes" +for i in ${DEFAULT_WATCH[@]}; do + if [ -f "${i}" ] || [ -d "${i}" ]; then + echo "${i}" + ACTIVE_WATCH="${ACTIVE_WATCH} ${i}" + fi +done +for i in $(echo "$WATCHLIST" | tr "|" " "); do + if [ -f "${i}" ] || [ -d "${i}" ]; then + echo "${i}" + ACTIVE_WATCH="${ACTIVE_WATCH} ${i}" + fi +done + +function wait_for_changes { + inotifywait -rq \ + --event modify,move,create,delete \ + ${ACTIVE_WATCH} +} + +while wait_for_changes; do + if /usr/sbin/nginx -c /config/nginx/nginx.conf -t; then + echo "Changes to nginx config detected and the changes are valid, reloading nginx" + /usr/sbin/nginx -c /config/nginx/nginx.conf -s reload + else + echo "Changes to nginx config detected but the changes are not valid, skipping nginx reload. Please fix your config." + fi +done diff --git a/root/etc/s6-overlay/s6-rc.d/svc-mod-swag-auto-reload/type b/root/etc/s6-overlay/s6-rc.d/svc-mod-swag-auto-reload/type new file mode 100644 index 0000000..1780f9f --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/svc-mod-swag-auto-reload/type @@ -0,0 +1 @@ +longrun \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-swag-auto-reload-add-package b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-swag-auto-reload-add-package new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-mod-swag-auto-reload b/root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-mod-swag-auto-reload new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/services.d/inotify/run b/root/etc/services.d/inotify/run old mode 100644 new mode 100755