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 | 세션 쿠키에 서명합니다. 없으면 파드가 재시작될 때마다 모든 사용자가 로그아웃됩니다. |
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 동기화의 GITHUB_TOKEN_CIPHER_PASSWORD가 있습니다.
