4 Commits

Author SHA1 Message Date
Sergey Antropoff
dde2fc8a8a docs(config): комментарии к group_vars, host_vars, inventory и defaults аддонов
- group_vars/all/main.yml: пояснения к глобальным настройкам K3S, сети, CNI,
  kube-vip, chrony, ротации сертификатов, сервисным пользователям и пакетам.
- group_vars/all/addons.yml: комментарии над флагами addon_* и активными
  блоками (NFS, CSI NFS, ingress-nginx, cert-manager, Databasus, MinIO,
  etcd backup и др.); исправлена битая строка-разделитель в секции Gitea Actions.
- group_vars/all/vault.yml.example: описание назначения каждого секрета.
- host_vars (master01, worker01, rpi01): пояснения к labels, taints и
  k3s_extra_server_args.
- inventory/hosts.ini: комментарии к группам и строкам нод, пояснение nfs_server;
  исправлена повреждённая линия-разделитель.
- addons/*/role/defaults/main.yml: русские комментарии над переменными
  (в т.ч. Harbor, Authelia, Istio, Prometheus, Vault, Jenkins, DNS-аддоны и др.).
- addons/csi-nfs/role/defaults/main.yml: исправлено имя csi_nfs_reclaim_policy
  (опечатка с кириллической «М» в имени ключа).
Рабочий vault.yml не менялся (секреты / ansible-vault).
2026-04-28 02:32:19 +03:00
Sergey Antropoff
ed44d6418e 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
  при кратковременных сбоях зеркал/сети.
2026-04-28 01:16:05 +03:00
Sergey Antropoff
91299fcc1b test: добавить полное покрытие Molecule + HTML report генератор
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 в таблицу аддонов
2026-04-26 18:57:11 +03:00
Sergey Antropoff
5079975d5e feat: добавить аддон ingress-add-domains — добавить домены к сервисам кластера
Helm chart + Ansible роль, создающие Ingress-only правила для уже существующих
K8s сервисов. Каждый Ingress создаётся в namespace целевого сервиса.

Поддерживает: TLS (cert-manager или готовый Secret), basic auth (автохэш пароля
через openssl passwd -apr1), WebSocket, несколько хостов, per-entry аннотации.
2026-04-26 12:02:41 +03:00