44 lines
1.2 KiB
Plaintext
44 lines
1.2 KiB
Plaintext
|
#!/usr/bin/with-contenv /bin/sh
|
||
|
|
||
|
set -eu
|
||
|
|
||
|
VERSION_FILE=/var/lib/influxdb/meta/package-version
|
||
|
|
||
|
. /etc/secrets
|
||
|
|
||
|
influxql() {
|
||
|
s6-setuidgid influxdb influx \
|
||
|
-username "influxdb" \
|
||
|
-password "$INFLUXDB_PASSWORD" \
|
||
|
-unsafeSsl -ssl \
|
||
|
-execute="$1"
|
||
|
}
|
||
|
|
||
|
if [ -f $VERSION_FILE ]; then
|
||
|
[ ! -f /backup/influxdb/meta.00 ] || [ "$(cat $VERSION_FILE)" == "$INFLUXDB_VERSION" ] && exit
|
||
|
s6-setuidgid influxdb influxd restore -metadir=/var/lib/influxdb/meta /backup/influxdb/
|
||
|
else
|
||
|
influxd -config /etc/influxdb/config.toml &
|
||
|
export pid=$!
|
||
|
trap "kill $pid" SIGINT SIGTERM
|
||
|
set +e
|
||
|
RET=1
|
||
|
while [[ $RET -ne 0 ]]; do
|
||
|
echo "=> Waiting for confirmation of InfluxDB service startup ..."
|
||
|
curl -k http://localhost:8086/ping 2> /dev/null
|
||
|
RET=$?
|
||
|
sleep 3
|
||
|
done
|
||
|
set -e
|
||
|
|
||
|
influxql "CREATE USER influxdb WITH PASSWORD '${INFLUXDB_PASSWORD}' WITH ALL PRIVILEGES"
|
||
|
influxql "CREATE DATABASE metrics"
|
||
|
influxql "CREATE USER icinga WITH PASSWORD '${INFLUXDB_ICINGA_PASSWORD}'"
|
||
|
influxql "GRANT ALL ON metrics TO icinga"
|
||
|
influxql "CREATE USER grafana WITH PASSWORD '${INFLUXDB_GRAFANA_PASSWORD}'"
|
||
|
influxql "GRANT READ ON metrics TO grafana"
|
||
|
kill $pid
|
||
|
fi
|
||
|
|
||
|
echo "$INFLUXDB_VERSION" > $VERSION_FILE
|