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

> Configureer een Kubernetes-implementatie - waar instellingen, secrets en bestanden terechtkomen, en één pagina per functie.

Een Kubernetes-implementatie leest dezelfde omgevingsvariabelen als de Toolkit. Waar een Toolkit-pagina zegt "voeg dit toe aan `config/variables.env`", zet je de waarde in de ConfigMap `overleaf-env`, of in de Secret `overleaf-secrets` als het om een wachtwoord, sleutel of token gaat. Herstart daarna:

```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
```

Waarden in `config/overleaf.rc` zijn Toolkit-instellingen, geen omgevingsvariabelen; de vragen en antwoorden aan het einde van deze pagina vertellen wat ze vervangt.

### Functies

Elke functie van de Toolkit-configuratie heeft hier een pagina met de bijbehorende services, instellingen, netwerkpaden, achtergrondtaken, wat er verandert bij meerdere replica's, en hoe het is getest:

| Functie | Services in de pod | Naast de ConfigMap en Secret |
| - | - | - |
| [Authenticatie](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/authentication): [OIDC](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/authentication/oidc-authentication.md), [SAML](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/authentication/saml-authentication.md), [LDAP](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/authentication/ldap-authentication.md), [Openbare toegang](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/authentication/public-access.md), [reCAPTCHA](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/authentication/recaptcha.md), [Wachtwoordbeperkingen](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/authentication/password-restrictions.md) | web | client secrets, het IdP-certificaat, de LDAP-CA |
| [Sandboxed Compiles](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/sandboxed-compiles.md) | clsi | Docker Engine en de TeX Live-images op elke node |
| [Pandoc-import en -export](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/pandoc-import-and-export.md) | clsi, web | de Pandoc-image in Docker op elke node |
| [Git-integratie](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/integrations/git-integration.md) | git-bridge (eigen pod), web, history-v1 | de git-bridge-StatefulSet en twee Services |
| [GitHub](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/integrations/github-synchronisation.md)-, [GitLab](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/integrations/gitlab-synchronisation.md)-, [Gitea](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/integrations/gitea-synchronisation.md)-synchronisatie | web | Git-integratie |
| [Dropbox-synchronisatie](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/integrations/dropbox-synchronisation.md) | web, third-party-datastore, document-updater | Git-integratie, de webhook bereikbaar vanaf internet, database-indexen |
| [Zotero](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/integrations/zotero-integration.md)-, [Mendeley](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/integrations/mendeley-integration.md)-integratie | web | het cipher-wachtwoord in de Secret |
| [MCP-server](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/integrations/mcp-server.md) | web | Git-integratie |
| [AI-integratie](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/integrations/ai-integration.md) | web, linked-url-proxy | – |
| [Overleaf Import API](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/integrations/overleaf-import-api.md) | web, linked-url-proxy | – |
| [Sjablonen](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/templates.md) | web, filestore | S3 voor meerdere replica's |
| [Externe URL](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/external-url.md) | linked-url-proxy | openbare node-adressen in `OVERLEAF_LINKED_URL_BLOCKED_NETWORKS` |
| [Logging](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/logging.md) | elke service | een volume op `/var/log/overleaf` om logs te bewaren |
| [TLS-proxy](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/tls-proxy.md) | je ingress of load balancer | TLS eindigt vóór de pods |
| [Huisstijl](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/branding.md) | web | – |
| [Lokalisatie](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/localization.md) | web | één hostnaam per taal |
| [E-mailbezorging](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/email-delivery.md) | web | – |
| [Redis](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/redis.md) | elke service met live status | – |
| [S3](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/s3.md) | history-v1, filestore | een S3-service, vereist voor meerdere replica's |
| [LaTeX-gebruikershulp toevoegen](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/adding-latex-user-help.md) | web | de pods moeten de wiki kunnen bereiken |
| [Horizontaal schalen](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/horizontal-scaling.md) | alle | S3, een load balancer met sticky sessions |

### Certificaten en andere bestanden

Sommige functies verwachten een bestandspad in plaats van een waarde: de SAML-certificaten (`OVERLEAF_SAML_IDP_CERT`, ...), de LDAP-CA (`OVERLEAF_LDAP_TLS_OPTS_CA_PATH`), of een privé-CA voor een zelfgehoste GitHub Enterprise, GitLab of Gitea (`NODE_EXTRA_CA_CERTS`). Zet de bestanden in een Secret en mount die waar de Toolkit-pagina's ze verwachten, `/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
```

Verwijs er daarna in de ConfigMap naar via hun pad, bijvoorbeeld `NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem`, en herstart.

> [!WARNING]
>
> **Cipher-wachtwoorden.** Stel elk `*_CIPHER_PASSWORD` van de functies die je gebruikt in de Secret in. Sommige functies genereren anders bij het eerste gebruik een sleutelbestand in het datavolume: met één replica werkt dat totdat het volume verloren gaat, met meerdere replica's zou elke replica met een andere sleutel versleutelen.

### Vragen en antwoorden

> [accordion] Welke Toolkit-instellingen uit `config/overleaf.rc` heb ik nodig?
>
> **Antwoord:** Geen ervan wordt door Ayakaleaf Pro gelezen. Hun tegenhangers in Kubernetes:
>
> | `config/overleaf.rc` | Kubernetes |
> | - | - |
> | `OVERLEAF_LISTEN_IP`, `OVERLEAF_PORT` | de Service (NodePort) of je ingress |
> | `SIBLING_CONTAINERS_ENABLED` | `SANDBOXED_COMPILES*` in de ConfigMap, Docker-socket in de pod |
> | `GIT_BRIDGE_ENABLED` | [Git-integratie](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/integrations/git-integration.md) |
> | `MONGO_ENABLED`, `REDIS_ENABLED`, `MONGO_URL`, `REDIS_HOST` | de StatefulSets of je beheerde services, `OVERLEAF_MONGO_URL` en `OVERLEAF_REDIS_HOST` |
> | `REDIS_AOF_PERSISTENCE` | `--appendonly yes` in `20-redis.yaml` |
> | `NGINX_ENABLED`, `TLS_*` | je ingress of load balancer |


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