---
- name: Install apt-mirror
  apt:
    update_cache: true
    name: apt-mirror
  register: apt_result
  retries: 3
  until: apt_result is succeeded

- name: Create mirrors directory
  file:
    path: "{{ apt_mirror.root }}/{{ item.host }}"
    owner: apt-mirror
    group: mirror
    mode: 0755
    state: directory
  loop: "{{ apt_mirror.targets }}"

- name: Create mirror symlink
  file:
    # Use relative path to stay modular if the folder is mounted on multiple server at different locations
    src: "{{ item.host }}/{{ item.symlink }}"
    dest: "{{ apt_mirror.root }}/{{ item.name }}"
    mode: 0755
    state: link
  loop: "{{ apt_mirror.targets }}"
  when: item.symlink is defined

- name: Copy apt-mirror configurations
  template:
    src: apt/mirror.list.j2
    dest: /etc/apt/mirror.list

- name: Configure apt-mirror cron
  template:
    src: cron.d/apt-mirror.j2
    dest: /etc/cron.d/apt-mirror

- name: Indicate role in motd
  template:
    src: update-motd.d/05-service.j2
    dest: /etc/update-motd.d/05-apt-mirror
    mode: 0755