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

> Konfigurasikan deployment Kubernetes - di mana pengaturan, secret, dan file ditempatkan, serta satu halaman per fitur.

Deployment Kubernetes membaca variabel lingkungan yang sama dengan Toolkit. Jika halaman Toolkit mengatakan "tambahkan ini ke `config/variables.env`", masukkan nilainya ke ConfigMap `overleaf-env`, atau ke Secret `overleaf-secrets` jika nilai tersebut berupa kata sandi, kunci, atau token. Lalu restart:

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

Nilai di `config/overleaf.rc` adalah pengaturan Toolkit, bukan variabel lingkungan; Tanya Jawab di akhir halaman ini menjelaskan apa yang menggantikannya.

### Fitur

Setiap fitur konfigurasi Toolkit memiliki halaman di sini yang berisi layanannya, pengaturan, jalur jaringan, job latar belakang, apa yang berubah dengan beberapa replika, dan bagaimana fitur tersebut diuji:

| Fitur | Layanan di pod | Selain ConfigMap dan Secret |
| - | - | - |
| [Autentikasi](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/authentication): [OIDC](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/authentication/oidc-authentication.md), [SAML](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/authentication/saml-authentication.md), [LDAP](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/authentication/ldap-authentication.md), [Akses Publik](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/authentication/public-access.md), [reCAPTCHA](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/authentication/recaptcha.md), [Pembatasan kata sandi](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/authentication/password-restrictions.md) | web | client secret, sertifikat IdP, CA LDAP |
| [Sandboxed Compiles](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/sandboxed-compiles.md) | clsi | Docker Engine dan image TeX Live di setiap node |
| [Impor dan Ekspor Pandoc](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/pandoc-import-and-export.md) | clsi, web | image Pandoc di Docker pada setiap node |
| [Integrasi Git](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/integrations/git-integration.md) | git-bridge (pod sendiri), web, history-v1 | StatefulSet git-bridge dan dua Service |
| Sinkronisasi [GitHub](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/integrations/github-synchronisation.md), [GitLab](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/integrations/gitlab-synchronisation.md), [Gitea](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/integrations/gitea-synchronisation.md) | web | Integrasi Git |
| [Sinkronisasi Dropbox](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/integrations/dropbox-synchronisation.md) | web, third-party-datastore, document-updater | Integrasi Git, webhook yang dapat dijangkau dari internet, indeks database |
| Integrasi [Zotero](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/integrations/zotero-integration.md), [Mendeley](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/integrations/mendeley-integration.md) | web | cipher password di Secret |
| [MCP Server](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/integrations/mcp-server.md) | web | Integrasi Git |
| [Integrasi AI](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/integrations/ai-integration.md) | web, linked-url-proxy | – |
| [Overleaf Import API](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/integrations/overleaf-import-api.md) | web, linked-url-proxy | – |
| [Templat](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/templates.md) | web, filestore | S3 untuk beberapa replika |
| [URL Eksternal](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/external-url.md) | linked-url-proxy | alamat node publik di `OVERLEAF_LINKED_URL_BLOCKED_NETWORKS` |
| [Logging](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/logging.md) | setiap layanan | volume di `/var/log/overleaf` untuk menyimpan log |
| [Proxy TLS](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/tls-proxy.md) | ingress atau load balancer Anda | TLS berakhir di depan pod |
| [Branding](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/branding.md) | web | – |
| [Lokalisasi](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/localization.md) | web | satu nama host per bahasa |
| [Pengiriman email](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/email-delivery.md) | web | – |
| [Redis](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/redis.md) | setiap layanan dengan status live | – |
| [S3](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/s3.md) | history-v1, filestore | layanan S3, wajib untuk beberapa replika |
| [Menambahkan bantuan pengguna LaTeX](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/adding-latex-user-help.md) | web | pod harus dapat menjangkau wiki |
| [Penskalaan horizontal](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/horizontal-scaling.md) | semua | S3, load balancer dengan sticky session |

### Sertifikat dan file lainnya

Beberapa fitur menerima path file alih-alih nilai: sertifikat SAML (`OVERLEAF_SAML_IDP_CERT`, ...), CA LDAP (`OVERLEAF_LDAP_TLS_OPTS_CA_PATH`), atau CA privat untuk GitHub Enterprise, GitLab, atau Gitea yang di-host sendiri (`NODE_EXTRA_CA_CERTS`). Masukkan file tersebut ke dalam Secret dan mount di lokasi yang diharapkan oleh halaman Toolkit, yaitu `/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
```

Lalu rujuk file tersebut berdasarkan path-nya di ConfigMap, misalnya `NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem`, dan restart.

> [!WARNING]
>
> **Cipher password.** Atur setiap `*_CIPHER_PASSWORD` dari fitur yang Anda gunakan di Secret. Jika tidak, beberapa fitur akan membuat file kunci di volume data saat pertama kali digunakan: dengan satu replika hal itu berfungsi hingga volume hilang, dengan beberapa replika setiap replika akan mengenkripsi dengan kunci yang berbeda.

### Tanya Jawab

> [accordion] Pengaturan Toolkit mana dari `config/overleaf.rc` yang saya perlukan?
>
> **Jawaban:** Tidak satu pun dibaca oleh Ayakaleaf Pro. Padanannya di Kubernetes:
>
> | `config/overleaf.rc` | Kubernetes |
> | - | - |
> | `OVERLEAF_LISTEN_IP`, `OVERLEAF_PORT` | Service (NodePort) atau ingress Anda |
> | `SIBLING_CONTAINERS_ENABLED` | `SANDBOXED_COMPILES*` di ConfigMap, socket Docker di pod |
> | `GIT_BRIDGE_ENABLED` | [Integrasi Git](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/integrations/git-integration.md) |
> | `MONGO_ENABLED`, `REDIS_ENABLED`, `MONGO_URL`, `REDIS_HOST` | StatefulSet atau layanan terkelola Anda, `OVERLEAF_MONGO_URL` dan `OVERLEAF_REDIS_HOST` |
> | `REDIS_AOF_PERSISTENCE` | `--appendonly yes` di `20-redis.yaml` |
> | `NGINX_ENABLED`, `TLS_*` | ingress atau load balancer Anda |


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