Complete training workflow and acceptance hardening

This commit is contained in:
andreysk0304 2026-09-26 18:12:27 +03:00 • committed by gglamer
commit 7237265833
243 changed files with 17014 additions and 1500 deletions

View file

@ -1,7 +1,15 @@
# Скопировать в .env. Файл в .gitignore: ключи в репозиторий не едут.
BIND_HOST=127.0.0.1
POSTGRES_PORT=5432
# Development profile defaults to lct. Before production/offline deployment,
# generate a unique URL-safe value: python -c "import secrets; print(secrets.token_urlsafe(32))"
POSTGRES_PASSWORD=
BACKEND_PORT=8000
# Per-backend PostgreSQL connection pool (cluster default budget: 60 total).
DB_POOL_SIZE=20
DB_POOL_MAX_OVERFLOW=10
# Stable node identity; set a distinct value for each explicit backend node.
BACKEND_NODE_ID=backend-01
FRONTEND_PORT=5173
TLS_PORT=5443
TLS_CERT_DIR=./.local/tls
@ -53,4 +61,23 @@ OFFLINE=true
SECURE_COOKIES=false
# Необязательно для Compose: если пусто, стойкий случайный ключ создаётся в
# volume securitydata. На управляемом стенде можно задать свой 48+ байтный ключ.
# Compose generates this in its persistent securitydata volume if left blank.
# If managed explicitly, use at least 32 random characters.
SESSION_SECRET=
# Необязательный AD/LDAP: требует LDAPS или StartTLS и проверку сертификата.
# Для включения задайте ldap(s)://url, base DN, bind-учётку и явные группы.
# Ключи LDAP_ROLE_GROUPS — DN групп, значения: admin/instructor/trainee.
# LDAP_SERVICE_GROUPS связывает DN групп курсантов с названием службы ДДС.
LDAP_ENABLED=false
LDAP_URL=
LDAP_BASE_DN=
LDAP_BIND_DN=
LDAP_BIND_PASSWORD=
LDAP_USER_FILTER=(objectClass=person)
LDAP_LOGIN_ATTRIBUTE=sAMAccountName
LDAP_ROLE_GROUPS={}
LDAP_SERVICE_GROUPS={}
# Путь к доверенному внутреннему CA внутри контейнера или локального backend.
LDAP_CA_CERTS_FILE=
LDAP_CONNECT_TIMEOUT_SECONDS=5