template.yaml 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. ---
  2. kind: compose
  3. metadata:
  4. name: BIND9
  5. description: >
  6. BIND9 is the most widely used DNS server on the Internet.
  7. This template provides an authoritative and recursive DNS server with example zones,
  8. TSIG authentication for secure zone transfers, and DNSSEC support.
  9. Project: https://www.isc.org/bind/
  10. Documentation: https://bind9.readthedocs.io/
  11. version: 9.20-24.10_edge
  12. author: Christian Lempa
  13. date: '2025-10-02'
  14. tags:
  15. - dns
  16. next_steps: |
  17. 1. Start the DNS server:
  18. docker compose up -d
  19. 2. View the auto-generated TSIG key:
  20. cat config/tsig.key
  21. 3. Test DNS queries:
  22. dig @localhost home.arpa
  23. 4. Customize your zone:
  24. - Edit config/named.conf.zones to add more zones
  25. - Add zone files to /var/lib/bind/ volume
  26. - Update config/named.conf to adjust forwarders and ACLs
  27. 5. Reload configuration after changes:
  28. docker exec bind9 rndc reload
  29. 6. Check BIND9 configuration syntax:
  30. docker exec bind9 named-checkconf /etc/bind/named.conf
  31. docker exec bind9 named-checkzone home.arpa /var/lib/bind/db.home.arpa
  32. For more information, visit: https://bind9.readthedocs.io/
  33. draft: true
  34. spec:
  35. general:
  36. vars:
  37. bind9_version:
  38. type: str
  39. description: BIND9 Docker image tag
  40. default: "9.20-24.10_edge"
  41. domain_name:
  42. type: str
  43. description: "Primary domain name for your zone (e.g., home.arpa)"
  44. default: "home.arpa"
  45. tsig_key_name:
  46. type: str
  47. description: "TSIG key name for secure zone transfers"
  48. default: "transfer-key"
  49. tsig_key_secret:
  50. type: str
  51. description: "TSIG key secret (base64, auto-generated if empty)"
  52. default: ""
  53. sensitive: true
  54. autogenerated: true
  55. ports:
  56. vars:
  57. ports_enabled:
  58. default: true
  59. network:
  60. vars:
  61. network_enabled:
  62. default: false