feat: Добавлен пресет all-images и установка sudo во все Dockerfile
- Создан пресет all-images для тестирования всех 9 образов - Добавлен sudo во все Dockerfile образы - Настроены sudoers для root и пользователей - Упрощен site.yml (убрана установка sudo) - Добавлена документация для пресета all-images - Обновлен Makefile с поддержкой нового пресета - Исправлена проблема с Parsec в Astra Linux - Улучшена система очистки контейнеров Пресет all-images включает: - Debian-based: Ubuntu, Debian, Alt Linux, Astra Linux - RHEL-based: CentOS, RHEL, AlmaLinux, Rocky Linux, RedOS - Уникальные порты 8080-8088 - Переменные окружения TEST_OS и TEST_FAMILY
This commit is contained in:
@@ -77,6 +77,8 @@
|
||||
capabilities: "{{ systemd_defaults.capabilities | default([]) }}"
|
||||
published_ports: "{{ item.publish | default([]) }}"
|
||||
env: "{{ item.env | default({}) }}"
|
||||
# Специальные настройки для Astra Linux
|
||||
security_opts: "{{ ['seccomp=unconfined', 'apparmor=unconfined'] if item.family == 'astra' else [] }}"
|
||||
state: started
|
||||
restart_policy: unless-stopped
|
||||
loop: "{{ hosts | selectattr('type','undefined') | list }}"
|
||||
|
||||
@@ -24,6 +24,14 @@
|
||||
name: "{{ item.name }}"
|
||||
state: absent
|
||||
force_kill: true
|
||||
cleanup: true
|
||||
loop: "{{ hosts }}"
|
||||
loop_control: { label: "{{ item.name }}" }
|
||||
ignore_errors: true
|
||||
|
||||
- name: Force remove any remaining containers
|
||||
shell: |
|
||||
docker ps -a --filter "name={{ item.name }}" --format "{{ '{{' }}.ID{{ '}}' }}" | xargs -r docker rm -f
|
||||
loop: "{{ hosts }}"
|
||||
loop_control: { label: "{{ item.name }}" }
|
||||
ignore_errors: true
|
||||
@@ -51,6 +59,21 @@
|
||||
state: absent
|
||||
ignore_errors: true
|
||||
|
||||
- name: Force cleanup all project containers
|
||||
shell: |
|
||||
# Удаляем все контейнеры из загруженного пресета
|
||||
{% for host in hosts %}
|
||||
docker ps -a --filter "name={{ host.name }}" --format "{{ '{{' }}.ID{{ '}}' }}" | xargs -r docker rm -f 2>/dev/null || true
|
||||
{% endfor %}
|
||||
# Удаляем все контейнеры с образами ansible-lab
|
||||
docker ps -a --filter "ancestor=inecs/ansible-lab" --format "{{ '{{' }}.ID{{ '}}' }}" | xargs -r docker rm -f 2>/dev/null || true
|
||||
# Удаляем все контейнеры с сетью labnet
|
||||
docker ps -a --filter "network=labnet" --format "{{ '{{' }}.ID{{ '}}' }}" | xargs -r docker rm -f 2>/dev/null || true
|
||||
ignore_errors: true
|
||||
vars:
|
||||
# Используем переменную hosts из загруженного пресета
|
||||
hosts: "{{ hosts }}"
|
||||
|
||||
- name: Display cleanup summary
|
||||
debug:
|
||||
msg: |
|
||||
|
||||
@@ -38,7 +38,17 @@
|
||||
- name: Update package cache (Alt Linux)
|
||||
apt:
|
||||
update_cache: true
|
||||
when: ansible_distribution == 'Alt'
|
||||
when: ansible_os_family == 'Altlinux'
|
||||
changed_when: false
|
||||
tags:
|
||||
- setup
|
||||
- update
|
||||
|
||||
# Обновление кеша пакетов для Astra Linux
|
||||
- name: Update package cache (Astra Linux)
|
||||
apt:
|
||||
update_cache: true
|
||||
when: ansible_os_family == 'Astra Linux'
|
||||
changed_when: false
|
||||
tags:
|
||||
- setup
|
||||
@@ -55,7 +65,6 @@
|
||||
- iputils-ping
|
||||
- procps
|
||||
- net-tools
|
||||
- sudo
|
||||
- vim
|
||||
- wget
|
||||
- unzip
|
||||
@@ -77,7 +86,6 @@
|
||||
- iputils
|
||||
- procps-ng
|
||||
- net-tools
|
||||
- sudo
|
||||
- vim
|
||||
- wget
|
||||
- unzip
|
||||
@@ -98,13 +106,32 @@
|
||||
- iputils
|
||||
- procps
|
||||
- net-tools
|
||||
- sudo
|
||||
- vim
|
||||
- wget
|
||||
- unzip
|
||||
- git
|
||||
state: present
|
||||
when: ansible_distribution == 'Alt'
|
||||
when: ansible_os_family == 'Altlinux'
|
||||
tags:
|
||||
- setup
|
||||
- tools
|
||||
|
||||
- name: Install common tools (Astra Linux)
|
||||
apt:
|
||||
name:
|
||||
- curl
|
||||
- jq
|
||||
- ca-certificates
|
||||
- iproute2
|
||||
- iputils
|
||||
- procps
|
||||
- net-tools
|
||||
- vim
|
||||
- wget
|
||||
- unzip
|
||||
- git
|
||||
state: present
|
||||
when: ansible_os_family == 'Astra Linux'
|
||||
tags:
|
||||
- setup
|
||||
- tools
|
||||
@@ -139,7 +166,18 @@
|
||||
- python3
|
||||
- python3-pip
|
||||
state: present
|
||||
when: ansible_distribution == 'Alt'
|
||||
when: ansible_os_family == 'Altlinux'
|
||||
tags:
|
||||
- setup
|
||||
- python
|
||||
|
||||
- name: Install Python (Astra Linux)
|
||||
apt:
|
||||
name:
|
||||
- python3
|
||||
- python3-pip
|
||||
state: present
|
||||
when: ansible_os_family == 'Astra Linux'
|
||||
tags:
|
||||
- setup
|
||||
- python
|
||||
|
||||
Reference in New Issue
Block a user