> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 2. 네임스페이스 및 시크릿 생성

> Ayakaleaf Pro에 필요한 네임스페이스와 시크릿을 생성합니다.

모든 리소스는 네임스페이스 `overleaf`에 들어갑니다.

```bash theme={null}
kubectl create namespace overleaf
```

Ayakaleaf Pro는 환경 변수에서 시크릿을 읽습니다. 시크릿을 한 번 생성하여 Secret에 보관하세요.

```bash wrap theme={null}
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` | 내부 기록 시크릿. 두 값은 반드시 **같아야** 합니다. |

> [!WARNING]
>
> Secret(`kubectl -n overleaf get secret overleaf-secrets -o yaml`)을 데이터와 함께 백업하세요. MongoDB에서 토큰을 암호화하는 기능은 이 Secret에 자체 암호화 비밀번호도 필요합니다. 예를 들어 [GitHub 동기화](https://ayakaleaf-pro.mintlify.site/ko/on-premises/configuration/overleaf-toolkit/integrations/github-synchronisation.md)의 `GITHUB_TOKEN_CIPHER_PASSWORD`가 있습니다.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.