Repos with recipes to deploy some infrastructure services
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

42 lignes
1.7 KiB

  1. ---
  2. - import_playbook: playbook_ssh_known_host.yml
  3. - name: Configure PowerDNS auth server
  4. hosts:
  5. - all
  6. gather_facts: yes
  7. vars_files:
  8. - vars/powerdns.yml
  9. pre_tasks:
  10. - apt:
  11. name: '*'
  12. update_cache: true
  13. only_upgrade: true
  14. state: latest
  15. when: ansible_facts.os_family == "Debian"
  16. become: true
  17. become_method: sudo
  18. - yum:
  19. name: '*'
  20. update_cache: true
  21. security: true
  22. state: latest
  23. update_only: true
  24. when: ansible_facts.os_family == "RedHat"
  25. become: true
  26. become_method: sudo
  27. - set_fact:
  28. managed_domains: "{{ query('fileglob', '*.zone') | map('regex_replace', '(.*/)(.*).zone$', '\\2') | list | default([], true) }}"
  29. - set_fact:
  30. auth_ip_addresses: "{{ (slave_ip_addresses | default([], true)) | union(master_ip_addresses | default([], true)) | default(['127.0.0.0/8'], true) }}"
  31. - set_fact:
  32. delegated_managed_domains: "{{ delegated_managed_domains | default({}, true) | combine({item:auth_ip_addresses}) }}"
  33. loop: "{{ managed_domains | default([], true) }}"
  34. - set_fact:
  35. pdns_rec_forward_zones: "{{ (pdns_rec_forward_zones | default([])) + [[item.key, ((item.value | map('regex_replace', '/.*$')) | join(';'))] | join('=')] }}"
  36. loop: "{{ lookup('dict', (delegated_domains | default({}, true) | combine(delegated_managed_domains | default({}, true))), wantlist=true) }}"
  37. roles:
  38. - {role: powerdns.pdns, tags: ["auth"], become: true, become_method: sudo}
  39. - {role: powerdns.pdns_recursor, tags: ["recursor"], become: true, become_method: sudo}
  40. - {role: iptables, become: true, become_method: sudo}
  41. ...