Molecule тесты для всех аддонов и кластерный topology тест: Аддоны (Helm lint + template + assertions): - addons/technitium-dns/role/molecule/ — Primary/Secondary DNS, CronJob, kube-vip - addons/authelia/role/molecule/ — OIDC clients, access_control, manifests - addons/ingress-proxypass/role/molecule/ — proxies, Service/Endpoints/Ingress - addons/ingress-add-domains/role/molecule/ — entries, Ingress per namespace - addons/yandex-dns-controller/role/molecule/ — CronJob, ConfigMap, RBAC Кластер: - molecule/cluster/ — 3 master (embedded etcd HA) + 2 worker topology тест Инфраструктура: - scripts/molecule-report.py — генератор HTML отчётов из JUnit XML (читает /tmp/molecule-junit/*.xml → /tmp/molecule-report.html) - requirements-python.txt — комментарий к отчётному блоку - docker/entrypoint.sh — добавлены команды molecule-addon, molecule-cluster, molecule-report с автоматическим включением junit callback - Makefile — targets: molecule-cluster, molecule-addon-*, molecule-addon-all, molecule-report; molecule-all генерирует HTML отчёт - docs/molecule-testing.md — полная документация всех сценариев - docs/addons.md — добавлены technitium-dns и authelia в таблицу аддонов
33 lines
1.2 KiB
Plaintext
33 lines
1.2 KiB
Plaintext
# Ansible core + плагины для K3S стека
|
|
ansible-core>=2.16,<2.18
|
|
ansible>=9.0.0
|
|
|
|
# Kubernetes / Helm модули
|
|
kubernetes>=28.1.0
|
|
openshift>=0.13.2
|
|
|
|
# Утилиты
|
|
jinja2>=3.1.0
|
|
pyyaml>=6.0
|
|
netaddr>=0.10.0 # для ansible.utils.ipaddr
|
|
dnspython>=2.4.0 # для DNS lookup плагинов
|
|
cryptography>=41.0.0 # для Ansible Vault
|
|
|
|
# Docker API (для Molecule docker driver + основной runner)
|
|
docker>=7.0.0
|
|
|
|
# ─── Molecule (тестирование ролей) ────────────────────────────────────────────
|
|
molecule>=6.0.3
|
|
molecule-plugins[docker]>=23.5.3
|
|
|
|
# Линтинг
|
|
ansible-lint>=24.2.0
|
|
yamllint>=1.35.0
|
|
|
|
# Цветной вывод
|
|
rich>=13.0.0
|
|
|
|
# ─── Molecule HTML отчёты ────────────────────────────────────────────────────
|
|
# molecule-report.py читает JUnit XML и генерирует HTML без внешних зависимостей
|
|
# (используется только встроенный xml.etree.ElementTree + html)
|