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.

111 lignes
3.2 KiB

  1. ---
  2. - block:
  3. - name: Ensure the override directory exists (systemd)
  4. file:
  5. name: "/etc/systemd/system/{{ pdns_service_name }}.service.d"
  6. state: directory
  7. owner: root
  8. group: root
  9. - name: Override the PowerDNS Authoritative Server unit (systemd)
  10. template:
  11. src: "override-service.systemd.conf.j2"
  12. dest: "/etc/systemd/system/{{ pdns_service_name }}.service.d/override.conf"
  13. owner: root
  14. group: root
  15. notify: reload systemd and restart PowerDNS
  16. when: pdns_service_overrides != {}
  17. and ansible_service_mgr == "systemd"
  18. - name: Ensure that the PowerDNS Authoritative Server configuration directory exists
  19. file:
  20. name: "{{ pdns_config_dir }}"
  21. state: directory
  22. owner: "root"
  23. group: "root"
  24. mode: 0750
  25. - name: Generate the PowerDNS Authoritative Server configuration
  26. template:
  27. src: pdns.conf.j2
  28. dest: "{{ pdns_config_dir }}/{{ pdns_config_file }}"
  29. owner: "root"
  30. group: "root"
  31. mode: 0640
  32. notify: restart PowerDNS
  33. - name: Ensure that the PowerDNS Authoritative Server 'include-dir' directory exists
  34. file:
  35. name: "{{ pdns_config['include-dir'] }}"
  36. state: directory
  37. owner: "root"
  38. group: "root"
  39. mode: 0750
  40. when: "pdns_config['include-dir'] is defined"
  41. - name: Enable Syslog logging for PowerDns
  42. lineinfile:
  43. path: /usr/lib/systemd/system/pdns.service
  44. regexp: 'disable-syslog'
  45. line: "ExecStart=/usr/sbin/pdns_server --guardian=no --daemon=no --log-timestamp=no --write-pid=no"
  46. become: true
  47. become_method: sudo
  48. notify: reload systemd and restart PowerDNS
  49. - name: Configure syslog log rotation
  50. template:
  51. src: syslogrotate.conf.j2
  52. dest: "/etc/logrotate.d/syslog"
  53. become: true
  54. become_method: sudo
  55. - block:
  56. - name: Ensure that the bind backend dir exists
  57. file:
  58. name: "{{ pdns_bind_backend_dir }}"
  59. state: directory
  60. owner: "{{ pdns_user }}"
  61. group: "{{ pdns_group }}"
  62. mode: 0750
  63. - name: Ensure that the bind backend config file exists
  64. template:
  65. src: bind.conf.j2
  66. dest: "{{ pdns_bind_backend_config }}"
  67. owner: "{{ pdns_user }}"
  68. group: "{{ pdns_group }}"
  69. mode: 0640
  70. notify: restart PowerDNS
  71. - name:
  72. copy:
  73. src: "{{ domain | replace('/','-') }}.zone"
  74. dest: "{{ pdns_bind_backend_dir }}/{{ domain | replace('/','-') }}.zone"
  75. owner: "{{ pdns_user }}"
  76. group: "{{ pdns_group }}"
  77. mode: 0444
  78. loop: "{{ managed_domains | default([], true) }}"
  79. loop_control:
  80. loop_var: domain
  81. notify: restart PowerDNS
  82. when:
  83. - managed_domains is defined
  84. - name: Ensure that the dnssec bind db exists
  85. shell:
  86. cmd: "pdnsutil create-bind-db {{ pdns_backends['bind']['dnssec-db'] }}"
  87. creates: "{{ pdns_backends['bind']['dnssec-db'] }}"
  88. when:
  89. - (pdns_backends['bind']['dnssec-db'] | default("", true)) != ""
  90. - name: Set ownership of dnssec db
  91. file:
  92. name: "{{ pdns_backends['bind']['dnssec-db'] }}"
  93. owner: "{{ pdns_user }}"
  94. group: "{{ pdns_group }}"
  95. mode: 0640
  96. when:
  97. - (pdns_backends['bind']['dnssec-db'] | default("", true)) != ""
  98. when:
  99. - "pdns_backends['bind'] is defined"