- 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
 |