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.
