name: Deploy DNS Records on: push: branches: [main] paths: [records.yaml] jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install kubectl run: | curl -sLO "https://dl.k8s.io/release/$(curl -sL https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" chmod +x kubectl mv kubectl /usr/local/bin/ - name: Setup kubeconfig run: | mkdir -p ~/.kube echo "$KUBECONFIG_DATA" | base64 -d > ~/.kube/config env: KUBECONFIG_DATA: ${{ secrets.KUBECONFIG }} - name: Generate and apply CoreDNS configmap run: | chmod +x generate.sh ./generate.sh records.yaml > coredns-custom.yaml echo "--- Generated configmap ---" cat coredns-custom.yaml echo "--- Applying ---" kubectl apply -f coredns-custom.yaml kubectl rollout restart deployment/coredns -n kube-system kubectl rollout status deployment/coredns -n kube-system --timeout=60s