#!/bin/sh

_description='prometheus-longterm-metrics monitoring data and session files'

backup_application() {
  _do_backup() {
    docker run  --network "${COMPOSE_PROJECT_NAME}_default" \
                --rm \
                --entrypoint=sh \
                --user=root \
                --volume prometheus_longterm_persistence:/persist \
                --volume ${BIRDHOUSE_BACKUP_VOLUME}:/backup \
                ${CURL_IMAGE} \
                -c 'snapshot="/persist/snapshots/$(curl -X POST http://prometheus-longterm-metrics:9090/prometheus-longterm-metrics/api/v1/admin/tsdb/snapshot | grep -o "[[:digit:]]\\{8\\}T[[:digit:]]\\{1,\\}Z-[[:alnum:]]\\{1,\\}")"; cp -a "${snapshot}" /backup/prometheus-longterm-metrics;'
  }
  backup_create_runner 'prometheus-longterm-metrics data and session files' _do_backup
}

restore_application() {
  _do_restore() { 
    docker run --rm \
               -v ${BIRDHOUSE_BACKUP_VOLUME}:/backup \
               -v prometheus_longterm_persistence:/persist \
               "${BASH_IMAGE}" \
               sh -c 'rm -fr /persist/* && cp -a /backup/prometheus-longterm-metrics/* /persist/'
  }
  backup_restore_runner 'prometheus-longterm-metrics data and session files' _do_restore 'prometheus-longterm-metrics' 'prometheus-longterm-metrics'
}
