- defaults: добавить mediaserver_hysteria2_url (приоритет над server/auth/obfs)
- tasks: парсинг URL через python3 urlparse → set_fact переопределяет отдельные переменные
- vault.yml.example: vault_hysteria2_url с примером, оба способа задокументированы
- README: способ 1 теперь реальный — одна строка в vault, всё разбирается автоматически
- 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
Harbor (harbor/harbor, авто-версия):
- Values-шаблон с полной конфигурацией expose/ingress/tls/persistence
- external DB при addon_postgresql=true (Job для создания user/db)
- internal PostgreSQL + Redis в противном случае
- Метрики + ServiceMonitor при addon_prometheus_stack=true
Gitea (gitea-charts/gitea, авто-версия):
- Values-шаблон, встроенный PostgreSQL отключается при addon_postgresql=true
- Job для создания dedicated user/db в shared PostgreSQL
- Опциональный SSH NodePort (gitea_ssh_enabled)
- ServiceMonitor при addon_prometheus_stack=true
ownCloud OCIS (owncloud/ocis, авто-версия):
- Values-шаблон с insecure-режимом для HTTP
- Persistence для storageusers/storagesystem/nats/search/thumbnails
- Пароль admin через extraEnv IDM_ADMIN_PASSWORD
- ServiceMonitor при addon_prometheus_stack=true
Nextcloud (nextcloud/nextcloud, авто-версия):
- Values-шаблон, external PostgreSQL при addon_postgresql=true
- Job для создания dedicated user/db в shared PostgreSQL
- Встроенный Redis для file locking
- nextcloud-exporter (metrics sidecar) + ServiceMonitor
- Cron-задача для фоновых операций
Авто-версия: helm search repo ... --output json | from_json[0].version
Применяется при version: "" — переопределяется через ARGS="-e *_version=X.Y.Z"
Базы данных:
- addons/postgresql: Bitnami PostgreSQL (Helm), vault_postgresql_*
- addons/mysql: Bitnami MySQL (Helm), vault_mysql_*
Объектное хранилище и backup:
- addons/minio: Bitnami MinIO в distributed режиме (4 ноды по умолчанию)
- addons/velero: backup кластера через Velero + MinIO как S3 backend;
bucket создаётся автоматически через mc Job; daily schedule 02:00
Безопасность:
- addons/crowdsec: CrowdSec LAPI + DaemonSet агенты, мониторит ingress-nginx;
опциональный nginx bouncer (crowdsec_nginx_bouncer_enabled: true)
Резервное копирование БД:
- addons/databasus: OCI chart, автоматически подключается к addon_postgresql
и addon_mysql когда те включены (shared endpoint через postgresql_external_host
и mysql_external_host)
Общее:
- group_vars/all/addons.yml: флаги addon_* + конфиги для всех 6 аддонов;
shared DB endpoints postgresql_external_host / mysql_external_host
- group_vars/all/vault.yml.example: примеры паролей для всех аддонов
- Makefile: targets addon-postgresql/mysql/databasus/minio/velero/crowdsec