- Helm chart: Primary и Secondary Deployment, kube-vip LoadBalancer сервисы (UDP+TCP :53), ClusterIP для Web UI, PVC (ReadWriteOnce), Secret, Ingress - CronJob sync (*/5 мин): Python sync.py опрашивает Technitium REST API, создаёт Secondary зоны на secondary и вызывает forceSyncZone для каждой зоны - ExternalDNS (disabled по умолчанию): RFC 2136 DDNS для автоматических DNS-записей из Ingress - Ansible role: validate, namespace, Helm deploy, cleanup secrets, summary с Keenetic-инструкцией - Интеграция: Makefile, playbooks/addons.yml, group_vars/all/addons.yml, vault.yml.example - README с архитектурой, Keenetic-конфигурацией и troubleshooting
48 lines
1.6 KiB
Django/Jinja
48 lines
1.6 KiB
Django/Jinja
# Generated by Ansible — do not edit manually.
|
|
# Configure via: group_vars/all/addons.yml → technitium_dns_* variables.
|
|
# Admin password from vault.yml → technitium_dns_admin_password
|
|
|
|
primary:
|
|
ip: {{ technitium_dns_primary_ip | quote }}
|
|
nodeName: {{ technitium_dns_primary_node | quote }}
|
|
|
|
secondary:
|
|
enabled: {{ technitium_dns_secondary_enabled | string | lower }}
|
|
ip: {{ technitium_dns_secondary_ip | quote }}
|
|
nodeName: {{ technitium_dns_secondary_node | quote }}
|
|
|
|
dns:
|
|
domain: {{ technitium_dns_domain | quote }}
|
|
forwarders:
|
|
{{ technitium_dns_forwarders | to_yaml | indent(4, True) }}
|
|
recursion: {{ technitium_dns_recursion | quote }}
|
|
|
|
secret:
|
|
adminPassword: {{ technitium_dns_admin_password | quote }}
|
|
|
|
storage:
|
|
storageClassName: {{ technitium_dns_storage_class | quote }}
|
|
size: {{ technitium_dns_storage_size | quote }}
|
|
|
|
ingress:
|
|
enabled: {{ technitium_dns_ingress_enabled | string | lower }}
|
|
ingressClass: {{ technitium_dns_ingress_class | quote }}
|
|
primary:
|
|
host: {{ technitium_dns_primary_host | quote }}
|
|
secondary:
|
|
host: {{ technitium_dns_secondary_host | quote }}
|
|
tls:
|
|
enabled: {{ technitium_dns_ingress_tls_enabled | string | lower }}
|
|
secretName: {{ technitium_dns_ingress_tls_secret | quote }}
|
|
|
|
sync:
|
|
enabled: {{ technitium_dns_sync_enabled | string | lower }}
|
|
schedule: {{ technitium_dns_sync_schedule | quote }}
|
|
|
|
externalDns:
|
|
enabled: {{ technitium_dns_externaldns_enabled | string | lower }}
|
|
domainFilter:
|
|
{{ technitium_dns_externaldns_domain_filter | to_yaml | indent(4, True) }}
|
|
policy: {{ technitium_dns_externaldns_policy | quote }}
|
|
txtOwnerId: {{ technitium_dns_externaldns_txt_owner_id | quote }}
|