Files
K3S/addons/authelia
Sergey Antropoff 38aaadbfb1 docs: sync addon docs with explicit external/internal service modes
Обновлена документация под новые аддоны (gitlab, redis, mongodb, kafka, kafka-ui, rabbitmq) и новую модель явного выбора зависимостей. Добавлены и унифицированы описания переключателей *_database_mode и *_redis_mode, обновлена таблица зависимостей аддонов, примеры конфигурации и список vault-секретов.
2026-04-29 23:21:04 +03:00
..

authelia

Authelia — централизованный сервис аутентификации для Kubernetes: forward-auth для ingress-nginx и OIDC-провайдер для сервисов (Gitea, Grafana, ArgoCD, Vault, MinIO и др.).

Что делает аддон

  • разворачивает Authelia в отдельном namespace;
  • создаёт ingress для портала входа (authelia_host);
  • генерирует/использует конфигурацию доступа по доменам;
  • включает OIDC-клиенты для выбранных сервисов;
  • хранит чувствительные данные в group_vars/all/vault.yml.

Быстрый старт

  1. Включите аддон в group_vars/all/addons.yml:
addon_authelia: true
authelia_host: "auth.home.local"
authelia_domain: "home.local"
  1. Добавьте секреты в group_vars/all/vault.yml:
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_user_admin_password_hash: "$argon2id$..."
  1. Установите аддон:
make addon-authelia

Пример защиты ingress через forward-auth

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: myservice
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/auth-url: "http://authelia.authelia.svc.cluster.local:9091/api/authz/forward-auth"
    nginx.ingress.kubernetes.io/auth-signin: "http://auth.home.local/?rd=$scheme://$host$escaped_request_uri"

Пример OIDC для Grafana

[auth.generic_oauth]
enabled = true
name = Authelia
client_id = grafana
client_secret = <секрет из vault>
scopes = openid profile email groups
auth_url = http://auth.home.local/api/oidc/authorization
token_url = http://auth.home.local/api/oidc/token
api_url = http://auth.home.local/api/oidc/userinfo

Проверка

kubectl -n authelia get pods
kubectl -n authelia logs -l app.kubernetes.io/name=authelia --tail=100

Режим Redis (встроенный или внешний)

Выбор задаётся переменной authelia_redis_mode:

  • auto — внешний Redis при addon_redis: true, иначе встроенный Redis чарта;
  • internal — всегда встроенный Redis;
  • external_redis — всегда внешний Redis (например из addon redis);
  • disabled — без Redis (сессии в памяти).

Официальные ресурсы