template-gallery) của mọi pod Ayakaleaf Pro; dịch vụ filestore trong cùng pod lưu trữ các tệp mẫu và tạo ảnh xem trước cho chúng. Danh mục, quyền và việc xuất bản được mô tả trong Mẫu.
Cấu hình
1
ConfigMap
30-config.yaml (additions)
2
Người dùng quản lý mẫu (tùy chọn)
Quản trị viên luôn có thể xuất bản. Để cho phép một người dùng không phải quản trị viên quản lý thư viện, hãy tạo người dùng đó, đọc ID của nó từ MongoDB và đưa vào ConfigMap:
3
Áp dụng và khởi động lại
Nhiều replica
- Các tệp mẫu phải nằm trong S3: nếu tệp nằm trên ổ đĩa riêng của mỗi replica, mỗi node sẽ hiển thị một thư viện khác nhau. Thiết lập Mở rộng theo chiều ngang đã dùng sẵn bucket
overleaf-template-files. - Việc xuất bản lấy PDF từ lần biên dịch gần nhất của dự án, vốn chỉ tồn tại trên replica đã biên dịch nó. Cookie sticky của load balancer giữ người dùng trên replica đó, vì vậy hãy xuất bản từ cùng phiên trình duyệt đã biên dịch.
Đã kiểm thử trên Kubernetes
Trên Kubernetes 1.37 với ba replica phía sau HAProxy và các tệp mẫu trong bucket S3overleaf-template-files (Garage), các bài kiểm thử end-to-end của chúng tôi cho thư viện mẫu đều đạt (41 trường hợp): xuất bản một dự án đã biên dịch từ menu File, với PDF, ảnh xem trước và ZIP mã nguồn được phục vụ từ bucket; tạo dự án từ một mẫu; danh mục, tìm kiếm, sắp xếp và phân trang của thư viện; chỉnh sửa, ghi đè và xóa mẫu; quyền của quản trị viên, người dùng thông thường và người dùng quản lý mẫu từ OVERLEAF_TEMPLATES_USER_ID (ID của nó được đọc từ MongoDB như mô tả ở trên); và các yêu cầu sai định dạng.
