> ## 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-CN/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.