initscript="$__type/files/nftables-init" os=$(cat $__global/explorer/os) os_version=$(cat "$__global/explorer/os_version") case "$os" in debian) case "$os_version" in 11*) conf=/etc/nftables.nft ;; *) conf=/etc/nftables.conf ;; ;; *) conf=/etc/nftables.nft ;; esac if [ -f "$__object/parameter/config-from-stdin" ]; then srcfile="$__object/stdin" else if [ ! -f "$__object/parameter/config" ]; then echo "Need either config-from-stdin or config" >&2 exit 1 fi config=$(cat "$__object/parameter/config") srcfile="$__files/nftables/${config}.conf" if [ ! -f "$srcfile" ]; then echo "No such config ${config}. Aborting." >&2 exit 1 fi fi MONITORING_HOSTS="emonitor1.place5.ungleich.ch, emonitor1.place6.ungleich.ch, emonitor1.place7.ungleich.ch, emonitor1.place12.ungleich.ch, server1.place4.ungleich.ch, monitoring-v3.ungleich.ch" mkdir "$__object/files" srctmp="$__object/files/nftables.nft" sed "s/MONITORING_HOSTS/$MONITORING_HOSTS/" "${srcfile}" > "$srctmp" __package nftables __file ${conf} --source "$srctmp" --mode 0644 case $os in # Alpine actually has an init script, as opposed to everyone else alpine) : ;; debian|devuan|ubuntu) __file /etc/init.d/nftables --source "$initscript" --mode 0755 ;; *) echo "Unsupported os: $os" >&2 exit 1 ;; esac require="__package/nftables" __start_on_boot nftables