66 lines
1.6 KiB
Bash
66 lines
1.6 KiB
Bash
#!/bin/sh
|
|
|
|
os="$(cat "${__global:?}/explorer/os")"
|
|
init="$(cat "${__global:?}/explorer/init")"
|
|
|
|
case "$os" in
|
|
alpine)
|
|
__package go
|
|
__package prometheus
|
|
__package curl
|
|
;;
|
|
debian|ubuntu)
|
|
__package golang
|
|
__package prometheus
|
|
__package curl
|
|
;;
|
|
*)
|
|
echo "This type does not support $os. Exiting." >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
# Type parameters.
|
|
HOMESERVER=$(cat "${__object:?}/parameter/homeserver")
|
|
ROOM_ID=$(cat "${__object:?}/parameter/room-id")
|
|
USER_ID=$(cat "${__object:?}/parameter/user-id")
|
|
USER_TOKEN=$(cat "${__object:?}/parameter/user-token")
|
|
export HOMESERVER ROOM_ID USER_ID USER_TOKEN
|
|
|
|
LISTENING_HOST=$(cat "${__object:?}/parameter/host")
|
|
LISTENING_PORT=$(cat "${__object:?}/parameter/port")
|
|
export LISTENING_PORT LISTENING_HOST
|
|
|
|
# Generate and deploy configuration
|
|
mkdir -p "${__object:?}/files"
|
|
"${__type:?}/files/matrix-alertmanager-receiver.toml.sh" > \
|
|
"${__object:?}/files/matrix-alertmanager-receiver.toml"
|
|
|
|
require="__package/prometheus" __file /etc/matrix-alertmanager-receiver.toml \
|
|
--source "${__object:?}/files/matrix-alertmanager-receiver.toml" \
|
|
--owner prometheus \
|
|
--mode 0644
|
|
|
|
case "$init" in
|
|
systemd)
|
|
unit_path='/etc/systemd/system/matrix-alertmanager-receiver.service'
|
|
__file "$unit_path" \
|
|
--source "${__type:?}/files/systemd-unit" \
|
|
--mode 0644
|
|
;;
|
|
busybox-init+openrc)
|
|
unit_path='/etc/init.d/matrix-alertmanager-receiver'
|
|
__file "$unit_path" \
|
|
--source "${__type:?}/files/openrc-unit" \
|
|
--owner prometheus \
|
|
--mode 0755
|
|
;;
|
|
*)
|
|
echo "Unknown init: $init" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
require="__file/$unit_path" \
|
|
__start_on_boot matrix-alertmanager-receiver
|