---
# --- Обновление пакетов при старте ---------------------------------------
- name: Обновить индекс пакетов apt
  ansible.builtin.apt:
    update_cache: true
    cache_valid_time: 3600
  when: docker_update_packages | bool

- name: Обновить установленные пакеты (upgrade)
  ansible.builtin.apt:
    upgrade: "{{ 'dist' if docker_upgrade_dist | bool else 'yes' }}"
  when: docker_update_packages | bool

# --- Подготовка репозитория Docker ---------------------------------------
- name: Установить зависимости для apt-репозитория
  ansible.builtin.apt:
    name:
      - ca-certificates
      - curl
      - gnupg
    state: present
    update_cache: true

- name: Создать каталог для ключей apt
  ansible.builtin.file:
    path: /etc/apt/keyrings
    state: directory
    mode: "0755"

- name: Добавить GPG-ключ Docker
  ansible.builtin.get_url:
    url: "{{ docker_apt_key_url }}"
    dest: /etc/apt/keyrings/docker.asc
    mode: "0644"
    force: false

- name: Добавить apt-репозиторий Docker
  ansible.builtin.apt_repository:
    repo: >-
      deb [arch={{ docker_apt_repo_arch }} signed-by=/etc/apt/keyrings/docker.asc]
      https://download.docker.com/linux/{{ ansible_distribution | lower }}
      {{ ansible_distribution_release }} stable
    filename: docker
    state: present

# --- Установка Docker Engine + containerd + compose ----------------------
- name: Установить Docker Engine, containerd и docker compose (apt)
  ansible.builtin.apt:
    name: "{{ docker_packages_debian }}"
    state: present
    update_cache: true
