mirror of
https://github.com/casjaysdevdocker/bind
synced 2025-12-01 10:13:00 -05:00
🚀 Refactor DNS configuration scripts 💻
Some checks failed
release-tag / release-image (push) Failing after 40s
Some checks failed
release-tag / release-image (push) Failing after 40s
rootfs/usr/local/etc/docker/functions/entrypoint.sh rootfs/usr/local/etc/docker/init.d/02-named.sh
This commit is contained in:
@@ -642,8 +642,8 @@ __create_service_user() {
|
|||||||
[ -d "$(dirname "$log_file")" ] || mkdir -p "$(dirname "$log_file")" 2>/dev/null
|
[ -d "$(dirname "$log_file")" ] || mkdir -p "$(dirname "$log_file")" 2>/dev/null
|
||||||
# Validate that we have at least a user or group to create
|
# Validate that we have at least a user or group to create
|
||||||
if [ -z "$create_user" ] && [ -z "$create_group" ]; then
|
if [ -z "$create_user" ] && [ -z "$create_group" ]; then
|
||||||
echo "Error: No user or group specified to create" >&2
|
echo "No user or group specified to create" >&2
|
||||||
return 1
|
return 0
|
||||||
fi
|
fi
|
||||||
# Validate user/group name format (alphanumeric, underscore, hyphen; must start with letter or underscore)
|
# Validate user/group name format (alphanumeric, underscore, hyphen; must start with letter or underscore)
|
||||||
if [ -n "$create_user" ] && ! echo "$create_user" | grep -qE '^[a-z_][a-z0-9_-]*$'; then
|
if [ -n "$create_user" ] && ! echo "$create_user" | grep -qE '^[a-z_][a-z0-9_-]*$'; then
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
# shellcheck disable=SC1001,SC1003,SC2001,SC2003,SC2016,SC2031,SC2120,SC2155,SC2199,SC2317,SC2329
|
# shellcheck disable=SC1001,SC1003,SC2001,SC2003,SC2016,SC2031,SC2120,SC2155,SC2199,SC2317,SC2329
|
||||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
set -e
|
#set -e
|
||||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
# run trap command on exit
|
# run trap command on exit
|
||||||
trap 'retVal=$?; echo "❌ Fatal error occurred: Exit code $retVal at line $LINENO in command: $BASH_COMMAND"; kill -TERM 1' ERR
|
trap 'retVal=$?; echo "❌ Fatal error occurred: Exit code $retVal at line $LINENO in command: $BASH_COMMAND"; kill -TERM 1' ERR
|
||||||
@@ -341,6 +341,7 @@ __pre_execute() {
|
|||||||
zone_files="$(find "$DATA_DIR/zones/" -type f 2>/dev/null | wc -l)"
|
zone_files="$(find "$DATA_DIR/zones/" -type f 2>/dev/null | wc -l)"
|
||||||
if [ $zone_files = 0 ] && [ ! -f "$VAR_DIR/primary/$HOSTNAME.zone" ]; then
|
if [ $zone_files = 0 ] && [ ! -f "$VAR_DIR/primary/$HOSTNAME.zone" ]; then
|
||||||
file_name="$VAR_DIR/primary/$HOSTNAME.zone"
|
file_name="$VAR_DIR/primary/$HOSTNAME.zone"
|
||||||
|
if ! grep -sq "$HOSTNAME" "$DNS_ZONE_FILE"; then
|
||||||
cat <<EOF >>"$DNS_ZONE_FILE"
|
cat <<EOF >>"$DNS_ZONE_FILE"
|
||||||
# ********** begin $HOSTNAME **********
|
# ********** begin $HOSTNAME **********
|
||||||
zone "$HOSTNAME" {
|
zone "$HOSTNAME" {
|
||||||
@@ -353,6 +354,7 @@ zone "$HOSTNAME" {
|
|||||||
# ********** end $HOSTNAME **********
|
# ********** end $HOSTNAME **********
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
cat <<EOF | tee "$VAR_DIR/primary/$HOSTNAME.zone" &>/dev/null
|
cat <<EOF | tee "$VAR_DIR/primary/$HOSTNAME.zone" &>/dev/null
|
||||||
; config for $HOSTNAME
|
; config for $HOSTNAME
|
||||||
@@ -368,7 +370,7 @@ EOF
|
|||||||
file_name="$(basename "$dns_file")"
|
file_name="$(basename "$dns_file")"
|
||||||
domain_name="$(grep -Rs '\$ORIGIN' "$dns_file" | awk '{print $NF}' | sed 's|.$||g')"
|
domain_name="$(grep -Rs '\$ORIGIN' "$dns_file" | awk '{print $NF}' | sed 's|.$||g')"
|
||||||
if [ -f "$dns_file" ]; then
|
if [ -f "$dns_file" ]; then
|
||||||
if [ -n "$domain_name" ] && ! grep -qs "$domain_name" "$NAMED_CONFIG_FILE"; then
|
if [ -n "$domain_name" ] && ! grep -qs "$domain_name" "$DNS_ZONE_FILE"; then
|
||||||
if [ "$DNS_TYPE" = "secondary" ]; then
|
if [ "$DNS_TYPE" = "secondary" ]; then
|
||||||
[ -f "$VAR_DIR/secondary/$file_name" ] || echo "" >"$VAR_DIR/secondary/$file_name"
|
[ -f "$VAR_DIR/secondary/$file_name" ] || echo "" >"$VAR_DIR/secondary/$file_name"
|
||||||
cat <<EOF >>"$DNS_ZONE_FILE"
|
cat <<EOF >>"$DNS_ZONE_FILE"
|
||||||
@@ -383,7 +385,7 @@ zone "$domain_name" {
|
|||||||
EOF
|
EOF
|
||||||
else
|
else
|
||||||
cp -Rf "$dns_file" "$VAR_DIR/primary/$file_name"
|
cp -Rf "$dns_file" "$VAR_DIR/primary/$file_name"
|
||||||
if [ -n "$DNS_SERVER_SECONDARY" ]; then
|
if [ -n "$DNS_SERVER_SECONDARY" ] && ! grep -qs "$domain_name" "$DNS_ZONE_FILE"; then
|
||||||
cat <<EOF >>"$DNS_ZONE_FILE"
|
cat <<EOF >>"$DNS_ZONE_FILE"
|
||||||
# ********** begin $domain_name **********
|
# ********** begin $domain_name **********
|
||||||
zone "$domain_name" {
|
zone "$domain_name" {
|
||||||
@@ -398,6 +400,7 @@ zone "$domain_name" {
|
|||||||
|
|
||||||
EOF
|
EOF
|
||||||
else
|
else
|
||||||
|
if ! grep -qs "$domain_name" "$DNS_ZONE_FILE"; then
|
||||||
cat <<EOF >>"$DNS_ZONE_FILE"
|
cat <<EOF >>"$DNS_ZONE_FILE"
|
||||||
# ********** begin $domain_name **********
|
# ********** begin $domain_name **********
|
||||||
zone "$domain_name" {
|
zone "$domain_name" {
|
||||||
@@ -412,7 +415,8 @@ zone "$domain_name" {
|
|||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
grep -qs "$domain_name" "$DNS_ZONE_FILE" && echo "Added $domain_name to $DNS_ZONE_FILE"
|
fi
|
||||||
|
grep -qs "$domain_name" "$DNS_ZONE_FILE" && echo "Added $domain_name to $DNS_ZONE_FILE" || true
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|||||||
Reference in New Issue
Block a user