overleaf:
kubectl create namespace overleaf
HISTORY=$(openssl rand -hex 32)
kubectl -n overleaf create secret generic overleaf-secrets \
--from-literal=OVERLEAF_INVITE_TOKEN_SECRET="$(openssl rand -base64 32)" \
--from-literal=OVERLEAF_SESSION_SECRET="$(openssl rand -hex 32)" \
--from-literal=WEB_API_PASSWORD="$(openssl rand -hex 32)" \
--from-literal=STAGING_PASSWORD="$HISTORY" \
--from-literal=V1_HISTORY_PASSWORD="$HISTORY" \
--from-literal=CRYPTO_RANDOM="$(openssl rand -hex 32)" \
--from-literal=OT_JWT_AUTH_KEY="$(openssl rand -hex 32)"
| Секрет | Зачем |
|---|---|
OVERLEAF_INVITE_TOKEN_SECRET | Обязателен. Без него под останавливается с ошибкой «Missing required secrets». Его изменение делает недействительными ожидающие приглашения в проекты. |
OVERLEAF_SESSION_SECRET | Подписывает cookie сеансов. Без него каждый перезапуск пода приводит к выходу всех пользователей из системы. |
WEB_API_PASSWORD, CRYPTO_RANDOM, OT_JWT_AUTH_KEY | Внутренние секреты. Если они отсутствуют, контейнер генерирует их при каждом запуске; при нескольких репликах все реплики должны использовать общие значения. |
STAGING_PASSWORD и V1_HISTORY_PASSWORD | Внутренний секрет истории; оба должны иметь одинаковое значение. |
Создавайте резервную копию Secret (
kubectl -n overleaf get secret overleaf-secrets -o yaml) вместе с данными. Функциям, которые шифруют токены в MongoDB, тоже нужны собственные пароли шифрования в этом Secret, например GITHUB_TOKEN_CIPHER_PASSWORD для синхронизации с GitHub.
