#!/bin/bash

set -e

function usage ()
{
    cat << EOF
Datadog Injection Cleanup
Usage :  $0 [options]

    Options:
    -h|--help             OPTIONAL Display this message
    --dry-run             OPTIONAL Do not make any changes. Print actions that would happen
EOF

}

source /opt/datadog/apm/inject/common_functions.sh

daemon_config="/etc/docker/daemon.json"
daemon_config_backup="/etc/docker/daemon.json.bak"

# Remove launcher line from preload config
if [ -f /etc/ld.so.preload ] ; then
  $sudo_cmd sh -c "sed -i '\#$BINARY_INSTALL_PATH/launcher.preload.so#d' /etc/ld.so.preload"

  echo "Removed preload config from /etc/ld.so.preload"

  # Remove file if empty
  $sudo_cmd sh -c "[ -s /etc/ld.so.preload ] || rm /etc/ld.so.preload"
fi

if [ -f /etc/datadog-agent/datadog.yaml ]; then
  # Remove config block from datadog.yaml
  $sudo_cmd sh -c "sed -i '/# BEGIN LD PRELOAD CONFIG/,/# END LD PRELOAD CONFIG/d' /etc/datadog-agent/datadog.yaml"
  echo "Removed UDS config from /etc/datadog-agent/datadog.yaml"
fi

# Delete daemon config if it contains "dd-shim"
if [ -f $daemon_config ] && grep -q dd-shim $daemon_config; then
  $sudo_cmd sh -c "rm $daemon_config"
  echo "Removed $daemon_config"
fi

# Restore backup if it doesn't overwrite
if [ -f "$daemon_config_backup" ] && [ ! -f $daemon_config ] ; then
  $sudo_cmd sh -c "mv $daemon_config_backup $daemon_config"
  echo "Restored $daemon_config_backup to $daemon_config"
fi

service_control restart datadog-agent
service_control reload docker

exit_success
