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

> Määritä Kubernetes-käyttöönotto - minne asetukset, salaisuudet ja tiedostot sijoitetaan, sekä yksi sivu kutakin ominaisuutta kohden.

Kubernetes-käyttöönotto lukee samat ympäristömuuttujat kuin Toolkit. Kun Toolkit-sivu sanoo ”lisää tämä tiedostoon `config/variables.env`”, vie arvo ConfigMapiin `overleaf-env`, tai Secretiin `overleaf-secrets`, kun kyseessä on salasana, avain tai tunniste. Käynnistä sitten uudelleen:

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

Tiedoston `config/overleaf.rc` arvot ovat Toolkitin asetuksia, eivät ympäristömuuttujia; tämän sivun lopussa olevat kysymykset ja vastaukset kertovat, mikä ne korvaa.

### Ominaisuudet

Jokaisella Toolkit-konfiguraation ominaisuudella on täällä oma sivunsa, jolla kuvataan sen palvelut, asetukset, verkkoyhteydet, taustatehtävät, mitä useat replikat muuttavat ja miten se on testattu:

| Ominaisuus | Palvelut podissa | ConfigMapin ja Secretin lisäksi |
| - | - | - |
| [Todennus](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/authentication): [OIDC](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/authentication/oidc-authentication.md), [SAML](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/authentication/saml-authentication.md), [LDAP](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/authentication/ldap-authentication.md), [Julkinen käyttö](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/authentication/public-access.md), [reCAPTCHA](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/authentication/recaptcha.md), [Salasanarajoitukset](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/authentication/password-restrictions.md) | web | asiakassalaisuudet, IdP:n varmenne, LDAP:n CA |
| [Hiekkalaatikkokäännökset](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/sandboxed-compiles.md) | clsi | Docker Engine ja TeX Live -imaget jokaisella solmulla |
| [Pandoc-tuonti ja -vienti](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/pandoc-import-and-export.md) | clsi, web | Pandoc-image Dockerissa jokaisella solmulla |
| [Git-integraatio](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/integrations/git-integration.md) | git-bridge (oma pod), web, history-v1 | git-bridge-StatefulSet ja kaksi Serviceä |
| [GitHub](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/integrations/github-synchronisation.md)-, [GitLab](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/integrations/gitlab-synchronisation.md)- ja [Gitea](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/integrations/gitea-synchronisation.md)-synkronointi | web | Git-integraatio |
| [Dropbox-synkronointi](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/integrations/dropbox-synchronisation.md) | web, third-party-datastore, document-updater | Git-integraatio, internetistä tavoitettava webhook, tietokantaindeksit |
| [Zotero](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/integrations/zotero-integration.md)- ja [Mendeley](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/integrations/mendeley-integration.md)-integraatio | web | salaussalasana Secretissä |
| [MCP-palvelin](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/integrations/mcp-server.md) | web | Git-integraatio |
| [Tekoälyintegraatio](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/integrations/ai-integration.md) | web, linked-url-proxy | – |
| [Overleaf Import API](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/integrations/overleaf-import-api.md) | web, linked-url-proxy | – |
| [Mallipohjat](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/templates.md) | web, filestore | S3 useille replikoille |
| [Ulkoinen URL-osoite](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/external-url.md) | linked-url-proxy | solmujen julkiset osoitteet muuttujassa `OVERLEAF_LINKED_URL_BLOCKED_NETWORKS` |
| [Lokit](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/logging.md) | jokainen palvelu | taltio polussa `/var/log/overleaf` lokien säilyttämiseksi |
| [TLS-välityspalvelin](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/tls-proxy.md) | ingress tai kuormantasaaja | TLS päättyy podien edessä |
| [Brändäys](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/branding.md) | web | – |
| [Lokalisointi](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/localization.md) | web | yksi isäntänimi kieltä kohden |
| [Sähköpostin toimitus](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/email-delivery.md) | web | – |
| [Redis](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/redis.md) | jokainen palvelu, jolla on reaaliaikaista tilaa | – |
| [S3](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/s3.md) | history-v1, filestore | S3-palvelu, pakollinen useille replikoille |
| [LaTeX-käyttäjäohjeiden lisääminen](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/adding-latex-user-help.md) | web | podien on tavoitettava wiki |
| [Horisontaalinen skaalaus](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/horizontal-scaling.md) | kaikki | S3, kuormantasaaja pysyvillä istunnoilla |

### Varmenteet ja muut tiedostot

Jotkin ominaisuudet ottavat arvon sijaan tiedostopolun: SAML-varmenteet (`OVERLEAF_SAML_IDP_CERT`, ...), LDAP:n CA (`OVERLEAF_LDAP_TLS_OPTS_CA_PATH`) tai yksityinen CA itse isännöidylle GitHub Enterpriselle, GitLabille tai Gitealle (`NODE_EXTRA_CA_CERTS`). Vie tiedostot Secretiin ja liitä se sinne, missä Toolkit-sivut odottavat niitä, eli polkuun `/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
```

Viittaa niihin sitten polulla ConfigMapissa, esimerkiksi `NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem`, ja käynnistä uudelleen.

> [!WARNING]
>
> **Salaussalasanat.** Aseta Secretiin jokainen käyttämiesi ominaisuuksien `*_CIPHER_PASSWORD`. Muuten jotkin ominaisuudet luovat avaintiedoston datataltiolle ensimmäisellä käyttökerralla: yhdellä replikalla tämä toimii, kunnes taltio menetetään, mutta useilla replikoilla kukin replika salaisi eri avaimella.

### Kysymyksiä ja vastauksia

> [accordion] Mitä Toolkitin asetuksia tiedostosta `config/overleaf.rc` tarvitsen?
>
> **Vastaus:** Ayakaleaf Pro ei lue niistä yhtäkään. Niiden Kubernetes-vastineet:
>
> | `config/overleaf.rc` | Kubernetes |
> | - | - |
> | `OVERLEAF_LISTEN_IP`, `OVERLEAF_PORT` | Service (NodePort) tai ingress |
> | `SIBLING_CONTAINERS_ENABLED` | `SANDBOXED_COMPILES*` ConfigMapissa, Docker-socket podissa |
> | `GIT_BRIDGE_ENABLED` | [Git-integraatio](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/integrations/git-integration.md) |
> | `MONGO_ENABLED`, `REDIS_ENABLED`, `MONGO_URL`, `REDIS_HOST` | StatefulSetit tai hallinnoidut palvelusi, `OVERLEAF_MONGO_URL` ja `OVERLEAF_REDIS_HOST` |
> | `REDIS_AOF_PERSISTENCE` | `--appendonly yes` tiedostossa `20-redis.yaml` |
> | `NGINX_ENABLED`, `TLS_*` | ingress tai kuormantasaaja |


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