34 lines
749 B
Bash
Executable File
34 lines
749 B
Bash
Executable File
#!/bin/sh
|
|
# Generates authoritative zone ConfigMap for svc.n0ball.tw from svc-records.yaml
|
|
# Usage: ./generate-zone.sh svc-records.yaml > coredns-auth-zone.yaml
|
|
set -e
|
|
|
|
RECORDS_FILE="${1:-svc-records.yaml}"
|
|
SERIAL=$(date +%Y%m%d%H)
|
|
|
|
cat <<EOF
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: coredns-auth-zone
|
|
namespace: authoritative-dns
|
|
data:
|
|
svc.n0ball.tw.zone: |
|
|
\$ORIGIN svc.n0ball.tw.
|
|
@ 3600 IN SOA ns1.n0ball.tw. admin.n0ball.tw. (
|
|
${SERIAL} ; serial
|
|
3600 ; refresh
|
|
600 ; retry
|
|
86400 ; expire
|
|
60 ; minimum
|
|
)
|
|
@ 3600 IN NS ns1.n0ball.tw.
|
|
@ 3600 IN NS ns2.n0ball.tw.
|
|
EOF
|
|
|
|
awk '
|
|
/^[a-zA-Z0-9]/ && / IN / {
|
|
printf " %s\n", $0
|
|
}
|
|
' "$RECORDS_FILE"
|