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

@@ -223,6 +223,10 @@ skip_list:
- yaml[line-length] # Длина строки
- var-naming[no-role-prefix] # Префиксы переменных
- 'ignore-errors' # Игнорирование ошибок
exclude_paths:
- molecule/universal/ # Исключить файлы Molecule
- files/playbooks/ # Исключить playbooks с Docker модулями
```
**Описание пропускаемых правил:**
@@ -233,6 +237,10 @@ skip_list:
- `var-naming[no-role-prefix]` - не требует префиксов для переменных ролей
- `ignore-errors` - позволяет использовать `ignore_errors: yes`
**Исключенные пути:**
- `molecule/universal/` - файлы Molecule с Docker модулями
- `files/playbooks/` - playbooks с Docker Compose модулями
### Port-forward команды
```bash