# -*- mode: shell-script -*- NTFY_CONFIGFILE="$SERVICE_CONFIGSTORE/etc/ntfy/server.yml" NTFY_FIREBASE_KEYFILE="$SERVICE_CONFIGSTORE/etc/ntfy/firebase-key.json" ntfy:init() { service_def=$(get_compose_service_def "$SERVICE_NAME") options=$(e "$service_def" | yq e '.options' -) mkdir -p "${NTFY_CONFIGFILE%/*}" || { err "failed to create directory ${NTFY_CONFIGFILE%/*}" exit 1 } ## Ensure 'firebase-key-file' was not set in '$options' if yq e -e '.firebase-key-file' <<< "$options" >/dev/null; then err "${WHITE}firebase-key-file${NORMAL} should not be" \ "specified in ${DARKYELLOW}$SERVICE_NAME${NORMAL}'s options" exit 1 fi ## if 'firebase' is set if firebase_key=$(yq e -e '.firebase' 2>/dev/null <<< "$options"); then ## set 'firebase-key-file' in '$options' options=$(yq e '.firebase-key-file = "/etc/ntfy/firebase-key.json"' <<< "$options") || { err "failed to set firebase-key-file in options" exit 1 } umask 077 ## store content of $firebase_key in json format in '$NTFY_FIREBASE_KEYFILE' e "$firebase_key" | yq -p yaml -o json . > "$NTFY_FIREBASE_KEYFILE" || { err "failed to store firebase-key-file" exit 1 } fi e "$options" > "$NTFY_CONFIGFILE" || { err "failed to store ntfy config" exit 1 } } ntfy:config() { local cmd="$1" yq e "$1" -i "$NTFY_CONFIGFILE" }