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

# Importação e exportação com Pandoc

> Importe e exporte documentos com o Pandoc em uma implantação no Kubernetes.

As conversões do Pandoc são executadas pelo serviço **clsi** de cada pod do Ayakaleaf Pro, assim como as compilações: o clsi pede ao Docker Engine do nó que inicie um contêiner a partir de `PANDOC_IMAGE`. O serviço **web** exibe os menus de importação e exportação. O que o recurso faz e como construir a imagem está descrito em [Importação e exportação com Pandoc](https://ayakaleaf-pro.mintlify.site/pt/on-premises/configuration/overleaf-toolkit/pandoc-import-and-export.md).

| | |
| - | - |
| Serviços | web (menus e rotas), clsi (executa a conversão), em cada pod do Ayakaleaf Pro |
| Nó | Docker Engine e `PANDOC_IMAGE`, em cada nó que pode executar o Ayakaleaf Pro |
| Requer | [Sandboxed Compiles](https://ayakaleaf-pro.mintlify.site/pt/on-premises/configuration/kubernetes/sandboxed-compiles.md) |
| Tarefas periódicas | nenhuma |

### Configuração

**1. Coloque a imagem no Docker de cada nó**

Construa a imagem uma vez a partir da pasta `develop/pandoc` do repositório [ayakaleaf-pro](https://github.com/ayaka-notes/ayakaleaf-pro) e depois carregue-a no Docker de cada nó que pode executar o 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
```

Ou envie-a para um registro que os nós consigam acessar e execute `sudo docker pull` em cada nó. Assim como as imagens do TeX Live, ela precisa estar no **Docker**, e não apenas no containerd.

**2. ConfigMap**

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

Tanto o web quanto o clsi leem `ENABLE_PANDOC_CONVERSIONS` do mesmo ConfigMap, então eles não podem divergir no Kubernetes.

**3. Aplicar e reiniciar**

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

### Várias réplicas

Nada além de ter a imagem em todos os nós: cada réplica faz a conversão no seu próprio nó.

### Testado no Kubernetes

Com a imagem construída a partir de `develop/pandoc` e carregada no Docker de cada nó com `docker save | docker load`, no Kubernetes 1.37 com uma réplica, nossos testes ponta a ponta do Pandoc são aprovados (6 casos): importar um documento Markdown como um projeto LaTeX, o erro exibido para um documento do Word corrompido, exportar para Word (que pode ser importado novamente), Markdown e HTML, e os menus ocultos sem `ENABLE_PANDOC_CONVERSIONS`.


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