61 lines
2.6 KiB
YAML
61 lines
2.6 KiB
YAML
# docker-compose.yml — Ansible Runner для K3S стека
|
||
# Использование: управляется через Makefile (make install, make health, ...)
|
||
# Прямой запуск: docker compose run --rm ansible install
|
||
|
||
version: "3.8"
|
||
|
||
services:
|
||
ansible:
|
||
build:
|
||
context: .
|
||
dockerfile: Dockerfile
|
||
args:
|
||
HELM_VERSION: "3.14.4"
|
||
KUBECTL_VERSION: "v1.29.3"
|
||
image: k3s-ansible:latest
|
||
container_name: k3s-ansible-runner
|
||
|
||
# ── Volumes ──────────────────────────────────────────────────────────────
|
||
volumes:
|
||
# Весь проект — монтируется внутрь контейнера
|
||
- .:/ansible
|
||
|
||
# SSH ключи с хост-машины (read-only)
|
||
- ${SSH_KEY_PATH:-~/.ssh}:/root/.ssh:ro
|
||
|
||
# Vault-пароль файл (опционально)
|
||
# - ./.vault_pass:/ansible/.vault_pass:ro
|
||
|
||
# ── Переменные окружения ──────────────────────────────────────────────────
|
||
environment:
|
||
# Пароль vault — задай в .env файле или передай через командную строку
|
||
VAULT_PASSWORD: ${VAULT_PASSWORD:-}
|
||
|
||
# Уровень подробности вывода (0 = обычный, 1-4 = debug)
|
||
ANSIBLE_VERBOSITY: ${ANSIBLE_VERBOSITY:-0}
|
||
|
||
# Теги для запуска (пусто = все)
|
||
ANSIBLE_TAGS: ${ANSIBLE_TAGS:-}
|
||
ANSIBLE_SKIP_TAGS: ${ANSIBLE_SKIP_TAGS:-}
|
||
|
||
# Дополнительные переменные
|
||
EXTRA_VARS: ${EXTRA_VARS:-}
|
||
|
||
# Версия K3S для upgrade
|
||
VERSION: ${VERSION:-}
|
||
|
||
# Ansible настройки
|
||
ANSIBLE_FORCE_COLOR: "1"
|
||
ANSIBLE_HOST_KEY_CHECKING: "False"
|
||
ANSIBLE_STDOUT_CALLBACK: "yaml"
|
||
|
||
# ── Рабочая директория ────────────────────────────────────────────────────
|
||
working_dir: /ansible
|
||
|
||
# ── Сеть: хост (нужен для SSH до серверов в локальной сети) ──────────────
|
||
network_mode: host
|
||
|
||
# ── Интерактивный режим (нужен для --ask-vault-pass) ─────────────────────
|
||
stdin_open: true
|
||
tty: true
|