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
161 lines
12 KiB
Plaintext
161 lines
12 KiB
Plaintext
---
|
||
# Секретные переменные — шифруй через ansible-vault!
|
||
#
|
||
# Создание зашифрованного файла:
|
||
# ansible-vault create group_vars/all/vault.yml
|
||
#
|
||
# Редактирование:
|
||
# ansible-vault edit group_vars/all/vault.yml
|
||
#
|
||
# Запуск плейбука с vault:
|
||
# ansible-playbook site.yml --ask-vault-pass
|
||
# ansible-playbook site.yml --vault-password-file ~/.vault_pass
|
||
|
||
# ─── K3S ──────────────────────────────────────────────────────────────────────
|
||
vault_k3s_token: "ЗАМЕНИ_НА_НАДЁЖНЫЙ_СЕКРЕТНЫЙ_ТОКЕН_МИН_32_СИМВОЛА"
|
||
|
||
# ─── PostgreSQL ────────────────────────────────────────────────────────────────
|
||
vault_postgresql_postgres_password: "changeme-postgres" # пароль суперпользователя postgres
|
||
vault_postgresql_password: "changeme-app" # пароль пользователя postgresql_auth_username
|
||
|
||
# ─── MySQL ─────────────────────────────────────────────────────────────────────
|
||
vault_mysql_root_password: "changeme-root" # пароль root
|
||
vault_mysql_password: "changeme-app" # пароль пользователя mysql_auth_username
|
||
|
||
# ─── Prometheus / Grafana ──────────────────────────────────────────────────────
|
||
vault_grafana_user: "admin"
|
||
vault_grafana_password: "changeme-grafana"
|
||
|
||
# ─── Istio / Kiali ─────────────────────────────────────────────────────────────
|
||
# Заполняется после первой установки Istio:
|
||
# kubectl -n istio-system create token kiali --duration=8760h
|
||
vault_kiali_token: ""
|
||
|
||
# ─── MinIO ─────────────────────────────────────────────────────────────────────
|
||
vault_minio_root_user: "admin"
|
||
vault_minio_root_password: "changeme-minio"
|
||
|
||
# ─── Velero (использует addon_minio как S3 backend) ───────────────────────────
|
||
# Обычно те же значения что vault_minio_root_user / vault_minio_root_password
|
||
vault_velero_s3_access_key: "admin" # = vault_minio_root_user
|
||
vault_velero_s3_secret_key: "changeme-minio" # = vault_minio_root_password
|
||
|
||
# ─── Databasus ─────────────────────────────────────────────────────────────────
|
||
vault_databasus_db_password: "changeme-databasus" # пароль для user/db databasus в PostgreSQL
|
||
|
||
# ─── CrowdSec ──────────────────────────────────────────────────────────────────
|
||
# Ключ энролмента — получить на https://app.crowdsec.net → My Instances → +
|
||
# Оставь пустым для оффлайн-режима (без Central API)
|
||
vault_crowdsec_enroll_key: ""
|
||
|
||
# ─── Harbor ────────────────────────────────────────────────────────────────────
|
||
vault_harbor_admin_password: "Harbor12345" # мин. 8 символов, латиница+цифры
|
||
vault_harbor_db_password: "changeme-harbor" # пароль user 'harbor' в PostgreSQL
|
||
|
||
# ─── Gitea ─────────────────────────────────────────────────────────────────────
|
||
vault_gitea_admin_password: "changeme-gitea"
|
||
vault_gitea_db_password: "changeme-gitea-db" # пароль user 'gitea' в PostgreSQL
|
||
|
||
# ─── ownCloud OCIS ─────────────────────────────────────────────────────────────
|
||
vault_owncloud_admin_password: "changeme-owncloud"
|
||
|
||
# ─── Nextcloud ─────────────────────────────────────────────────────────────────
|
||
vault_nextcloud_admin_password: "changeme-nextcloud"
|
||
vault_nextcloud_db_password: "changeme-nextcloud-db" # пароль user 'nextcloud' в PostgreSQL
|
||
|
||
# ─── Vaultwarden ───────────────────────────────────────────────────────────────
|
||
vault_vaultwarden_admin_token: "9R*eQ;G1M#)+Uw(afhoJ" # токен для /admin панели
|
||
vault_vaultwarden_smtp_password: "fntwztnkacanpbwa" # пароль SMTP (Yandex App Password)
|
||
|
||
# ─── CSI GlusterFS / Heketi ────────────────────────────────────────────────────
|
||
vault_glusterfs_heketi_secret: "changeme-heketi" # пароль Heketi admin
|
||
|
||
# ─── SMTP Relay ────────────────────────────────────────────────────────────────
|
||
vault_smtp_relay_password: "fntwztnkacanpbwa" # Yandex App Password для sergey@antropoff.ru
|
||
|
||
# ─── HashiCorp Vault (auto-unseal: aws) ────────────────────────────────────────
|
||
# Используется только при vault_auto_unseal_type: aws
|
||
vault_aws_kms_access_key: "" # AWS IAM Access Key ID
|
||
vault_aws_kms_secret_key: "" # AWS IAM Secret Access Key
|
||
|
||
# Vault Transit Seal (vault_auto_unseal_type: transit)
|
||
vault_transit_seal_token: "" # token для доступа к transit engine другого Vault
|
||
|
||
# Azure Key Vault unseal (vault_auto_unseal_type: azure)
|
||
vault_azure_kv_client_secret: ""
|
||
|
||
# ─── External Secrets Operator → HashiCorp Vault ───────────────────────────────
|
||
# Получить после шага 6 в addons/external-secrets/README.md:
|
||
# vault write -f -field=secret_id auth/approle/role/eso-role/secret-id
|
||
vault_eso_approle_secret_id: "" # AppRole Secret ID для ESO → Vault
|
||
|
||
# ─── Jenkins ───────────────────────────────────────────────────────────────────
|
||
vault_jenkins_admin_password: "changeme-jenkins"
|
||
|
||
# ─── NetBird VPN ───────────────────────────────────────────────────────────────
|
||
vault_netbird_coturn_password: "changeme-coturn" # пароль TURN credentials
|
||
vault_netbird_router_setup_key: "" # Setup Key из NetBird Management UI → Setup Keys
|
||
vault_netbird_exit_node_setup_key: "" # Setup Key для exit node (можно тот же что router)
|
||
|
||
# ─── MediaServer ───────────────────────────────────────────────────────────────
|
||
# Plex claim token — получить на https://plex.tv/claim (действует 4 минуты)
|
||
# После первого деплоя оставить пустым (сервер уже привязан к аккаунту)
|
||
vault_plex_claim_token: ""
|
||
|
||
# Hysteria2 SOCKS5 прокси (sidecar в Prowlarr)
|
||
#
|
||
# Способ 1 — вставить URL целиком из Shadowrocket / NekoBox / Hiddify:
|
||
# URL генерируется аддоном hysteria2-server автоматически (make addon-hysteria2-server)
|
||
vault_hysteria2_url: ""
|
||
# Пример: vault_hysteria2_url: "hysteria2://mypassword@vps.example.com:443?insecure=1&obfs=salamander&obfs-password=secret"
|
||
#
|
||
# Способ 2 — указать параметры по отдельности (если vault_hysteria2_url пустой):
|
||
vault_hysteria2_server: "your-hysteria2-server.example.com:443" # host:port
|
||
vault_hysteria2_auth: "your-hysteria2-password" # пароль аутентификации
|
||
|
||
# ─── Hysteria2 VPN сервер (аддон hysteria2-server) ────────────────────────────
|
||
# Пароль для клиентов, подключающихся к VPS
|
||
vault_hysteria2_server_password: "changeme-hysteria2-server"
|
||
# Пароль obfuscation salamander (если hysteria2_server_obfs_enabled: true)
|
||
vault_hysteria2_obfs_password: ""
|
||
|
||
# Samba LAN-шара
|
||
vault_samba_password: "changeme-samba"
|
||
|
||
# Transmission пароль веб-интерфейса
|
||
vault_transmission_password: "changeme-transmission"
|
||
|
||
# ─── Yandex 360 DNS Controller ────────────────────────────────────────────────
|
||
# org_id: https://admin.yandex.ru/company-profile
|
||
# token: создай приложение на https://oauth.yandex.ru/ (scope: Управление записями DNS)
|
||
# затем: https://oauth.yandex.ru/authorize?response_type=token&client_id={CLIENT_ID}
|
||
yandex_dns:
|
||
org_id: "3312086"
|
||
token: "y0_ЗАМЕНИ_НА_OAUTH_ТОКЕН"
|
||
|
||
# ── 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_ХЭШ"
|