template-gallery) każdego poda Ayakaleaf Pro; usługa filestore w tym samym podzie przechowuje pliki szablonów i renderuje ich podglądy. Kategorie, uprawnienia i publikowanie opisano na stronie Szablony.
Konfiguracja
1
ConfigMap
30-config.yaml (additions)
2
Użytkownik szablonów (opcjonalnie)
Administratorzy zawsze mogą publikować. Aby pozwolić użytkownikowi niebędącemu administratorem zarządzać galerią, utwórz tego użytkownika, odczytaj jego identyfikator z MongoDB i umieść go w ConfigMap:
3
Zastosuj i uruchom ponownie
Kilka replik
- Pliki szablonów muszą znajdować się w S3: gdyby pliki leżały na własnym dysku każdej repliki, każdy węzeł pokazywałby inną galerię. Konfiguracja ze strony Skalowanie poziome już korzysta z bucketu
overleaf-template-files. - Publikowanie wykorzystuje PDF z ostatniej kompilacji projektu, który istnieje tylko na replice, która go skompilowała. Ciasteczko przypisania (sticky cookie) load balancera utrzymuje użytkownika na tej replice, więc publikuj z tej samej sesji przeglądarki, w której kompilowano.
Przetestowano na Kubernetes
Na Kubernetes 1.37 z trzema replikami za HAProxy i plikami szablonów w buckecie S3overleaf-template-files (Garage) nasze testy end-to-end galerii szablonów przechodzą pomyślnie (41 przypadków): publikowanie skompilowanego projektu z menu Plik oraz PDF, obrazy podglądu i ZIP ze źródłami serwowane z bucketu; tworzenie projektów z szablonu; kategorie, wyszukiwanie, sortowanie i strony galerii; edycja, nadpisywanie i usuwanie szablonów; uprawnienia administratorów, zwykłych użytkowników oraz użytkownika szablonów z OVERLEAF_TEMPLATES_USER_ID (jego identyfikator odczytany z MongoDB w sposób opisany powyżej); a także nieprawidłowo sformułowane żądania.
