المرايا
حالة المستودع المنسوخ بمرآة، والموجز الذي تتبعه المرآة.
عمليات هذه المجموعة مع قاعدة الوصول وقاعدة إعادة المحاولة والمعلمات والاستجابات. يحمل كل طلب مفتاحًا: Authorization: Bearer <key> (راجع «المصادقة»).
العمليات
سرد المرايا والاستيرادات في هذا التثبيت
GET HEAD /api/v1/mirrors
الوصول: المستودعات التي يحق للمستدعي رؤيتها (repository.read) · إعادة المحاولة: آمن للتكرار (قراءة)
يعيد لكل مستودع يعكسه هذا الخادم أو يستورده من Arkvory آخر ويمكن للمستدعي قراءته الحالةَ نفسها التي تعيدها حالة مرآة مستودع واحد: المصدر وmode وphase وcursor وhead وcaughtUp وآخر فحص ومزامنة وخطأ، وعدد العناصر والبايتات المنسوخة. تُستبعد المستودعات التي لا يمكن للمستدعي قراءتها؛ ويجيب تثبيت بلا مرايا بقائمة فارغة.
الاستجابة 200
| الحقل | النوع | مطلوب | القواعد |
|---|---|---|---|
items | مصفوفة من object | نعم | عدد العناصر: 64 كحد أقصى |
items[].repository | string | نعم | — |
items[].upstream | string (uri) | نعم | — |
items[].sourceRepository | string | نعم | — |
items[].mode | string | نعم | إحدى القيم: mirror, import |
items[].stages | مصفوفة من string | نعم | عدد العناصر: 16 كحد أقصى |
items[].phase | string | نعم | إحدى القيم: pending, seeding, following |
items[].seedStep | string | نعم | إحدى القيم: artifacts, packages, assets; يمكن أن يكون null |
items[].cursor | string | نعم | عدد صحيح بأرقام عشرية، يُرسَل كسلسلة نصية |
items[].head | string | نعم | عدد صحيح بأرقام عشرية، يُرسَل كسلسلة نصية; يمكن أن يكون null |
items[].caughtUp | boolean | نعم | يمكن أن يكون null |
items[].checkedAt | string (date-time) | نعم | يمكن أن يكون null |
items[].syncedAt | string (date-time) | نعم | يمكن أن يكون null |
items[].errorCode | string | نعم | يمكن أن يكون null |
items[].errorAt | string (date-time) | نعم | يمكن أن يكون null |
items[].copiedArtifacts | integer | نعم | 0 على الأقل |
items[].copiedBytes | string | نعم | عدد صحيح بأرقام عشرية، يُرسَل كسلسلة نصية |
items[].conflicts | object | نعم | — |
items[].conflicts.count | integer | نعم | 0 على الأقل |
items[].conflicts.oldestAt | string (date-time) | نعم | يمكن أن يكون null |
items[].conflicts.sample | مصفوفة من object | نعم | عدد العناصر: 10 كحد أقصى |
الاستجابات: 200, 400, 401, 403, 404, 409, 422, 503, 507
مثال
curl -X GET "$ARKVORY_URL/api/v1/mirrors" \
-H "Authorization: Bearer $ARKVORY_TOKEN"الحصول على حالة مزامنة مرآة
GET HEAD /api/v1/repositories/{repository}/mirror
الوصول: إذن المستودع: repository.read; مفاتيح الملفات: read · إعادة المحاولة: آمن للتكرار (قراءة)
بالنسبة لمستودع يعكسه هذا الخادم من Arkvory آخر (مضبوط في ARKVORY_MIRRORS_FILE)، يعيد المصدر، وmode (mirror وهي نسخة للقراءة فقط، أو import الذي يتسلّم الإصدارات ذات stages المذكورة)، وphase (pending أو seeding أو following)، وcursor المطبَّق وhead للمصدر، وcaughtUp، وآخر فحص ومزامنة وخطأ، والمُخرَجات والبايتات المنسوخة. التسلسلات هي أرقام سجل المصدر، لذا فالفرق بينها ليس عدد التغييرات. والمستودع العادي يردّ بـ 404.
المعلمات
| الاسم | الموضع | النوع | مطلوب | القواعد |
|---|---|---|---|---|
repository | المسار | string | نعم | يطابق النمط ^[a-z0-9][a-z0-9_-]{0,63}$ |
الاستجابة 200
| الحقل | النوع | مطلوب | القواعد |
|---|---|---|---|
repository | string | نعم | — |
upstream | string (uri) | نعم | — |
sourceRepository | string | نعم | — |
mode | string | نعم | إحدى القيم: mirror, import |
stages | مصفوفة من string | نعم | عدد العناصر: 16 كحد أقصى |
phase | string | نعم | إحدى القيم: pending, seeding, following |
seedStep | string | نعم | إحدى القيم: artifacts, packages, assets; يمكن أن يكون null |
cursor | string | نعم | عدد صحيح بأرقام عشرية، يُرسَل كسلسلة نصية |
head | string | نعم | عدد صحيح بأرقام عشرية، يُرسَل كسلسلة نصية; يمكن أن يكون null |
caughtUp | boolean | نعم | يمكن أن يكون null |
checkedAt | string (date-time) | نعم | يمكن أن يكون null |
syncedAt | string (date-time) | نعم | يمكن أن يكون null |
errorCode | string | نعم | يمكن أن يكون null |
errorAt | string (date-time) | نعم | يمكن أن يكون null |
copiedArtifacts | integer | نعم | 0 على الأقل |
copiedBytes | string | نعم | عدد صحيح بأرقام عشرية، يُرسَل كسلسلة نصية |
conflicts | object | نعم | — |
conflicts.count | integer | نعم | 0 على الأقل |
conflicts.oldestAt | string (date-time) | نعم | يمكن أن يكون null |
conflicts.sample | مصفوفة من object | نعم | عدد العناصر: 10 كحد أقصى |
conflicts.sample[].artifactId | string (uuid) | نعم | — |
conflicts.sample[].action | string | نعم | — |
conflicts.sample[].detail | string | نعم | يمكن أن يكون null |
conflicts.sample[].code | string | نعم | — |
conflicts.sample[].firstAt | string (date-time) | نعم | — |
conflicts.sample[].lastAt | string (date-time) | نعم | — |
conflicts.sample[].attempts | integer | نعم | 1 على الأقل |
الاستجابات: 200, 400, 401, 403, 404, 409, 422, 503, 507
مثال
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/mirror" \
-H "Authorization: Bearer $ARKVORY_TOKEN"