#!/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