feat: Создана папка vault для хранения секретов и улучшена работа с Ansible Vault

- Создана папка 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
This commit is contained in:
2025-10-22 14:02:21 +03:00
parent df97e9d3d4
commit 26a09cd637
10 changed files with 88 additions and 14 deletions

View File

@@ -8,7 +8,7 @@ services:
command: sleep infinity
environment:
DOCKER_HOST: unix:///var/run/docker.sock
ANSIBLE_VAULT_PASSWORD_FILE: /ansible/vault-password.txt
ANSIBLE_VAULT_PASSWORD_FILE: /ansible/vault/.vault
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./molecule:/ansible/molecule
@@ -16,7 +16,8 @@ services:
- ./scripts:/ansible/scripts
- ./reports:/ansible/reports
- ./snapshots:/ansible/snapshots
- ./vault-password.txt:/ansible/vault-password.txt
- ./vault:/ansible/vault
- ./.ansible-lint:/ansible/.ansible-lint
# каталог с ролями (локальный или внешний)
- ${ROLES_DIR:-./roles}:/ansible/roles:ro
working_dir: /ansible