- Создана папка 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 |