This GitHub Action is designed to automate the validation of DNS zone files and BIND configuration files (named.conf) using named-checkzone and named-checkconf.
It builds upon the features of the original action-named-checkzone with enhancements aimed at speed improvements and addtional checks.
- Zone File Validation: Validates DNS zone files for syntax correctness using
named-checkzone. - Configuration Validation: Verifies the syntax of BIND configuration files (
named.conf) usingnamed-checkconf. - Automation: Automatically runs on
pushandpull_requestevents, ensuring all changes are validated.
- Alpine Docker Image: Utilizes a smaller Alpine-based Docker image, reducing the overall runtime footprint.
- Dynamic Zone Name Extraction: Instead of relying on zone filenames, this action extracts zone names directly from the
$ORIGINdirective in zone files, ensuring greater accuracy and flexibility. - Enhanced
named.confValidation: Specifically targets and verifies configuration files formatted likenamed?.conf, ensuring only relevant BIND configuration files are checked.
This project is based on and extends action-named-checkzone by @grramos. I want to express my gratitude for the groundwork laid in the original project, which inspired my enhancements.
To use this action in your GitHub workflows, add the following to your workflow file (e.g., .github/workflows/check-bind.yml):
name: Bind9 Validation
on: [push, pull_request]
jobs:
bind9-validation:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@main
- name: Run named-checkzone
uses: networkshokunin/bind9-validation-action@main