- Создана папка vault/ для хранения всех секретов - Перенесен vault-password.txt в vault/.vault - Обновлены все команды vault для работы с новой структурой: - make vault show/create/edit/delete/rekey/decrypt/encrypt - Все команды теперь работают с vault/secrets.yml - Пароль хранится в vault/.vault Обновления в docker-compose.yaml: - Добавлено монтирование папки vault в контейнер - Обновлена переменная ANSIBLE_VAULT_PASSWORD_FILE на /ansible/vault/.vault - Добавлено монтирование .ansible-lint для корректной работы lint Обновления в Makefile: - VAULT_PASSWORD_FILE теперь указывает на vault/.vault - Все vault команды обновлены для работы с vault/secrets.yml - Команда clean теперь удаляет папку vault/ Обновления в .ansible-lint: - Добавлены exclude_paths для исключения проблемных файлов - Исключены molecule/universal/ и files/playbooks/ из проверки - Это решает проблемы с Docker модулями в lint Проверка работы vault: - Создан тестовый файл vault/secrets.yml с секретами - Проверена корректность шифрования/расшифровки - Создан тестовый playbook для проверки работы с vault - Все команды vault работают корректно Обновления в документации: - README.md: добавлена информация о папке vault/ - docs/api.md: обновлены настройки ansible-lint с exclude_paths Преимущества: - Централизованное хранение всех секретов в папке vault/ - Безопасное хранение паролей в скрытом файле .vault - Корректная работа lint без ошибок с Docker модулями - Автоматическое использование vault паролей во всех операциях Автор: Сергей Антропов Сайт: https://devops.org.ru
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| version: "3.9"
 | ||
| 
 | ||
| services:
 | ||
|   ansible-controller:
 | ||
|     image: quay.io/ansible/creator-ee:latest
 | ||
|     container_name: ansible-controller
 | ||
|     privileged: true
 | ||
|     command: sleep infinity
 | ||
|     environment:
 | ||
|       DOCKER_HOST: unix:///var/run/docker.sock
 | ||
|       ANSIBLE_VAULT_PASSWORD_FILE: /ansible/vault/.vault
 | ||
|     volumes:
 | ||
|       - /var/run/docker.sock:/var/run/docker.sock
 | ||
|       - ./molecule:/ansible/molecule
 | ||
|       - ./files:/ansible/files
 | ||
|       - ./scripts:/ansible/scripts
 | ||
|       - ./reports:/ansible/reports
 | ||
|       - ./snapshots:/ansible/snapshots
 | ||
|       - ./vault:/ansible/vault
 | ||
|       - ./.ansible-lint:/ansible/.ansible-lint
 | ||
|       # каталог с ролями (локальный или внешний)
 | ||
|       - ${ROLES_DIR:-./roles}:/ansible/roles:ro
 | ||
|     working_dir: /ansible
 | ||
| 
 | ||
|   # Обратная совместимость
 | ||
| #  ansible:
 | ||
| #    image: inecs/ansible:latest
 | ||
| #    container_name: ansible
 | ||
| #    volumes:
 | ||
| #      - .:/ansible
 | ||
| #      - /var/run/docker.sock:/var/run/docker.sock
 | ||
| #    environment:
 | ||
| #      - ANSIBLE_VAULT_PASSWORD_FILE=./vault-password.txt
 | ||
| #    tty: true
 | ||
| #    privileged: true
 | ||
| #    working_dir: /ansible |