feat: добавить аддон yandex-dns-controller — управление DNS Yandex 360

CronJob (*/5 мин) reconcile ConfigMap → Yandex 360 DNS API.
Safe mode: управляет только записями с managed: true.
Никогда не удаляет неуправляемые записи (MX, DKIM, SPF и т.д.).

Удаление только при двух условиях одновременно:
  1. Запись была создана контроллером (есть в state ConfigMap)
  2. Запись полностью удалена из ConfigMap (не просто managed: false)

Переключение managed: true → false = release без удаления из DNS.

API: /directory/v1/org/{org_id}/domains/{domain}/dns
Fields: A→content, CNAME→target, TXT→text, MX→exchange+preference
This commit is contained in:
Sergey Antropoff
2026-04-26 12:16:32 +03:00
parent 5079975d5e
commit 404347b535
23 changed files with 976 additions and 1 deletions

View File

@@ -311,3 +311,11 @@
when: addon_ingress_add_domains | default(false) | bool
roles:
- role: "{{ playbook_dir }}/../addons/ingress-add-domains/role"
- name: Install Yandex 360 DNS Controller
hosts: k3s_master[0]
gather_facts: false
become: true
when: addon_yandex_dns_controller | default(false) | bool
roles:
- role: "{{ playbook_dir }}/../addons/yandex-dns-controller/role"