#!/bin/bash

set -e
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" &> /dev/null && pwd)
# shellcheck source=example.env
source "${SCRIPT_DIR}/../.env"
# shellcheck source=scripts/functions.sh
source "${SCRIPT_DIR}/functions.sh"

function addhost() {
	ETC_HOSTS=/etc/hosts
    HOSTNAME=$1
	IP=$2
    HOSTS_LINE="$( echo -e "$IP\t${HOSTNAME}" )"
    if grep -q -E "${IP}\s*${HOSTNAME}" /etc/hosts
        then
            echo " ✅ ${HOSTNAME} (${IP}) already exists"
        else
            echo " 🛠️ Adding ${HOSTNAME} (${IP}) to your $ETC_HOSTS";
            sudo -- sh -c -e "echo '$HOSTS_LINE' >> /etc/hosts";

            if grep -q -E "${IP}\s*${HOSTNAME}" /etc/hosts
                then
                    echo " ✅ ${HOSTNAME} (${IP}) was added succesfully";
                else
                    echo " 🛑 Failed to Add ${HOSTNAME} (${IP}), Try again!";
            fi
    fi
}

awk '$1 == "-"{ if (key == "aliases:") print $NF; next } {key=$1}' docker-compose.yml | \
	sed "s/\${DOMAIN_SUFFIX}/${DOMAIN_SUFFIX}/" | \
	while read -r line;
	do
		addhost "${line}" 127.0.0.1;
		addhost "${line}" "::1";
	done
