gitea-sync) في كل Pod من Pods Ayakaleaf Pro. وتحتاج إلى التكامل مع Git. أنشئ تطبيق OAuth واقرأ ما يفعله كل إعداد في المزامنة مع Gitea؛ أما هذه الصفحة فتشرح وضعها في Kubernetes.
الإعداد
1
ConfigMap
30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" والـ StatefulSet الخاص بـ git-bridge من التكامل مع Git جاهزين: فبدونهما تُخفي إعدادات الحساب والمحرر خيار المزامنة مع Gitea.2
Secret
GITEA_TOKEN_CIPHER_PASSWORD رموز الوصول ورموز التحديث الخاصة بـ Gitea للمستخدمين في MongoDB. يجب أن تستخدم كل نسخة متماثلة القيمة نفسها، وتغييرها لاحقًا يجعل كل المستخدمين يعيدون ربط Gitea.3
جهة شهادات خاصة (اختياري)
إذا كانت لدى Gitea الخاص بك شهادة صادرة عن جهة شهادات (CA) خاصة بك، فأضف جهة الشهادات إلى الـ Secret
overleaf-certs المركّب على /var/lib/overleaf/certs (راجع الشهادات والملفات الأخرى) واضبط NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem في الـ ConfigMap.4
طبّق التغييرات وأعد التشغيل وتحقّق
000 فيعني أنه لا يمكن الوصول إليه.عدة نسخ متماثلة
لا حاجة إلى شيء إضافي سوىGITEA_TOKEN_CIPHER_PASSWORD المشترك. تأخذ المزامنة قفلًا في Redis، مشتركًا مع عمليات مزامنة Git الأخرى، لذا لا تزامن نسختان متماثلتان المشروع نفسه في الوقت نفسه أبدًا.
الاختبار على Kubernetes
مقابل Gitea 1.23 حقيقي علىGITEA_SYNC_URL، على Kubernetes 1.37 مع نسخة متماثلة واحدة وتفعيل التكامل مع Git، نجحت اختباراتنا الشاملة للمزامنة مع Gitea (39 حالة): ربط الحساب وإلغاء ربطه عبر OAuth2 الخاص بـ Gitea، وتحديث رمز الوصول المنتهي الصلاحية والتفويضات الملغاة، والتصدير إلى مستودع خاص جديد أو مستودع مؤسسة، واستيراد مستودع، والسحب والدفع، وعمليات الدمج، والتعارضات، والفروع المحذوفة والمدفوعة قسرًا (force-pushed)، والملفات الثنائية، وإعادة التسمية والحذف، وما يمكن للمالكين والمحررين والمشاهدين فعله.
