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

# Importazione ed esportazione con Pandoc

> Importa ed esporta documenti con Pandoc in un deployment Kubernetes.

Le conversioni Pandoc vengono eseguite dal servizio **clsi** di ogni pod di Ayakaleaf Pro, come le compilazioni: clsi chiede al Docker Engine del nodo di avviare un container da `PANDOC_IMAGE`. Il servizio **web** mostra i menu di importazione ed esportazione. Cosa fa la funzionalità e come costruire l'immagine è descritto in [Importazione ed esportazione con Pandoc](https://ayakaleaf-pro.mintlify.site/it/on-premises/configuration/overleaf-toolkit/pandoc-import-and-export.md).

| | |
| - | - |
| Servizi | web (menu e route), clsi (esegue la conversione), in ogni pod di Ayakaleaf Pro |
| Nodo | Docker Engine e `PANDOC_IMAGE`, su ogni nodo che può eseguire Ayakaleaf Pro |
| Requisiti | [Sandboxed Compiles](https://ayakaleaf-pro.mintlify.site/it/on-premises/configuration/kubernetes/sandboxed-compiles.md) |
| Job periodici | nessuno |

### Configurazione

**1. Carica l'immagine in Docker su ogni nodo**

Costruisci l'immagine una sola volta dalla cartella `develop/pandoc` del repository [ayakaleaf-pro](https://github.com/ayaka-notes/ayakaleaf-pro), poi caricala in Docker su ogni nodo che può eseguire Ayakaleaf Pro:

```bash theme={null}
docker build -t overleaf-pandoc:local develop/pandoc
docker save overleaf-pandoc:local | ssh node-1 sudo docker load    # repeat for every node
```

In alternativa, esegui il push su un registry raggiungibile dai nodi ed esegui `sudo docker pull` su ogni nodo. Come per le immagini TeX Live, deve trovarsi in **Docker**, non solo in containerd.

**2. ConfigMap**

```yaml theme={null}
  ENABLE_PANDOC_CONVERSIONS: "true"
  PANDOC_IMAGE: overleaf-pandoc:local
```

Sia web sia clsi leggono `ENABLE_PANDOC_CONVERSIONS` dalla stessa ConfigMap, quindi su Kubernetes non possono essere in disaccordo.

**3. Applica e riavvia**

```bash theme={null}
kubectl apply -f 30-config.yaml
kubectl -n overleaf rollout restart deployment/overleaf     # or statefulset/overleaf
```

### Più repliche

Nulla di aggiuntivo oltre ad avere l'immagine su ogni nodo: ogni replica esegue la conversione sul proprio nodo.

### Testato su Kubernetes

Con l'immagine costruita da `develop/pandoc` e caricata in Docker su ogni nodo con `docker save | docker load`, su Kubernetes 1.37 con una replica, i nostri test end-to-end per Pandoc vengono superati (6 casi): importazione di un documento Markdown come progetto LaTeX, l'errore mostrato per un documento Word danneggiato, esportazione in Word (che si reimporta), Markdown e HTML, e i menu nascosti senza `ENABLE_PANDOC_CONVERSIONS`.


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