#!/bin/bash

which crictl >/dev/null 2>&1
if [ "$?" != "0" ] ; then
  exit 0
fi

if [ "$2" = "dhcp4-change" ] || [ "$2" = "dhcp6-change" ] || [ "$2" = "up" ] || [ "$2" = "connectivity-change" ]; then
  sleep 2
  NIC={{ "$(ip -6 r | grep -v lo | head -1 | grep -oP '(?<=dev )[^ ]*')" if ipv6 else "$(ip r | grep default | head -1 | grep -oP '(?<=dev )[^ ]*')" }}
  IP={{ "$(ip -o -f inet6 addr show $NIC | head -1 | grep -oP '(?<=inet6 )[^ ]*' | cut -d '/' -f 1)" if ipv6 else "$(ip -o -f inet addr show $NIC | head -1 | grep -oP '(?<=inet )[^ ]*' | cut -d '/' -f 1)" }}
  if [ "$IP" != "" ] ; then
    grep -q $IP /etc/resolv.conf
    if [ "$?" != "0" ] ; then
      sed -i 's/{{ cluster }}.{{ domain }}//' /etc/resolv.conf
      sed -i 's/search /search {{ cluster }}.{{ domain }} /' /etc/resolv.conf
      sed -i "/nameserver.* # coredns/d" /etc/resolv.conf
      sed -i "0,/nameserver/s/nameserver/nameserver $IP #coredns\n&/" /etc/resolv.conf
    fi
  fi
fi
