6
0
Fork 0
This repository has been archived on 2022-03-14. You can view files and clone it, but cannot push or open issues or pull requests.
cdist-recycledcloud/type/__matrix_alertmanager_receiver/manifest

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