--- - name: install packages apt: name: "{{ item }}" state: present update_cache: yes loop: - python3.12 - python3.12-venv - python3-pip - python3-virtualenv - bind9 - name: install octodns packages pip: name: "{{ item }}" virtualenv: ~/.venv loop: - octodns - octodns-bind - name: create directory for output files of octodns file: path: "{{ item }}" state: directory loop: - /srv/octodns-config/zones - /srv/octodns-config/bind - name: copy octodns files copy: src: "{{ item.src }}" dest: "{{ item.dst }}" loop: - { src: octodns-config/config.yaml, dst: /srv/octodns-config } - { src: zones/home.lab.local.yaml, dst: /srv/octodns-config/zones } - name: copy files copy: src: "manual/{{ item.src }}" dest: "/etc/bind/zones/{{ item.dest }}" owner: root loop: - { src: 'db.home.lab.local', dest: 'db.home.lab.local' } - { src: 'db.192.168', dest: 'db.192.168' } notify: restart bind9 tags: - manual