Molecule и CI: единая схема тестов для аддонов и удобные параллельные прогоны
Makefile - Уникальные имена контейнеров на каждый вызов make (ANSIBLE_RUN_ID); переопределение через ANSIBLE_CONTAINER_NAME / MOLECULE_CONTAINER_NAME; отдельное имя для Molecule, чтобы k3s-ansible и molecule не конфликтовали. - Старые цели molecule-prometheus и molecule-istio переведены на molecule-addon (prometheus-stack, istio); добавлены явные molecule-addon-prometheus-stack и molecule-addon-istio; в molecule-addon-all включены prometheus-stack и istio (полный набор аддонов), скорректированы подписи. - Phony-таргет dashboard (без внесения кода в dashboard/ в этот коммит). Сценарии Molecule (converge/verify) — десятки аддонов - Добавлены/выровнены переменные и шаблоны под текущие роли (harbor, hysteria2, ingress-*, jenkins, mediaserver, netbird, nextcloud, splitgw, vault, vaultwarden и др.). - Helm/файлы на хост: delegate_to: localhost, run_once где уместно (technitium-dns, yandex-dns-controller); verify на localhost для file-based проверок. - Уточнения проверок: metrics-server, minio, promtail, pushgateway, velero (bool из фактов/строк), splitgw (JSON, поиск портов/DNS-правил в структуре). - В meta ролей: prometheus_stack + namespace, istio + namespace; у istio согласованы converge/verify (в т.ч. метрики, ослаблены жёсткие assert под шаблоны Kiali). - csi-nfs: комментарий к volume_binding_mode (Immediate / WaitForFirstConsumer). Инфраструктура - .gitignore: каталог dashboard/ (локальная копия не в репозитории). - docker-compose: убрано фиксированное container_name для параллельных ; TZ по умолчанию Europe/Moscow. - roles/k3s/tasks/prereqs.yml: повторные попытки update_cache и apt install при кратковременных сбоях зеркал/сети.
This commit is contained in:
@@ -13,7 +13,9 @@ services:
|
||||
HELM_VERSION: "3.14.4"
|
||||
KUBECTL_VERSION: "v1.29.3"
|
||||
image: k3s-ansible:latest
|
||||
container_name: k3s-ansible-runner
|
||||
# container_name намеренно не задаём: так можно параллелить
|
||||
# `docker compose run --rm ansible ...` — имена не конфликтуют.
|
||||
# При необходимости задать префикс: COMPOSE_PROJECT_NAME=stack1 docker compose run ...
|
||||
|
||||
# ── Volumes ──────────────────────────────────────────────────────────────
|
||||
volumes:
|
||||
@@ -28,6 +30,7 @@ services:
|
||||
|
||||
# ── Переменные окружения ──────────────────────────────────────────────────
|
||||
environment:
|
||||
TZ: ${TZ:-Europe/Moscow}
|
||||
# Пароль vault — задай в .env файле или передай через командную строку
|
||||
VAULT_PASSWORD: ${VAULT_PASSWORD:-}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user