feat: добавить аддон authelia — SSO forward-auth и OIDC provider
Helm chart + Ansible role для Authelia 4.38: - Forward-auth для ingress-nginx через аннотации auth-url/auth-signin - OIDC provider: Gitea, Grafana, ArgoCD, MinIO, Vault, Nextcloud - SQLite default или PostgreSQL; опциональный Redis для сессий - RSA ключ OIDC генерируется автоматически если не задан в vault - ConfigMap authelia-forward-auth с готовыми аннотациями для любого сервиса - README: install, users, protect service, OIDC per-service, debug, test
This commit is contained in:
@@ -45,6 +45,7 @@ addon_ingress_proxypass: false # External Services Ingress Proxy —
|
||||
addon_ingress_add_domains: false # Ingress-only — добавить домены к существующим сервисам кластера
|
||||
addon_yandex_dns_controller: false # Yandex 360 DNS controller — управление DNS через ConfigMap (safe mode)
|
||||
addon_technitium_dns: false # Technitium DNS HA — Primary+Secondary с kube-vip LB, зональный sync
|
||||
addon_authelia: false # Authelia SSO — Forward-auth + OIDC provider для всех сервисов
|
||||
|
||||
# ─── NFS Server ───────────────────────────────────────────────────────────────
|
||||
nfs_exports:
|
||||
@@ -381,6 +382,32 @@ minio_api_ingress_host: "s3.example.com"
|
||||
# technitium_dns_externaldns_policy: "upsert-only" # sync | upsert-only
|
||||
# technitium_dns_externaldns_txt_owner_id: "k3s-home"
|
||||
|
||||
# ─── Authelia SSO ────────────────────────────────────────────────────────────
|
||||
# Централизованная аутентификация: forward-auth для ingress-nginx + OIDC provider.
|
||||
# Все секреты — в vault.yml (authelia_jwt_secret, authelia_session_secret, и др.)
|
||||
# authelia_host: "auth.home.local" # URL портала авторизации
|
||||
# authelia_domain: "home.local" # базовый домен (session cookie domain)
|
||||
# authelia_two_factor_enabled: false # включить 2FA для защищённых сервисов
|
||||
# authelia_storage_type: "sqlite" # sqlite | postgresql
|
||||
# authelia_redis_enabled: false # Redis для хранения сессий
|
||||
# authelia_smtp_enabled: false # SMTP для сброса пароля и 2FA email
|
||||
# Домены с защитой (forward-auth):
|
||||
# authelia_protected_domains: [sonarr.home.local, radarr.home.local, ...]
|
||||
# authelia_admin_domains: [argocd.home.local, vault.home.local, ...]
|
||||
# authelia_bypass_domains: [plex.home.local]
|
||||
# OIDC клиенты (включить нужные):
|
||||
# authelia_oidc_gitea_enabled: true # + authelia_oidc_secret_gitea в vault
|
||||
# authelia_oidc_grafana_enabled: true # + authelia_oidc_secret_grafana в vault
|
||||
# authelia_oidc_argocd_enabled: false
|
||||
# authelia_oidc_minio_enabled: false
|
||||
# authelia_oidc_vault_enabled: false
|
||||
# Пользователи (хэши паролей — в vault.yml):
|
||||
# authelia_users:
|
||||
# admin:
|
||||
# displayname: "Administrator"
|
||||
# email: "admin@home.local"
|
||||
# groups: [admins, users]
|
||||
|
||||
# ─── etcd backup ──────────────────────────────────────────────────────────────
|
||||
etcd_backup_dir: "{{ k3s_data_dir }}/server/db/snapshots"
|
||||
etcd_backup_retention: 5 # сколько снимков хранить
|
||||
|
||||
@@ -135,3 +135,26 @@ yandex_dns:
|
||||
|
||||
# ── Technitium DNS HA ─────────────────────────────────────────────────────────
|
||||
technitium_dns_admin_password: "ЗАМЕНИ_НА_ПАРОЛЬ" # минимум 8 символов
|
||||
|
||||
# ── Authelia SSO ──────────────────────────────────────────────────────────────
|
||||
# Generate secrets:
|
||||
# openssl rand -base64 64 → jwt_secret, session_secret
|
||||
# openssl rand -base64 32 → storage_encryption_key
|
||||
# openssl rand -base64 48 → oidc_hmac_secret
|
||||
# openssl rand -hex 32 → each OIDC client secret
|
||||
# Generate password hash:
|
||||
# docker run authelia/authelia:latest authelia hash-password 'yourpassword'
|
||||
authelia_jwt_secret: "ЗАМЕНИ_openssl_rand_-base64_64"
|
||||
authelia_session_secret: "ЗАМЕНИ_openssl_rand_-base64_64"
|
||||
authelia_storage_encryption_key: "ЗАМЕНИ_openssl_rand_-base64_32"
|
||||
authelia_oidc_hmac_secret: "ЗАМЕНИ_openssl_rand_-base64_48"
|
||||
authelia_oidc_private_key: "" # оставь пустым — будет сгенерирован автоматически
|
||||
# OIDC client secrets (генерируй для каждого включённого клиента):
|
||||
authelia_oidc_secret_gitea: "ЗАМЕНИ_openssl_rand_-hex_32"
|
||||
authelia_oidc_secret_grafana: "ЗАМЕНИ_openssl_rand_-hex_32"
|
||||
authelia_oidc_secret_argocd: ""
|
||||
authelia_oidc_secret_minio: ""
|
||||
authelia_oidc_secret_vault: ""
|
||||
authelia_oidc_secret_nextcloud: ""
|
||||
# User password hashes (argon2id):
|
||||
authelia_user_admin_password_hash: "ЗАМЕНИ_НА_ARGON2ID_ХЭШ"
|
||||
|
||||
Reference in New Issue
Block a user