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 | مطلوب. من دونه يتوقف الـ pod مع الرسالة “Missing required secrets”. وتغييره يُبطل دعوات المشاريع المعلّقة. |
OVERLEAF_SESSION_SECRET | يوقّع ملفات تعريف ارتباط الجلسات. من دونه، تؤدي كل إعادة تشغيل للـ pod إلى تسجيل خروج الجميع. |
WEB_API_PASSWORD، CRYPTO_RANDOM، OT_JWT_AUTH_KEY | أسرار داخلية. تولّدها الحاوية عند كل بدء تشغيل إذا كانت مفقودة؛ ومع وجود أكثر من نسخة متماثلة (replica) يجب أن تتشاركها كل النسخ المتماثلة. |
STAGING_PASSWORD وV1_HISTORY_PASSWORD | سرّ داخلي خاص بالسجلّ؛ ويجب أن تكون قيمتاهما متطابقتين. |
انسخ الـ Secret احتياطيًا (
kubectl -n overleaf get secret overleaf-secrets -o yaml) مع بياناتك. تحتاج الميزات التي تشفّر الرموز في MongoDB أيضًا إلى كلمات مرور التشفير الخاصة بها في هذا الـ Secret، على سبيل المثال GITHUB_TOKEN_CIPHER_PASSWORD من أجل المزامنة مع GitHub.
