# AnsibleTemplate - Переменные окружения # Автор: Сергей Антропов # Сайт: https://devops.org.ru # ============================================================================= # ОСНОВНЫЕ НАСТРОЙКИ # ============================================================================= # Название проекта PROJECT_NAME=ansible-lab # Версия проекта VERSION=2.0.0 # Автор проекта AUTHOR="Сергей Антропов" # Сайт автора SITE="https://devops.org.ru" # ============================================================================= # DOCKER НАСТРОЙКИ # ============================================================================= # Docker образ для ansible-controller DOCKER_IMAGE=inecs/ansible-lab:ansible-controller-latest # Docker образ для DinD (Docker-in-Docker) DOCKER_DIND_IMAGE=docker:27-dind # Имя контейнера ansible-controller CONTAINER_NAME=ansible-controller # ============================================================================= # DOCKER HUB НАСТРОЙКИ # ============================================================================= # Docker registry для образов DOCKER_REGISTRY=inecs/ansible-lab # Версия образов DOCKER_VERSION=latest # Список образов для сборки DOCKER_IMAGES=ansible-controller alt-linux astra-linux redos rhel centos alma rocky ubuntu debian # ============================================================================= # MULTI-ARCH НАСТРОЙКИ # ============================================================================= # Поддерживаемые архитектуры DOCKER_PLATFORMS=linux/amd64,linux/arm64 # Имя buildx builder'а DOCKER_BUILDX_BUILDER=multiarch-builder # ============================================================================= # ANSIBLE НАСТРОЙКИ # ============================================================================= # Принудительное использование цветов ANSIBLE_FORCE_COLOR=1 # Callback для вывода ANSIBLE_STDOUT_CALLBACK=yaml # Включенные callback'и ANSIBLE_CALLBACKS_ENABLED=profile_tasks # ============================================================================= # MOLECULE НАСТРОЙКИ # ============================================================================= # Директория для временных файлов Molecule MOLECULE_EPHEMERAL_DIRECTORY=/tmp/molecule_workspace # Preset по умолчанию MOLECULE_PRESET=default # ============================================================================= # VAULT НАСТРОЙКИ # ============================================================================= # Файл пароля для vault VAULT_PASSWORD_FILE=vault/.vault # ID для шифрования vault VAULT_ID=default # ============================================================================= # SSH НАСТРОЙКИ # ============================================================================= # Пользователь для SSH подключения ANSIBLE_USER=devops # SSH ключ для подключения ANSIBLE_SSH_PRIVATE_KEY_FILE=~/.ssh/id_rsa # Дополнительные аргументы SSH ANSIBLE_SSH_COMMON_ARGS='-o StrictHostKeyChecking=no' # Проверка SSH ключей ANSIBLE_HOST_KEY_CHECKING=False # ============================================================================= # ИНВЕНТОРИ НАСТРОЙКИ # ============================================================================= # Файл инвентори по умолчанию ANSIBLE_INVENTORY=inventory/hosts.ini # Путь к ролям ANSIBLE_ROLES_PATH=roles/ # Интерпретатор Python ANSIBLE_INTERPRETER_PYTHON=auto # ============================================================================= # ЛОГИРОВАНИЕ # ============================================================================= # Уровень логирования LOG_LEVEL=INFO # Файл логов LOG_FILE=ansible.log # Максимальный размер лог файла LOG_MAX_SIZE=100M # Количество лог файлов LOG_MAX_FILES=5 # ============================================================================= # УВЕДОМЛЕНИЯ # ============================================================================= # Slack webhook URL для уведомлений SLACK_WEBHOOK_URL= # Teams webhook URL для уведомлений TEAMS_WEBHOOK_URL= # Email для уведомлений NOTIFICATION_EMAIL= # ============================================================================= # МОНИТОРИНГ # ============================================================================= # Интервал мониторинга (в секундах) MONITORING_INTERVAL=300 # Включить мониторинг MONITORING_ENABLED=true # Директория для метрик METRICS_DIRECTORY=metrics # Директория для отчетов REPORTS_DIRECTORY=reports # ============================================================================= # CI/CD НАСТРОЙКИ # ============================================================================= # Ветка по умолчанию DEFAULT_BRANCH=main # Включить автоматическое тестирование AUTO_TEST_ENABLED=true # Включить автоматическое развертывание AUTO_DEPLOY_ENABLED=false # ============================================================================= # БЕЗОПАСНОСТЬ # ============================================================================= # Включить сканирование секретов SECRET_SCANNING_ENABLED=true # Включить проверку уязвимостей VULNERABILITY_SCANNING_ENABLED=true # Включить подписывание образов IMAGE_SIGNING_ENABLED=false # ============================================================================= # ПРОИЗВОДИТЕЛЬНОСТЬ # ============================================================================= # Количество параллельных задач ANSIBLE_FORKS=5 # Таймаут для задач (в секундах) ANSIBLE_TIMEOUT=30 # Включить кеширование ANSIBLE_CACHE_ENABLED=true # ============================================================================= # РАЗРАБОТКА # ============================================================================= # Включить автоматическое создание документации AUTO_DOCS_ENABLED=true # Включить автоматическое обновление playbook'ов AUTO_UPDATE_PLAYBOOKS_ENABLED=true # Включить автоматическое создание скриптов AUTO_CREATE_SCRIPTS_ENABLED=true # ============================================================================= # ОТЛАДКА # ============================================================================= # Включить отладочный режим DEBUG_MODE=false # Включить подробные логи VERBOSE_LOGS=false # Включить профилирование PROFILING_ENABLED=false # ============================================================================= # ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ # ============================================================================= # 1. Копирование файла переменных # cp env.example .env # 2. Редактирование переменных # nano .env # 3. Загрузка переменных # source .env # 4. Использование в Makefile # make docker build DOCKER_REGISTRY=my-registry.com # 5. Использование в Ansible # ansible-playbook site.yml -e "ansible_user=${ANSIBLE_USER}" # ============================================================================= # ПРИМЕЧАНИЯ # ============================================================================= # - Все переменные имеют значения по умолчанию # - Переменные можно переопределить через .env файл # - Переменные можно передавать через командную строку # - Переменные можно задавать через переменные окружения # - Приоритет: командная строка > .env файл > значения по умолчанию