#!/bin/bash
# postinst script for pmm-agent
#
# see: dh_installdeb(1)

if [ -f /usr/share/debconf/confmodule ]; then
    . /usr/share/debconf/confmodule
fi

case "$1" in
    configure)
        chown -R pmm-agent:pmm-agent /usr/local/percona/pmm
        if [ ! -f /usr/local/percona/pmm/config/pmm-agent.yaml ]; then
            install -d -m 0755 /usr/local/percona/pmm/config
            install -m 0660 -o pmm-agent -g pmm-agent /dev/null /usr/local/percona/pmm/config/pmm-agent.yaml
        fi

        # Backup the new pmm-agent.yaml if it exists
        if [ -f /usr/local/percona/pmm2/config/pmm-agent.yaml.bak ]; then
            echo "Backing up the new pmm-agent.yaml as pmm-agent.yaml.new..."
            mv /usr/local/percona/pmm/config/pmm-agent.yaml /usr/local/percona/pmm/config/pmm-agent.yaml.new

            echo "Restoring pmm-agent.yaml from backup..."
            # Take a backup of pmm-agent.yaml and then modify it to remove paths properties
            mv /usr/local/percona/pmm2/config/pmm-agent.yaml.bak /usr/local/percona/pmm/config/pmm-agent.yaml.bak
            cp /usr/local/percona/pmm/config/pmm-agent.yaml.bak /usr/local/percona/pmm/config/pmm-agent.yaml
            sed '/^paths:/,/^[^[:space:]]/ {
                 /^paths:/d
                 /^[^[:space:]]/!d
            }' "/usr/local/percona/pmm/config/pmm-agent.yaml" > "/usr/local/percona/pmm/config/pmm-agent.yaml.tmp" && mv "/usr/local/percona/pmm/config/pmm-agent.yaml.tmp" "/usr/local/percona/pmm/config/pmm-agent.yaml"

            # Clean up old directories if empty
            if [ -d /usr/local/percona/pmm2/config ] && [ -z "$(ls -A /usr/local/percona/pmm2/config)" ]; then
                rmdir /usr/local/percona/pmm2/config
            fi
            if [ -d /usr/local/percona/pmm2 ] && [ -z "$(ls -A /usr/local/percona/pmm2)" ]; then
                rmdir /usr/local/percona/pmm2
            fi
        fi
    ;;

    abort-upgrade|abort-remove|abort-deconfigure)
    ;;

    *)
        echo "postinst called with unknown argument '$1'" >&2
        exit 1
    ;;
esac

#DEBHELPER#

exit 0
