iac/aero/roles/docker/tasks/main.yml

39 lines
1.6 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
- name: Определить семейство пакетного менеджера
ansible.builtin.set_fact:
docker_pkg_family: >-
{{ 'debian' if ansible_pkg_mgr == 'apt'
else 'redhat' if ansible_pkg_mgr in ['dnf', 'dnf5', 'yum']
else 'unsupported' }}
- name: Проверить поддерживаемую ОС
ansible.builtin.assert:
that:
- docker_pkg_family != 'unsupported'
fail_msg: >-
Роль docker поддерживает Ubuntu/Debian (apt) и RedOS/RHEL (dnf).
Обнаружено: {{ ansible_distribution }} {{ ansible_distribution_version }}
(pkg_mgr={{ ansible_pkg_mgr }}).
- name: Установить Docker для текущего семейства ОС
ansible.builtin.include_tasks: "{{ docker_pkg_family }}.yml"
# --- Общие шаги (systemd одинаков для всех семейств) ---------------------
- name: Включить и запустить службу docker
ansible.builtin.systemd_service:
name: docker
enabled: "{{ docker_service_enabled | bool }}"
state: "{{ docker_service_state }}"
when: docker_manage_service | bool
# В check-режиме пакеты не ставятся, поэтому unit ещё не существует —
# не роняем dry-run на этом шаге.
ignore_errors: "{{ ansible_check_mode }}"
- name: Добавить пользователей в группу docker
ansible.builtin.user:
name: "{{ item }}"
groups: docker
append: true
loop: "{{ docker_users }}"
when: docker_users | length > 0