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

# Kubernetes

> Налаштування розгортання Kubernetes - куди потрапляють налаштування, секрети й файли, а також окрема сторінка для кожної функції.

Розгортання Kubernetes зчитує ті самі змінні середовища, що й Toolkit. Там, де сторінка Toolkit каже «додайте це до `config/variables.env`», додайте значення до ConfigMap `overleaf-env` або до Secret `overleaf-secrets`, якщо це пароль, ключ чи токен. Потім перезапустіть:

```bash theme={null}
kubectl -n overleaf apply -f 30-config.yaml        # after editing the ConfigMap
kubectl -n overleaf patch secret overleaf-secrets --type merge \
  -p '{"stringData":{"GITHUB_TOKEN_CIPHER_PASSWORD":"'"$(openssl rand -hex 32)"'"}}'
kubectl -n overleaf rollout restart deployment/overleaf
```

Значення в `config/overleaf.rc` — це налаштування Toolkit, а не змінні середовища; що їх замінює, описано в розділі «Запитання та відповіді» наприкінці цієї сторінки.

### Функції

Для кожної функції конфігурації Toolkit тут є сторінка з її службами, налаштуваннями, мережевими шляхами, фоновими завданнями, тим, що змінюється за кількох реплік, і тим, як її було перевірено:

| Функція | Служби в поді | Окрім ConfigMap і Secret |
| - | - | - |
| [Автентифікація](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/authentication): [OIDC](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/authentication/oidc-authentication.md), [SAML](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/authentication/saml-authentication.md), [LDAP](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/authentication/ldap-authentication.md), [Публічний доступ](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/authentication/public-access.md), [reCAPTCHA](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/authentication/recaptcha.md), [Обмеження паролів](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/authentication/password-restrictions.md) | web | секрети клієнтів, сертифікат IdP, CA LDAP |
| [Ізольовані компіляції](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/sandboxed-compiles.md) | clsi | Docker Engine і образи TeX Live на кожному вузлі |
| [Імпорт та експорт Pandoc](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/pandoc-import-and-export.md) | clsi, web | образ Pandoc у Docker на кожному вузлі |
| [Інтеграція з Git](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/integrations/git-integration.md) | git-bridge (власний под), web, history-v1 | StatefulSet git-bridge і дві служби Service |
| Синхронізація з [GitHub](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/integrations/github-synchronisation.md), [GitLab](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/integrations/gitlab-synchronisation.md), [Gitea](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/integrations/gitea-synchronisation.md) | web | Інтеграція з Git |
| [Синхронізація з Dropbox](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/integrations/dropbox-synchronisation.md) | web, third-party-datastore, document-updater | Інтеграція з Git, webhook, доступний з інтернету, індекси бази даних |
| Інтеграція з [Zotero](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/integrations/zotero-integration.md), [Mendeley](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/integrations/mendeley-integration.md) | web | пароль шифрування в Secret |
| [MCP-сервер](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/integrations/mcp-server.md) | web | Інтеграція з Git |
| [Інтеграція ШІ](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/integrations/ai-integration.md) | web, linked-url-proxy | – |
| [Overleaf Import API](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/integrations/overleaf-import-api.md) | web, linked-url-proxy | – |
| [Шаблони](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/templates.md) | web, filestore | S3 для кількох реплік |
| [Зовнішня URL-адреса](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/external-url.md) | linked-url-proxy | публічні адреси вузлів в `OVERLEAF_LINKED_URL_BLOCKED_NETWORKS` |
| [Журналювання](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/logging.md) | кожна служба | том у `/var/log/overleaf` для збереження журналів |
| [TLS-проксі](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/tls-proxy.md) | ваш ingress або балансувальник навантаження | TLS завершується перед подами |
| [Брендування](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/branding.md) | web | – |
| [Локалізація](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/localization.md) | web | одне ім'я хоста для кожної мови |
| [Доставка електронної пошти](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/email-delivery.md) | web | – |
| [Redis](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/redis.md) | кожна служба з активним станом | – |
| [S3](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/s3.md) | history-v1, filestore | служба S3, обов'язкова для кількох реплік |
| [Додавання довідки LaTeX для користувачів](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/adding-latex-user-help.md) | web | поди мають мати доступ до wiki |
| [Горизонтальне масштабування](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/horizontal-scaling.md) | усі | S3, балансувальник навантаження з липкими сесіями |

### Сертифікати та інші файли

Деякі функції приймають шлях до файлу замість значення: сертифікати SAML (`OVERLEAF_SAML_IDP_CERT`, ...), CA LDAP (`OVERLEAF_LDAP_TLS_OPTS_CA_PATH`) або приватний CA для власного GitHub Enterprise, GitLab чи Gitea (`NODE_EXTRA_CA_CERTS`). Додайте файли до Secret і змонтуйте його туди, де їх очікують сторінки Toolkit, — у `/var/lib/overleaf/certs`:

```bash theme={null}
kubectl -n overleaf create secret generic overleaf-certs --from-file=idp_cert.pem --from-file=ca.pem
```

```yaml title="40-overleaf.yaml (additions)" theme={null}
          volumeMounts:
            # ...
            - name: certs
              mountPath: /var/lib/overleaf/certs
              readOnly: true
      volumes:
        # ...
        - name: certs
          secret:
            secretName: overleaf-certs
```

Потім посилайтеся на них за шляхом у ConfigMap, наприклад `NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem`, і перезапустіть.

> [!WARNING]
>
> **Паролі шифрування.** Задайте в Secret кожен `*_CIPHER_PASSWORD` функцій, якими ви користуєтеся. Інакше деякі функції під час першого використання генерують файл ключа на томі даних: з однією реплікою це працює, доки том не буде втрачено, а з кількома репліками кожна репліка шифрувала б іншим ключем.

### Запитання та відповіді

> [accordion] Які налаштування Toolkit з `config/overleaf.rc` мені потрібні?
>
> **Відповідь:** Жодне з них Ayakaleaf Pro не зчитує. Їхні відповідники в Kubernetes:
>
> | `config/overleaf.rc` | Kubernetes |
> | - | - |
> | `OVERLEAF_LISTEN_IP`, `OVERLEAF_PORT` | Service (NodePort) або ваш ingress |
> | `SIBLING_CONTAINERS_ENABLED` | `SANDBOXED_COMPILES*` у ConfigMap, сокет Docker у поді |
> | `GIT_BRIDGE_ENABLED` | [Інтеграція з Git](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/integrations/git-integration.md) |
> | `MONGO_ENABLED`, `REDIS_ENABLED`, `MONGO_URL`, `REDIS_HOST` | StatefulSet або ваші керовані служби, `OVERLEAF_MONGO_URL` і `OVERLEAF_REDIS_HOST` |
> | `REDIS_AOF_PERSISTENCE` | `--appendonly yes` у `20-redis.yaml` |
> | `NGINX_ENABLED`, `TLS_*` | ваш ingress або балансувальник навантаження |


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