Обновлена документация под новые аддоны (gitlab, redis, mongodb, kafka, kafka-ui, rabbitmq) и новую модель явного выбора зависимостей. Добавлены и унифицированы описания переключателей *_database_mode и *_redis_mode, обновлена таблица зависимостей аддонов, примеры конфигурации и список vault-секретов.
- 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).
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
при кратковременных сбоях зеркал/сети.
- SMTP Relay (bokysan/mail): Postfix relay через Yandex SMTP, порт 465 с
TLS wrappermode, trusted networks only (pod/service CIDR), без аутентификации
внутри кластера — поды отправляют на smtp-relay:25
- HashiCorp Vault (hashicorp/vault): standalone и HA (Raft) режимы,
auto-unseal: k8s Secret (homelab), AWS KMS, GCP CKMS, Azure Key Vault,
Transit; Vault Agent Injector по умолчанию; Job инициализации + Unsealer
Deployment для k8s режима; README с полным гайдом по injection в YAML/Helm
- External Secrets Operator (ESO): синхронизирует Vault секреты в k8s Secrets,
ClusterSecretStore с AppRole auth, README с примерами ExternalSecret в
YAML манифестах, Helm чартах и ArgoCD
Обновлены: addons.yml (3 новых флага + секции), vault.yml.example
(smtp_relay_password, aws_kms_*, eso_approle_secret_id),
playbooks/addons.yml, Makefile