docs: update all documentation to reflect v1.1.0 features

- Update all examples to show new defaults (ignore_dnssec_records, ignore_soa_records, validate_records)
- Add verbose output examples throughout documentation
- Show global dns_server parameter usage
- Remove all references to deprecated parallel_zones parameter
- Update QUICK_START.md with new best practices
- Update README.md with new feature descriptions
- Update module EXAMPLES with verbose flag and current defaults
- Update all example playbooks (nsupdate_zone_example.yml, sample_zone_format.yml)
- Simplify examples by relying on sensible defaults
This commit is contained in:
Daniel Akulenok
2026-01-29 20:45:14 +01:00
parent b724c568b9
commit 4625f2cb1e
7 changed files with 48 additions and 41 deletions

View File

@@ -34,6 +34,8 @@ pip install dnspython
value: 192.168.1.10
```
**Note**: By default, SOA and DNSSEC records are ignored, and record validation is enabled.
## DNS Server Setup (BIND Example)
1. **Generate TSIG key:**
@@ -173,38 +175,37 @@ dig @ns1.example.com example.com MX
records: "{{ zones }}"
```
### 2. Ignore Dynamic Records
### 2. Ignore Dynamic Records and Use Global Server
```yaml
- name: Update zone (ignore ACME challenges)
- name: Update zone (ignore ACME challenges, use global server)
community.general.nsupdate_zone:
key_name: "nsupdate"
key_secret: "{{ vault_dns_key }}"
ignore_record_types:
- NS
dns_server: ns1.dns.com # Global server for all zones
# SOA and DNSSEC records are ignored by default
ignore_record_patterns:
- '^_acme-challenge\..*'
verbose: true # Show per-record actions
zones:
- name: example.com
dns_server: ns1.example.com
records: "{{ static_records }}"
```
### 3. Multiple Zones
### 3. Multiple Zones with Shared Server
```yaml
- name: Update all zones
community.general.nsupdate_zone:
key_name: "nsupdate"
key_secret: "{{ vault_dns_key }}"
parallel_zones: true # Process concurrently
dns_server: ns1.dns.com # Shared server for all zones
verbose: true # Show detailed changes
zones:
- name: example.com
dns_server: ns1.dns.com
records: "{{ example_com_records }}"
- name: example.org
dns_server: ns1.dns.com
records: "{{ example_org_records }}"
```
@@ -246,24 +247,28 @@ dig @ns1.example.com example.com MX
protocol: tcp # More reliable for large zones
```
3. **Ignore server-managed records:**
3. **Leverage defaults:**
```yaml
ignore_record_types:
- NS
- SOA
# SOA and DNSSEC records are ignored by default
# Record validation is enabled by default
# Just add patterns for dynamic records
ignore_record_patterns:
- '^_acme-challenge\..*'
```
4. **Test with check mode:**
4. **Use verbose mode for visibility:**
```yaml
verbose: true # See Added, Removed, Changed, Skipped for each record
```
5. **Test with check and diff mode:**
```bash
ansible-playbook playbook.yml --check --diff
```
5. **Keep zone files in version control:**
```
zones/
├── example.com.yml
├── example.org.yml
└── example.net.yml
6. **Use global dns_server:**
```yaml
dns_server: ns1.dns.com # Applies to all zones without dns_server
```
## Next Steps