feat: implement service filtering

If a user implements the user-auth-service trigger in a plugin and that plugin does not echo the passed in app(s) on stdout, the app is assumed to not exist. This mirrors the functionality for applications in regards to auth filtering.

This may still need auditing to ensure it covers everything and doesn't cause issues, but local testing implies that everything is working as expected.
This commit is contained in:
Jose Diaz-Gonzalez
2022-07-07 02:54:14 -04:00
parent dae1a32275
commit 099764aa40
9 changed files with 94 additions and 34 deletions

View File

@@ -7,18 +7,18 @@ set -eo pipefail
plugin-pre-restore() {
declare SCHEDULER="$1" APP="$2"
local status
if [[ "$SCHEDULER" != "docker-local" ]]; then
return
fi
local SERVICES=$(ls "$PLUGIN_DATA_ROOT" 2>/dev/null)
for SERVICE in $SERVICES; do
for SERVICE in $(fn-services-list false); do
if ! in_links_file "$SERVICE" "$APP"; then
continue
fi
local status="$(service_status "$SERVICE")"
status="$(service_status "$SERVICE")"
if [[ "$status" == "running" ]]; then
continue
fi