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

> Configura un despliegue de Kubernetes - dónde van los ajustes, los secretos y los archivos, y una página por función.

Un despliegue de Kubernetes lee las mismas variables de entorno que el Toolkit. Cuando una página del Toolkit diga "añade esto a `config/variables.env`", pon el valor en el ConfigMap `overleaf-env`, o en el Secret `overleaf-secrets` si se trata de una contraseña, una clave o un token. Después, reinicia:

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

Los valores de `config/overleaf.rc` son ajustes del Toolkit, no variables de entorno; las preguntas y respuestas al final de esta página indican qué los sustituye.

### Funciones

Cada función de la configuración del Toolkit tiene aquí una página con sus servicios, ajustes, rutas de red, tareas en segundo plano, qué cambia con varias réplicas y cómo se ha probado:

| Función | Servicios en el pod | Además del ConfigMap y el Secret |
| - | - | - |
| [Autenticación](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/authentication): [OIDC](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/authentication/oidc-authentication.md), [SAML](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/authentication/saml-authentication.md), [LDAP](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/authentication/ldap-authentication.md), [Acceso público](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/authentication/public-access.md), [reCAPTCHA](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/authentication/recaptcha.md), [Restricciones de contraseña](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/authentication/password-restrictions.md) | web | secretos de cliente, el certificado del IdP, la CA de LDAP |
| [Compilaciones aisladas](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/sandboxed-compiles.md) | clsi | Docker Engine y las imágenes de TeX Live en cada nodo |
| [Importación y exportación con Pandoc](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/pandoc-import-and-export.md) | clsi, web | la imagen de Pandoc en Docker en cada nodo |
| [Integración con Git](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/integrations/git-integration.md) | git-bridge (pod propio), web, history-v1 | el StatefulSet de git-bridge y dos Services |
| Sincronización con [GitHub](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/integrations/github-synchronisation.md), [GitLab](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/integrations/gitlab-synchronisation.md) y [Gitea](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/integrations/gitea-synchronisation.md) | web | Integración con Git |
| [Sincronización con Dropbox](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/integrations/dropbox-synchronisation.md) | web, third-party-datastore, document-updater | Integración con Git, el webhook accesible desde internet, índices de la base de datos |
| Integración con [Zotero](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/integrations/zotero-integration.md) y [Mendeley](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/integrations/mendeley-integration.md) | web | la contraseña de cifrado en el Secret |
| [Servidor MCP](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/integrations/mcp-server.md) | web | Integración con Git |
| [Integración de IA](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/integrations/ai-integration.md) | web, linked-url-proxy | – |
| [API de importación de Overleaf](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/integrations/overleaf-import-api.md) | web, linked-url-proxy | – |
| [Plantillas](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/templates.md) | web, filestore | S3 para varias réplicas |
| [URL externa](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/external-url.md) | linked-url-proxy | direcciones públicas de los nodos en `OVERLEAF_LINKED_URL_BLOCKED_NETWORKS` |
| [Registros](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/logging.md) | todos los servicios | un volumen en `/var/log/overleaf` para conservar los registros |
| [Proxy TLS](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/tls-proxy.md) | tu ingress o balanceador de carga | TLS termina delante de los pods |
| [Personalización de marca](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/branding.md) | web | – |
| [Localización](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/localization.md) | web | un nombre de host por idioma |
| [Envío de correo electrónico](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/email-delivery.md) | web | – |
| [Redis](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/redis.md) | todos los servicios con estado en tiempo real | – |
| [S3](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/s3.md) | history-v1, filestore | un servicio S3, necesario para varias réplicas |
| [Añadir ayuda de LaTeX para los usuarios](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/adding-latex-user-help.md) | web | los pods deben llegar a la wiki |
| [Escalado horizontal](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/horizontal-scaling.md) | todos | S3, un balanceador de carga con sesiones persistentes |

### Certificados y otros archivos

Algunas funciones admiten una ruta de archivo en lugar de un valor: los certificados SAML (`OVERLEAF_SAML_IDP_CERT`, ...), la CA de LDAP (`OVERLEAF_LDAP_TLS_OPTS_CA_PATH`) o una CA privada para un GitHub Enterprise, GitLab o Gitea autoalojado (`NODE_EXTRA_CA_CERTS`). Guarda los archivos en un Secret y móntalo donde los esperan las páginas del 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
```

Después, haz referencia a ellos por su ruta en el ConfigMap, por ejemplo `NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem`, y reinicia.

> [!WARNING]
>
> **Contraseñas de cifrado.** Define en el Secret todas las `*_CIPHER_PASSWORD` de las funciones que uses. De lo contrario, algunas funciones generan un archivo de clave en el volumen de datos la primera vez que se usan: con una réplica funciona hasta que se pierde el volumen; con varias réplicas, cada réplica cifraría con una clave distinta.

### Preguntas y respuestas

> [accordion] ¿Qué ajustes del Toolkit de `config/overleaf.rc` necesito?
>
> **Respuesta:** Ayakaleaf Pro no lee ninguno de ellos. Sus equivalentes en Kubernetes:
>
> | `config/overleaf.rc` | Kubernetes |
> | - | - |
> | `OVERLEAF_LISTEN_IP`, `OVERLEAF_PORT` | el Service (NodePort) o tu ingress |
> | `SIBLING_CONTAINERS_ENABLED` | `SANDBOXED_COMPILES*` en el ConfigMap, el socket de Docker en el pod |
> | `GIT_BRIDGE_ENABLED` | [Integración con Git](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/kubernetes/integrations/git-integration.md) |
> | `MONGO_ENABLED`, `REDIS_ENABLED`, `MONGO_URL`, `REDIS_HOST` | los StatefulSets o tus servicios gestionados, `OVERLEAF_MONGO_URL` y `OVERLEAF_REDIS_HOST` |
> | `REDIS_AOF_PERSISTENCE` | `--appendonly yes` en `20-redis.yaml` |
> | `NGINX_ENABLED`, `TLS_*` | tu ingress o balanceador de carga |


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