Files
DevOpsLab/molecule/default/site.yml
Сергей Антропов 94560ffaaa feat: Полная переработка документации и структуры проекта
- Переписан главный README.md с подробной навигацией
- Создана структурированная документация в docs/:
  - getting-started.md - быстрый старт
  - creating-roles.md - создание ролей
  - cicd-setup.md - настройка CI/CD
  - monitoring.md - мониторинг и диагностика
  - site-yml-guide.md - руководство по site.yml
  - molecule-guide.md - подробное руководство по Molecule
- Переписан dockerfiles/README.md с детальным описанием всех образов
- Перенесен deploy.yml из корня в roles/ для лучшей организации
- Обновлен site.yml для импорта roles/deploy.yml
- Добавлены fallback значения в create.yml для надежности
- Созданы скрипты автоматизации:
  - update-playbooks.sh - обновление playbook'ов
  - generate-role-docs.sh - генерация документации
  - setup-cicd.sh - настройка CI/CD
- Добавлен env.example с примерами переменных
- Обновлен Makefile с новыми командами автоматизации
- Улучшена навигация по документации
2025-10-25 18:11:36 +03:00

182 lines
4.5 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.

---
# Универсальный playbook для тестирования Ansible ролей
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
#
# Этот файл отвечает за:
# 1. Обновление пакетов в контейнерах при запуске тестов
# 2. Установку common tools для корректной работы тестов
# 3. Подготовку окружения для тестирования ролей
# 4. Запуск всех ролей из директории roles/
- name: Подготовка окружения для тестирования
hosts: all
become: true
tasks:
# Обновление кеша пакетов для Debian/Ubuntu
- name: Update package cache (Debian/Ubuntu)
apt:
update_cache: true
cache_valid_time: 3600
when: ansible_os_family == 'Debian'
changed_when: false
tags:
- setup
- update
# Обновление кеша пакетов для RHEL/CentOS/AlmaLinux/Rocky
- name: Update package cache (RHEL/CentOS/AlmaLinux/Rocky)
yum:
update_cache: true
when: ansible_os_family == 'RedHat'
changed_when: false
tags:
- setup
- update
# Обновление кеша пакетов для Alt Linux
- name: Update package cache (Alt Linux)
apt:
update_cache: true
when: ansible_distribution == 'Alt'
changed_when: false
tags:
- setup
- update
# Установка common tools для всех ОС
- name: Install common tools (Debian/Ubuntu)
apt:
name:
- curl
- jq
- ca-certificates
- iproute2
- iputils-ping
- procps
- net-tools
- sudo
- vim
- wget
- unzip
- git
state: present
update_cache: false
when: ansible_os_family == 'Debian'
tags:
- setup
- tools
- name: Install common tools (RHEL/CentOS/AlmaLinux/Rocky)
yum:
name:
- curl
- jq
- ca-certificates
- iproute
- iputils
- procps-ng
- net-tools
- sudo
- vim
- wget
- unzip
- git
state: present
when: ansible_os_family == 'RedHat'
tags:
- setup
- tools
- name: Install common tools (Alt Linux)
apt:
name:
- curl
- jq
- ca-certificates
- iproute2
- iputils
- procps
- net-tools
- sudo
- vim
- wget
- unzip
- git
state: present
when: ansible_distribution == 'Alt'
tags:
- setup
- tools
# Установка Python для Ansible (если не установлен)
- name: Install Python (Debian/Ubuntu)
apt:
name:
- python3
- python3-pip
- python3-venv
state: present
when: ansible_os_family == 'Debian'
tags:
- setup
- python
- name: Install Python (RHEL/CentOS/AlmaLinux/Rocky)
yum:
name:
- python3
- python3-pip
state: present
when: ansible_os_family == 'RedHat'
tags:
- setup
- python
- name: Install Python (Alt Linux)
apt:
name:
- python3
- python3-pip
state: present
when: ansible_distribution == 'Alt'
tags:
- setup
- python
# Создание пользователя для тестирования
- name: Create test user
user:
name: testuser
shell: /bin/bash
create_home: yes
state: present
tags:
- setup
- user
# Настройка sudo для тестового пользователя
- name: Configure sudo for test user
lineinfile:
path: /etc/sudoers
line: "testuser ALL=(ALL) NOPASSWD:ALL"
state: present
validate: 'visudo -cf %s'
tags:
- setup
- sudo
# Создание директории для тестов
- name: Create test directory
file:
path: /tmp/ansible-test
state: directory
mode: '0755'
owner: testuser
group: testuser
tags:
- setup
- directory
- import_playbook: ../../roles/deploy.yml