|
|
@ -9,7 +9,7 @@ setKazVars |
|
|
|
|
|
|
|
export PRG="$0" |
|
|
|
cd $(dirname $0)/.. |
|
|
|
export IP="127.75.65.90" |
|
|
|
export IP="127.0.0.1" |
|
|
|
export ETC_HOSTS="/etc/hosts" |
|
|
|
|
|
|
|
. "${DOCKERS_ENV}" |
|
|
@ -71,12 +71,11 @@ fi |
|
|
|
|
|
|
|
|
|
|
|
waitNet () { |
|
|
|
if [[ "${domain}" = "kaz.local" ]]; then |
|
|
|
return |
|
|
|
fi |
|
|
|
|
|
|
|
### wait when error code 503 |
|
|
|
|
|
|
|
#fab |
|
|
|
#TOTO="curl -H \"authorization: Apikey ${GANDI_KEY}\" --connect-timeout 2 -s -D - \"${GANDI_API}\"" |
|
|
|
#echo $TOTO |
|
|
|
|
|
|
|
if [[ $(curl -H "authorization: Apikey ${GANDI_KEY}" --connect-timeout 2 -s -D - "${GANDI_API}" -o /dev/null 2>/dev/null | head -n1) != *200* ]]; then |
|
|
|
echo "DNS not available. Please wait..." |
|
|
|
while [[ $(curl -H "authorization: Apikey ${GANDI_KEY}" --connect-timeout 2 -s -D - "${GANDI_API}" -o /dev/null 2>/dev/null | head -n1) != *200* ]] |
|
|
@ -88,13 +87,21 @@ waitNet () { |
|
|
|
} |
|
|
|
|
|
|
|
list(){ |
|
|
|
if [[ "${domain}" = "kaz.local" ]]; then |
|
|
|
grep --perl-regex "^${IP}\s.*${domain}" "${ETC_HOSTS}" 2> /dev/null | sed -e "s|^${IP}\s*\([0-9a-z.-]${domain}\)$|\1|g" |
|
|
|
return |
|
|
|
fi |
|
|
|
waitNet |
|
|
|
trap 'rm -f "${TMPFILE}"' EXIT |
|
|
|
TMPFILE="$(mktemp)" || exit 1 |
|
|
|
if [[ -n "${SIMU}" ]] ; then |
|
|
|
${SIMU} curl -X GET "${GANDI_API}/records" -H "authorization: Apikey ${GANDI_KEY}" |
|
|
|
else |
|
|
|
curl -X GET "${GANDI_API}/records" -H "authorization: Apikey ${GANDI_KEY}" 2>/dev/null | sed "s/,{/\n/g" | sed 's/.*rrset_name":"\([^"]*\)".*rrset_values":\["\([^"]*\)".*/\1:\2/g'| grep -v '^[_@]'| grep -e 'dev$' -e 'kaz.bzh\.*$' > ${TMPFILE} |
|
|
|
curl -X GET "${GANDI_API}/records" -H "authorization: Apikey ${GANDI_KEY}" 2>/dev/null | \ |
|
|
|
sed "s/,{/\n/g" | \ |
|
|
|
sed 's/.*rrset_name":"\([^"]*\)".*rrset_values":\["\([^"]*\)".*/\1:\2/g'| \ |
|
|
|
grep -v '^[_@]'| \ |
|
|
|
grep -e 'kaz.bzh\.*$' > ${TMPFILE} |
|
|
|
fi |
|
|
|
if [ $# -lt 1 ]; then |
|
|
|
cat ${TMPFILE} |
|
|
@ -112,14 +119,14 @@ saveDns () { |
|
|
|
echo "${PRG}: old fasion style (remove .local at the end)" |
|
|
|
usage; |
|
|
|
fi |
|
|
|
if [[ "${ARG}" =~ .dev$ ]] ; then |
|
|
|
echo "${PRG}: old fasion style (remove .dev at the end)" |
|
|
|
usage; |
|
|
|
fi |
|
|
|
if [[ "${ARG}" =~ .bzh$ ]] ; then |
|
|
|
echo "${PRG}: old fasion style (remove .bzh at the end)" |
|
|
|
usage; |
|
|
|
fi |
|
|
|
if [[ "${ARG}" =~ .dev$ ]] ; then |
|
|
|
echo "${PRG}: old fasion style (remove .dev at the end)" |
|
|
|
usage; |
|
|
|
fi |
|
|
|
done |
|
|
|
if [[ "${domain}" = "kaz.local" ]]; then |
|
|
|
return |
|
|
@ -150,27 +157,19 @@ add(){ |
|
|
|
fi |
|
|
|
case "${domain}" in |
|
|
|
kaz.local ) |
|
|
|
if grep -q --perl-regex "^127.75.65.90.*[ \t]${ARG}.${domain}" "${ETC_HOSTS}" 2> /dev/null ; then |
|
|
|
if grep -q --perl-regex "^${IP}.*[ \t]${ARG}.${domain}" "${ETC_HOSTS}" 2> /dev/null ; then |
|
|
|
break |
|
|
|
fi |
|
|
|
if grep -q --perl-regex "^127.75.65.90[ \t]" "${ETC_HOSTS}" 2> /dev/null ; then |
|
|
|
${SIMU} sudo sed -i -e "0,/^127.75.65.90[ \t]/s/^\(127.75.65.90[ \t]\)/\1${ARG}.${domain} /g" "${ETC_HOSTS}" |
|
|
|
if grep -q --perl-regex "^${IP}[ \t]" "${ETC_HOSTS}" 2> /dev/null ; then |
|
|
|
${SIMU} sudo sed -i -e "0,/^${IP}[ \t]/s/^\(${IP}[ \t]\)/\1${ARG}.${domain} /g" "${ETC_HOSTS}" |
|
|
|
else |
|
|
|
${SIMU} sudo sed -i -e "$ a 127.75.65.90\t${ARG}.${domain}" "${ETC_HOSTS}" 2> /dev/null |
|
|
|
${SIMU} sudo sed -i -e "$ a ${IP}\t${ARG}.${domain}" "${ETC_HOSTS}" 2> /dev/null |
|
|
|
fi |
|
|
|
;; |
|
|
|
dev.kaz.bzh ) |
|
|
|
${SIMU} curl -X POST "${GANDI_API}/records" -H "authorization: Apikey ${GANDI_KEY}" -H 'content-type: application/json' -d '{"rrset_type":"CNAME", "rrset_name":"'${ARG}.dev'", "rrset_values":["dev"]}' |
|
|
|
echo |
|
|
|
;; |
|
|
|
kaz.bzh) |
|
|
|
*) |
|
|
|
${SIMU} curl -X POST "${GANDI_API}/records" -H "authorization: Apikey ${GANDI_KEY}" -H 'content-type: application/json' -d '{"rrset_type":"CNAME", "rrset_name":"'${ARG}'", "rrset_values":["kaz.bzh."]}' |
|
|
|
echo |
|
|
|
;; |
|
|
|
*) |
|
|
|
echo "domain environnement not set!" |
|
|
|
usage |
|
|
|
;; |
|
|
|
esac |
|
|
|
ADDED+=("${ARG}") |
|
|
|
done |
|
|
@ -191,24 +190,16 @@ del(){ |
|
|
|
fi |
|
|
|
case "${domain}" in |
|
|
|
kaz.local ) |
|
|
|
if !grep -q --perl-regex "^127.75.65.90.*[ \t]${ARG}.${domain}" "${ETC_HOSTS}" 2> /dev/null ; then |
|
|
|
if !grep -q --perl-regex "^${IP}.*[ \t]${ARG}.${domain}" "${ETC_HOSTS}" 2> /dev/null ; then |
|
|
|
break |
|
|
|
fi |
|
|
|
${SIMU} sudo sed -i -e "/^127.75.65.90[ \t]*${ARG}.${domain}[ \t]*$/d" \ |
|
|
|
-e "s|^\(127.75.65.90.*\)[ \t]${ARG}.${domain}|\1|g" "${ETC_HOSTS}" |
|
|
|
;; |
|
|
|
dev.kaz.bzh ) |
|
|
|
${SIMU} curl -X DELETE "${GANDI_API}/records/${ARG}.dev" -H "authorization: Apikey ${GANDI_KEY}" |
|
|
|
echo |
|
|
|
${SIMU} sudo sed -i -e "/^${IP}[ \t]*${ARG}.${domain}[ \t]*$/d" \ |
|
|
|
-e "s|^\(${IP}.*\)[ \t]${ARG}.${domain}|\1|g" "${ETC_HOSTS}" |
|
|
|
;; |
|
|
|
kaz.bzh ) |
|
|
|
* ) |
|
|
|
${SIMU} curl -X DELETE "${GANDI_API}/records/${ARG}" -H "authorization: Apikey ${GANDI_KEY}" |
|
|
|
echo |
|
|
|
;; |
|
|
|
*) |
|
|
|
echo "domain environnement not set!" |
|
|
|
usage |
|
|
|
;; |
|
|
|
esac |
|
|
|
REMOVED+=("${ARG}") |
|
|
|
done |
|
|
|