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

# Impor dan Ekspor Pandoc

> Impor dan ekspor dokumen dengan Pandoc pada deployment Kubernetes.

Konversi Pandoc dijalankan oleh layanan **clsi** di setiap pod Ayakaleaf Pro, seperti kompilasi: clsi meminta Docker Engine pada node untuk memulai kontainer dari `PANDOC_IMAGE`. Layanan **web** menampilkan menu impor dan ekspor. Fungsi fitur ini dan cara membangun image-nya dijelaskan di [Impor dan Ekspor Pandoc](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/overleaf-toolkit/pandoc-import-and-export.md).

| | |
| - | - |
| Layanan | web (menu dan rute), clsi (menjalankan konversi), di setiap pod Ayakaleaf Pro |
| Node | Docker Engine dan `PANDOC_IMAGE`, di setiap node yang dapat menjalankan Ayakaleaf Pro |
| Memerlukan | [Sandboxed Compiles](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/sandboxed-compiles.md) |
| Tugas berkala | tidak ada |

### Konfigurasi

**1. Masukkan image ke Docker di setiap node**

Bangun image sekali dari folder `develop/pandoc` di repositori [ayakaleaf-pro](https://github.com/ayaka-notes/ayakaleaf-pro), lalu muat ke Docker di setiap node yang dapat menjalankan 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
```

Atau push ke registry yang dapat dijangkau node dan jalankan `sudo docker pull` di setiap node. Seperti halnya image TeX Live, image ini harus berada di **Docker**, bukan hanya di containerd.

**2. ConfigMap**

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

Web dan clsi sama-sama membaca `ENABLE_PANDOC_CONVERSIONS` dari ConfigMap yang sama, sehingga keduanya tidak mungkin berbeda nilai di Kubernetes.

**3. Terapkan dan mulai ulang**

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

### Beberapa replika

Tidak ada yang perlu ditambahkan selain memastikan image tersedia di setiap node: setiap replika melakukan konversi di node-nya sendiri.

### Diuji di Kubernetes

Dengan image yang dibangun dari `develop/pandoc` dan dimuat ke Docker di setiap node dengan `docker save | docker load`, di Kubernetes 1.37 dengan satu replika, pengujian end-to-end kami untuk Pandoc lulus (6 kasus): mengimpor dokumen Markdown sebagai proyek LaTeX, error yang ditampilkan untuk dokumen Word yang rusak, mengekspor Word (yang dapat diimpor kembali), Markdown, dan HTML, serta menu yang disembunyikan tanpa `ENABLE_PANDOC_CONVERSIONS`.


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