- Added molecule/bind9-20 scenario for testing BIND9 9.20+ compatibility
- molecule.yml: Ubuntu 24.04 platform configuration
- converge.yml: Complete 9.20 configuration with TLS, DNSTAP, and modern features
- verify.yml: Comprehensive test cases for 9.20 features
- collections.yml: Required Ansible collections
- prepare.yml: Pre-test environment setup
- README.md: Scenario documentation with breaking changes reference
- Added docs/BIND9_9.20_SUPPORT.md implementation guide
- Architecture overview for multi-version support
- Runtime version detection strategy
- Configuration changes and examples
- Migration path for upgrading users
- Feature highlights for BIND9 9.20
- Updated meta/argument_specs.yml
- Added multi-version support documentation
- Documented bind9_version variable (read-only, auto-detected)
- Clarified supported BIND9 versions (9.18.x LTS and 9.20+)
These changes establish the feature/bind9-20-support branch as the development
path for BIND9 9.20+ support, separate from the main branch's 9.18.x focus.
Closes#9: Create feature/bind9-20-support branch with 9.20 templates
- Created primary.zoneopt.json to define grammar for primary zones with various options including allow-query, allow-transfer, and DNSSEC settings.
- Added redirect.zoneopt.json for redirect zones, specifying options like allow-query and primaries.
- Introduced secondary.zoneopt.json for secondary zones, detailing options such as allow-notify, forwarders, and notify configurations.
- Implemented static-stub.zoneopt.json for static stub zones, including server-addresses and server-names options.
- Added stub.zoneopt.json for stub zones, defining options like check-names and forwarders.
- Created zoneopt.json as a general template for zone options, incorporating common fields across different zone types.
- Quote octal file mode values (0640, 0750 -> '0640', '0750')
- Add 'Prepare' name to prepare.yml play
- Fix truthy value in .gitea/workflows/test.yaml (on -> 'on')
- Use role name 'bind9' instead of path in converge.yml
- Move tags to top-level for Deploy and Validate Configuration block
- Remove unnecessary comments to clean up code
- Ensure all YAML and Ansible files pass ansible-lint production profile
- Fix line length in meta/argument_specs.yml (wrap long description)
- Remove extra blank lines in molecule/default/collections.yml
- Fix line lengths in tasks/main.yml (wrap long messages)
- Remove trailing spaces from tasks/main.yml
- Ensure all YAML files pass yamllint with relaxed profile
- Create converge.yml with forwarding DNS configuration
- Configure global forwarders with Google and Cloudflare DNS
- Configure forward-only zone for internal.example with TLS
- Create verify.yml with comprehensive test validation
- Test BIND9 installation, service status, and configuration files
- Verify forwarders and forward zones are properly configured
- Test actual DNS resolution via forwarders