Files
K3S/group_vars/all/vault.yml.example
Sergey Antropoff 225f77598a 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
2026-04-26 18:18:46 +03:00

161 lines
12 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
# Секретные переменные — шифруй через 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_ХЭШ"