- YAML inventory с мультигруппами в create.yml - Vault preflight проверки в converge.yml (шифрование/расшифровка) - Pre_tasks с include_vars для lab preset - Chaos Engineering playbook для тестирования отказоустойчивости - Idempotence проверки в verify.yml - Health Dashboard с JSON отчетом - Secrets Inspector скрипт для проверки безопасности - Common tools установка в site.yml Новые команды: - make chaos - запуск Chaos Engineering тестов - make check-secrets - проверка безопасности секретов - make idempotence - проверка идемпотентности Обновления в файлах: - molecule/universal/create.yml: добавлена генерация YAML inventory - molecule/universal/molecule.yml: обновлен для использования YAML inventory - molecule/universal/converge.yml: добавлены vault preflight проверки - molecule/universal/verify.yml: добавлены idempotence и health dashboard - files/playbooks/chaos.yml: новый Chaos Engineering playbook - files/playbooks/site.yml: добавлены common tools - scripts/secret_scan.sh: новый Secrets Inspector - Makefile: добавлены новые команды - README.md: обновлена документация Преимущества: - Мультигруппы в YAML inventory для сложных конфигураций - Автоматическая проверка и нормализация vault файлов - Тестирование отказоустойчивости через Chaos Engineering - Проверка идемпотентности для качества ролей - Health Dashboard для мониторинга состояния лаборатории - Secrets Inspector для безопасности - Установка common tools для всех хостов Автор: Сергей Антропов Сайт: https://devops.org.ru
62 lines
1.1 KiB
YAML
62 lines
1.1 KiB
YAML
---
|
|
# Универсальная лаборатория для тестирования Ansible ролей
|
|
# Автор: Сергей Антропов
|
|
# Сайт: https://devops.org.ru
|
|
|
|
driver:
|
|
name: docker
|
|
|
|
platforms:
|
|
- name: instance-ubuntu
|
|
image: "ghcr.io/ansible-community/molecule-ubuntu-systemd:jammy"
|
|
privileged: true
|
|
pre_build_image: true
|
|
command: "/sbin/init"
|
|
volumes:
|
|
- "/sys/fs/cgroup:/sys/fs/cgroup:ro"
|
|
capabilities:
|
|
- "SYS_ADMIN"
|
|
tmpfs:
|
|
- "/run"
|
|
- "/run/lock"
|
|
|
|
provisioner:
|
|
name: ansible
|
|
config_options:
|
|
defaults:
|
|
stdout_callback: yaml
|
|
callbacks_enabled: profile_tasks
|
|
env:
|
|
ANSIBLE_STDOUT_CALLBACK: yaml
|
|
ANSIBLE_CALLBACKS_ENABLED: profile_tasks
|
|
inventory:
|
|
links:
|
|
hosts: "${MOLECULE_EPHEMERAL_DIRECTORY}/inventory/hosts.yml"
|
|
|
|
dependency:
|
|
name: galaxy
|
|
enabled: false
|
|
|
|
verifier:
|
|
name: ansible
|
|
|
|
lint: |-
|
|
set -e
|
|
ansible-lint
|
|
|
|
scenario:
|
|
name: universal
|
|
test_sequence:
|
|
- dependency
|
|
- cleanup
|
|
- destroy
|
|
- syntax
|
|
- create
|
|
- prepare
|
|
- converge
|
|
- idempotence
|
|
- side_effect
|
|
- verify
|
|
- cleanup
|
|
- destroy
|