> ## 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` | 必要。若未設定，Pod 會停止並顯示「Missing required secrets」。變更此值會使尚未接受的專案邀請失效。 |
| `OVERLEAF_SESSION_SECRET` | 用於簽署工作階段 Cookie。若未設定，每次重新啟動 Pod 都會讓所有人登出。 |
| `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/zh-TW/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.