सामग्री पर जाएँ

आर्टिफ़ैक्ट और कैटलॉग ​

प्रकाशित आर्टिफ़ैक्ट: सूची, विवरण, सामग्री, एनोटेशन, संदर्भ, खोज, कैटलॉग ऑडिट और उसकी परिवर्तन फ़ीड।

इस समूह के ऑपरेशन, उनके एक्सेस नियम, पुनः प्रयास नियम, पैरामीटर और जवाबों के साथ। हर अनुरोध में एक कुंजी होती है: Authorization: Bearer <कुंजी> (“प्रमाणीकरण” देखें)।

ऑपरेशन ​

आर्टिफ़ैक्ट के एनोटेशन प्राप्त करें ​

GET HEAD /api/v1/repositories/{repository}/artifacts/{id}/annotations

एक्सेस: रिपॉज़िटरी अनुमति: annotation.read; फ़ाइल कुंजियाँ: read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

प्रकाशित आर्टिफ़ैक्ट के वर्तमान लेबल, मेटाडेटा और संग्रह उनके revision के साथ लौटाता है। संशोधन 0 का अर्थ है कि उन्हें कभी बदला नहीं गया: लेबल और मेटाडेटा वही हैं जो अपलोड बनाते समय दिए गए थे, और संग्रह खाली हैं। संशोधन को setAnnotations में expectedRevision के रूप में दें।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
idपथstring (uuid)हाँ—

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
revisionintegerहाँ0–2147483647
labelsstring का ऐरेहाँअधिकतम 32 आइटम
metadatastring का मैपहाँअधिकतम 32 प्रविष्टियाँ
collectionsstring का ऐरेहाँअधिकतम 32 आइटम

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/annotations" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

आर्टिफ़ैक्ट के एनोटेशन प्रतिस्थापित करें ​

PUT /api/v1/repositories/{repository}/artifacts/{id}/annotations

एक्सेस: रिपॉज़िटरी अनुमति: annotation.write, artifact.read; फ़ाइल कुंजियाँ: read, write · पुनः प्रयास: केवल अपेक्षित संशोधन के साथ दोहराएँ (compare-and-swap)

प्रकाशित आर्टिफ़ैक्ट के labels, metadata और collections एक साथ प्रतिस्थापित करता है; value से छोड़ा गया फ़ील्ड खाली हो जाता है। expectedRevision वर्तमान संशोधन होना चाहिए (पहले परिवर्तन के लिए 0), अन्यथा 409 revision_mismatch: एनोटेशन फिर से पढ़ें और परिवर्तन दोबारा लागू करें। अधिकतम 32 लेबल और 32 संग्रह (1–64 अक्षर, अंक या _.:-) और 32 मेटाडेटा प्रविष्टियाँ (मान 1024 वर्णों तक); बाइट और मूल डिस्क्रिप्टर कभी नहीं बदलते।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
idपथstring (uuid)हाँ—

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
expectedRevisionintegerहाँ0–2147483646
valueobjectहाँ—
value.labelsstring का ऐरेनहींअधिकतम 32 आइटम
value.metadatastring का मैपनहींअधिकतम 32 प्रविष्टियाँ
value.collectionsstring का ऐरेनहींअधिकतम 32 आइटम

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
revisionintegerहाँ0–2147483647
labelsstring का ऐरेहाँअधिकतम 32 आइटम
metadatastring का मैपहाँअधिकतम 32 प्रविष्टियाँ
collectionsstring का ऐरेहाँअधिकतम 32 आइटम

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X PUT "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/annotations" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"expectedRevision":0,"value":{}}'

आर्टिफ़ैक्ट को UPack पैकेज के रूप में पंजीकृत करें ​

POST /api/v1/repositories/{repository}/artifacts/{id}/package

एक्सेस: रिपॉज़िटरी अनुमति: package.publish, artifact.read; फ़ाइल कुंजियाँ: read, write · पुनः प्रयास: दोहराना सुरक्षित है: एक जैसे अनुरोध का प्रभाव एक जैसा होता है

प्रकाशित आर्टिफ़ैक्ट को UPack ZIP के रूप में खोलता है, रूट upack.json (name, वैकल्पिक group, SemVer version) पढ़ता है और उसके लिए वह पैकेज संस्करण पंजीकृत करता है; असुरक्षित या अमान्य आर्काइव 400 के साथ अस्वीकार की जाती हैं। संस्करण अपरिवर्तनीय है: उसी आर्टिफ़ैक्ट को फिर पंजीकृत करने पर वही प्रविष्टि मिलती है, जबकि मौजूदा समूह, नाम और संस्करण (बड़े-छोटे अक्षर का भेद किए बिना तुलना) के लिए कोई अन्य आर्टिफ़ैक्ट 409 version_exists है। इसके बाद संस्करण listPackages में दिखता है और नाम, श्रेणी तथा स्टेज से निर्धारित (resolve) किया जा सकता है।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
idपथstring (uuid)हाँ—

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
groupstringनहीं—
namestringनहीं—
versionstringनहीं—
artifactIdstring (uuid)नहीं—
manifestobjectनहीं—

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 405, 409, 422, 503, 507

उदाहरण

bash
curl -X POST "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/package" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

आर्टिफ़ैक्ट खोजें ​

GET HEAD /api/v1/repositories/{repository}/search

एक्सेस: रिपॉज़िटरी अनुमति: artifact.list; फ़ाइल कुंजियाँ: read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

प्रकाशित आर्टिफ़ैक्ट q (नाम या किसी वर्तमान मेटाडेटा मान का बड़े-छोटे अक्षर का भेद न करने वाला सबस्ट्रिंग), किसी सटीक वर्तमान label, किसी collection, और सटीक metadataKey/metadataValue जोड़ी से खोजता है, जो साथ-साथ दिए जाते हैं; दिए गए सभी फ़िल्टर मेल खाने चाहिए। परिणाम ID के क्रम में 100 के पृष्ठों में आते हैं, प्रत्येक के साथ आकार, निर्माण और प्रकाशन का समय, वर्तमान लेबल और प्रमोशन स्टेज; after में next देकर आगे बढ़ें। मेटाडेटा और संग्रह नहीं लौटाए जाते: उन्हें getAnnotations से पढ़ें।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
qक्वेरीstringनहीं—
labelक्वेरीstringनहीं—
collectionक्वेरीstringनहीं—
afterक्वेरीstringनहीं—
metadataKeyक्वेरीstringनहींपैटर्न: ^[a-zA-Z][a-zA-Z0-9_.-]{0,63}$; अधिकतम 64 वर्ण; Exact metadata key; requires metadataValue.
metadataValueक्वेरीstringनहींअधिकतम 1024 वर्ण; Exact case-sensitive value; requires metadataKey. Empty string is allowed.

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
itemsobject का ऐरेहाँअधिकतम 100 आइटम
items[].idstring (uuid)हाँ—
items[].namestringहाँ—
items[].sizestringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है; बाइट में आकार, दशमलव स्ट्रिंग
items[].createdAtstring (date-time)हाँअपलोड आरक्षण का समय
items[].publishedAtstring (date-time)हाँnull हो सकता है; प्रकाशन समय; null केवल तब जब कोई दर्ज न हुआ हो
items[].labelsstring का ऐरेहाँअधिकतम 32 आइटम; वर्तमान लेबल: बदले जाने पर एनोटेशन के, अन्यथा अपलोड डिस्क्रिप्टर के
items[].stagesstring का ऐरेहाँअधिकतम 16 आइटम; हर आइटम: पैटर्न: ^[a-z0-9][a-z0-9_.-]{0,31}$; वर्तमान प्रमोशन स्टेज, बाइट क्रम में
nextstring (uuid)हाँnull हो सकता है; भरे हुए पृष्ठ की अंतिम ID; after के रूप में दें

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/search" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

रिपॉज़िटरी का कैटलॉग ऑडिट पढ़ें ​

GET HEAD /api/v1/repositories/{repository}/audit

एक्सेस: रिपॉज़िटरी अनुमति: audit.read; फ़ाइल कुंजियाँ: write · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

क्रम संख्या after (डिफ़ॉल्ट 0) के बाद रिपॉज़िटरी के अधिकतम 100 कैटलॉग परिवर्तन, सबसे पुराना पहले, लौटाता है: प्रकाशन, हटाना, एनोटेशन और अटैचमेंट के परिवर्तन, पैकेज पंजीकरण, फ़ाइल पथ के परिवर्तन, संदर्भ, स्टेज और प्रमोशन, प्रत्येक के साथ कर्ता, क्रिया, आर्टिफ़ैक्ट और समय। आगे पढ़ने के लिए पृष्ठ का अंतिम sequence after में दें; कोई next फ़ील्ड नहीं है। डाउनलोड और साइन-इन इसमें नहीं हैं; मिरर listCatalogChanges का अनुसरण करते हैं, जिसमें कर्ता नहीं होते।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
afterक्वेरीstringनहीं—

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
itemsobject का ऐरेनहीं—
items[].sequencestringनहीं—
items[].actorstringनहीं—
items[].actionstringनहीं—
items[].artifactIdstringनहीं—
items[].occurredAtstring (date-time)नहीं—

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/audit" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

आर्टिफ़ैक्ट में संदर्भ जोड़ें ​

POST /api/v1/repositories/{repository}/artifacts/{id}/references

एक्सेस: रिपॉज़िटरी अनुमति: reference.write, artifact.read; फ़ाइल कुंजियाँ: read, write · पुनः प्रयास: दोहराना सुरक्षित है: एक जैसे अनुरोध का प्रभाव एक जैसा होता है

दर्ज करता है कि Arkvory के बाहर कोई चीज़ इस आर्टिफ़ैक्ट का उपयोग करती है, आपकी चुनी हुई key (1–256 अक्षर, अंक या _.:/-) के अंतर्गत, उदाहरण के लिए किसी डिप्लॉयमेंट का नाम। संदर्भित आर्टिफ़ैक्ट को हटाया नहीं जा सकता और प्रतिधारण भी उसे नहीं हटा सकता, जब तक सभी संदर्भ समाप्त न हो जाएँ। संदर्भ कॉलर का होता है; वही कुंजी फिर जोड़ने पर कुछ नहीं बदलता।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
idपथstring (uuid)हाँ—

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
keystringहाँअधिकतम 256 वर्ण

प्रतिक्रियाएँ: 204, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X POST "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/references" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key":"<key>"}'

आर्टिफ़ैक्ट से संदर्भ हटाएँ ​

DELETE /api/v1/repositories/{repository}/artifacts/{id}/references

एक्सेस: रिपॉज़िटरी अनुमति: reference.write, artifact.read; फ़ाइल कुंजियाँ: read, write · पुनः प्रयास: दोहराना सुरक्षित है: एक जैसे अनुरोध का प्रभाव एक जैसा होता है

आर्टिफ़ैक्ट से कॉलर का अपना संदर्भ key हटाता है; अन्य कॉलर के संदर्भ बने रहते हैं। जो कुंजी मौजूद नहीं है उसे हटाना भी सफल होता है।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
idपथstring (uuid)हाँ—

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
keystringहाँअधिकतम 256 वर्ण

प्रतिक्रियाएँ: 204, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X DELETE "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/references" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key":"<key>"}'

आर्टिफ़ैक्ट सूचीबद्ध करें ​

GET HEAD /api/v1/repositories/{repository}/artifacts

एक्सेस: रिपॉज़िटरी अनुमति: artifact.list; फ़ाइल कुंजियाँ: read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

रिपॉज़िटरी के प्रकाशित आर्टिफ़ैक्ट ID के क्रम में सूचीबद्ध करता है, प्रति पृष्ठ limit (1–100, डिफ़ॉल्ट 50); after में next देकर आगे बढ़ें। पृष्ठ भरा होने पर हर बार next सेट होता है, इसलिए अंतिम पृष्ठ खाली हो सकता है। प्रत्येक आइटम में अपलोड के समय दिया गया डिस्क्रिप्टर होता है; वर्तमान लेबल और मेटाडेटा getAnnotations में हैं।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
afterक्वेरीstring (uuid)नहीं—
limitक्वेरीintegerनहीं1–100; डिफ़ॉल्ट 50

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
itemsobject का ऐरेनहीं—
items[].idstring (uuid)हाँ—
items[].repositorystringहाँ—
items[].statusstringहाँइनमें से एक: pending, available, cancelled
items[].createdAtstring (date-time)हाँ—
items[].expiresAtstring (date-time)हाँ—
items[].descriptorobjectहाँ—
items[].descriptor.namestringहाँ1–240 वर्ण
items[].descriptor.sizestringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
items[].descriptor.sha256stringहाँSHA-256: 64 लोअरकेस हेक्साडेसिमल अंक
items[].descriptor.labelsstring का ऐरेनहींअधिकतम 32 आइटम; हर आइटम: अधिकतम 64 वर्ण
items[].descriptor.metadatastring का मैपनहींअधिकतम 32 प्रविष्टियाँ
nextstringनहींnull हो सकता है

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

आर्टिफ़ैक्ट प्राप्त करें ​

GET HEAD /api/v1/repositories/{repository}/artifacts/{id}

एक्सेस: रिपॉज़िटरी अनुमति: artifact.read; फ़ाइल कुंजियाँ: read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

प्रकाशित आर्टिफ़ैक्ट लौटाता है: उसकी ID, रिपॉज़िटरी, स्थिति, निर्माण समय और अपलोड के समय दिया गया डिस्क्रिप्टर (नाम, आकार, SHA-256, मूल लेबल और मेटाडेटा)। लंबित, रद्द किए गए और हटाए गए आर्टिफ़ैक्ट पर 404 मिलता है। बाइट पढ़ने के लिए downloadArtifact का उपयोग करें।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
idपथstring (uuid)हाँ—

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
idstring (uuid)हाँ—
repositorystringहाँ—
statusstringहाँइनमें से एक: pending, available, cancelled
createdAtstring (date-time)हाँ—
expiresAtstring (date-time)हाँ—
descriptorobjectहाँ—
descriptor.namestringहाँ1–240 वर्ण
descriptor.sizestringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
descriptor.sha256stringहाँSHA-256: 64 लोअरकेस हेक्साडेसिमल अंक
descriptor.labelsstring का ऐरेनहींअधिकतम 32 आइटम; हर आइटम: अधिकतम 64 वर्ण
descriptor.metadatastring का मैपनहींअधिकतम 32 प्रविष्टियाँ

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

आर्टिफ़ैक्ट हटाएँ ​

DELETE /api/v1/repositories/{repository}/artifacts/{id}

एक्सेस: रिपॉज़िटरी अनुमति: artifact.delete · पुनः प्रयास: दोहराना सुरक्षित है: एक जैसे अनुरोध का प्रभाव एक जैसा होता है

प्रकाशित आर्टिफ़ैक्ट को तार्किक रूप से हटाता है: वह सूचियों, खोजों और डाउनलोड से तुरंत गायब हो जाता है, और उसके बाइट रिपॉज़िटरी के ऑनलाइन क्लीनअप (setCleanup, डिफ़ॉल्ट रूप से बंद) द्वारा उसकी छूट अवधि के बाद वापस लिए जाते हैं। expectedAnnotationRevision वर्तमान एनोटेशन संशोधन के बराबर होना चाहिए। उत्तर 200 है और उसमें एक outcome होता है: deleted, already_deleted, changed (संशोधन भिन्न है), not_found, या protected के साथ वे blockers जो उसे रोके रखते हैं (कोई संदर्भ, फ़ाइल पथ का संशोधन, बिल्ड अटैचमेंट या प्रमोशन स्टेज)। पहले inspectArtifactDeletion से जाँच लें।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
idपथstring (uuid)हाँ—

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
expectedAnnotationRevisionintegerहाँ0–2147483647

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
idstring (uuid)हाँ—
outcomestringहाँइनमें से एक: deleted, already_deleted, protected, changed, not_eligible, not_found
blockersstring का ऐरेहाँअधिकतम 4 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: reference, asset_history, attachment_history, protected_label, promotion_stage

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X DELETE "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"expectedAnnotationRevision":0}'

आर्टिफ़ैक्ट डाउनलोड करें ​

GET HEAD /api/v1/repositories/{repository}/artifacts/{id}/content

एक्सेस: रिपॉज़िटरी अनुमति: content.read; फ़ाइल कुंजियाँ: read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

मूल बाइट Content-Length, Content-Disposition (आर्टिफ़ैक्ट का नाम) और सशक्त (strong) ETag ("sha256:<hex>") के साथ स्ट्रीम करता है। एकल Range पर 206 मिलता है (जिसे पूरा नहीं किया जा सकता उस पर 416); ETag के साथ If-Range सुरक्षित रूप से डाउनलोड जारी रखता है, और If-None-Match पर 304 मिलता है। HEAD बिना बॉडी के वही हेडर लौटाता है और Range की उपेक्षा करता है। Authorization हेडर के बजाय अनुरोध createDownloadLink से मिला डाउनलोड लिंक token के रूप में ले जा सकता है; डाउनलोड सर्वर के डाउनलोड प्रवेश नियंत्रण में खाली स्लॉट की प्रतीक्षा करते हैं।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
idपथstring (uuid)हाँ—
Rangeहेडरstringनहीं—
If-Rangeहेडरstringनहीं—
If-None-Matchहेडरstringनहीं—
Arkvory-Download-Idहेडरstringनहींपैटर्न: ^[A-Za-z0-9_-]{16,64}$; The client own id of one download, the same on every range of it: the queue keys the session by it instead of the client address, answers a waiting request at once with 503 download_queued, and may ask it to yield its place at a range boundary. Without it, a waiting request is held until its turn for a bounded time.
Arkvory-Queue-Ticketहेडरstringनहींअधिकतम 80 वर्ण; The last Arkvory-Queue-Ticket the server sent for this download: after a server restart the download takes its old turn. A ticket that is wrong, expired or of another download is ignored.
Arkvory-Download-Classहेडरstringनहींइनमें से एक: interactive, release, bulk, background; Queue class of the download. Only a class lower than the caller own one applies (people: interactive, services and links: release); an unknown value is 400. The response names the class applied.
tokenक्वेरीstringनहींपैटर्न: ^dtl_[A-Za-z0-9_-]{43}$; Download link from POST …/artifacts/{id}/links, instead of an Authorization header

प्रतिक्रियाएँ: 200, 206, 304, 400, 401, 403, 404, 409, 416, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/content" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -o file

साइटों का अवलोकन पढ़ें ​

GET HEAD /api/v1/fleet/overview

एक्सेस: व्यवस्थापक · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

प्रबंधित साइटों और इस इंस्टॉलेशन की चेतावनियाँ, सबसे गंभीर पहले (critical, warning, info), और उनके बीच मिरर संबंध। पिछली पृष्ठभूमि रीड से बनता है, अधिकतम हर 5 सेकंड में एक बार। जिस स्रोत के पते पर कोई प्रबंधित साइट उत्तर नहीं देती वह external:<origin> है; यह इंस्टॉलेशन self है और इसकी ओर के संबंध केवल ARKVORY_SITE_URL सेट होने पर दिखते हैं। केवल लेखन प्रक्रिया उत्तर देती है।

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
generatedAtstring (date-time)हाँ—
selfobjectहाँ—
self.namestringहाँ—
self.versionstringहाँ—
self.urlstringहाँnull हो सकता है
alertsobject का ऐरेहाँ—
alerts[].sitestringहाँ—
alerts[].namestringहाँ—
alerts[].kindstringहाँइनमें से एक: unreachable, certificate, revoked, refused, invalid, stale, not-writable, copies, single-copy, mirror-failing, mirror-lag, updates-failed, version-skew
alerts[].severitystringहाँइनमें से एक: critical, warning, info
alerts[].subjectstringहाँnull हो सकता है
alerts[].sincestring (date-time)हाँnull हो सकता है
linksobject का ऐरेहाँ—
links[].fromstringहाँ—
links[].tostringहाँ—
links[].repositorystringहाँ—
links[].sourceRepositorystringहाँ—
links[].modestringहाँइनमें से एक: mirror, import
links[].lagChangesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है; null हो सकता है
links[].failingbooleanहाँ—
links[].stalebooleanनहीं—
externalstring का ऐरेहाँ—

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/fleet/overview" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

प्रबंधित साइटों की सूची ​

GET HEAD /api/v1/fleet/sites

एक्सेस: व्यवस्थापक · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

इस इंस्टॉलेशन द्वारा प्रबंधित साइटें (ADR 0077) और हर साइट की अंतिम रिपोर्ट: state (ok, या न पढ़े जाने का कारण: unreachable, certificate, revoked, invalid, refused), अंतिम बार कब दिखी, और उसकी अंतिम topology। साइटें हर 30 सेकंड पृष्ठभूमि में पढ़ी जाती हैं। साइट की कुंजी कभी नहीं लौटाई जाती।

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
itemsobject का ऐरेहाँअधिकतम 256 आइटम
items[].idstring (uuid)हाँ—
items[].namestringहाँ—
items[].urlstringहाँ—
items[].fingerprintstringहाँपैटर्न: ^[0-9a-f]{64}$; null हो सकता है
items[].addedBystringहाँ—
items[].addedAtstring (date-time)हाँ—
items[].seenAtstring (date-time)हाँnull हो सकता है
items[].statestringहाँइनमें से एक: pending, ok, unreachable, certificate, revoked, invalid, refused
items[].errorstringहाँnull हो सकता है
items[].topologyobjectहाँnull हो सकता है
items[].topology.collectedAtstring (date-time)हाँ—
items[].topology.siteobjectहाँ—
items[].topology.healthobjectहाँ—
items[].topology.replicationobjectहाँnull हो सकता है
items[].topology.gatewaysobject का ऐरेहाँअधिकतम 16 आइटम
items[].topology.mirrorsobject का ऐरेहाँअधिकतम 64 आइटम
items[].topology.updatesobjectहाँnull हो सकता है
items[].topology.downloadsobjectहाँ—

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/fleet/sites" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

साइट से युग्मित करें ​

POST /api/v1/fleet/sites

एक्सेस: व्यवस्थापक · पुनः प्रयास: अपने-आप न दोहराएँ

साइट से युग्मन: नियंत्रक फिर से जुड़ता है, प्रमाणपत्र में अब भी व्यवस्थापक द्वारा पुष्टि किया fingerprint होना चाहिए (loopback पर HTTP के लिए null), साइट पर बना युग्मन code कुंजी से बदला जाता है, और कुंजी ARKVORY_FLEET_KEY_FILE से सील होती है। उत्तर से पहले साइट एक बार पढ़ी जाती है। कुंजी फ़ाइल के बिना उत्तर 503 है।

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
urlstringहाँ—
fingerprintstringहाँपैटर्न: ^[0-9a-f]{64}$; null हो सकता है
codestringहाँअधिकतम 32 वर्ण

प्रतिक्रिया 201

फ़ील्डप्रकारआवश्यकनियम
idstring (uuid)हाँ—
namestringहाँ—
urlstringहाँ—
fingerprintstringहाँपैटर्न: ^[0-9a-f]{64}$; null हो सकता है
addedBystringहाँ—
addedAtstring (date-time)हाँ—
seenAtstring (date-time)हाँnull हो सकता है
statestringहाँइनमें से एक: pending, ok, unreachable, certificate, revoked, invalid, refused
errorstringहाँnull हो सकता है
topologyobjectहाँnull हो सकता है
topology.collectedAtstring (date-time)हाँ—
topology.siteobjectहाँ—
topology.site.namestringहाँ—
topology.site.versionstringहाँ—
topology.site.schemaintegerहाँकम से कम 0
topology.site.rolestringहाँइनमें से एक: api, reader
topology.healthobjectहाँ—
topology.health.availablebooleanहाँ—
topology.health.writablebooleanहाँ—
topology.health.drainingbooleanहाँ—
topology.replicationobjectहाँnull हो सकता है
topology.replication.copiesintegerहाँ0–16
topology.replication.requiredintegerहाँ1–16
topology.replication.singleCopyUntilstring (date-time)हाँnull हो सकता है
topology.replication.nodestringनहींअधिकतम 63 वर्ण
topology.replication.profilestringनहींइनमें से एक: ha-2, ha-3
topology.replication.peersobject का ऐरेनहींअधिकतम 16 आइटम
topology.gatewaysobject का ऐरेहाँअधिकतम 16 आइटम
topology.gateways[].slotintegerहाँकम से कम 0
topology.gateways[].activebooleanहाँ—
topology.gateways[].expiresAtstring (date-time)हाँ—
topology.mirrorsobject का ऐरेहाँअधिकतम 64 आइटम
topology.mirrors[].repositorystringहाँ—
topology.mirrors[].modestringहाँइनमें से एक: mirror, import
topology.mirrors[].upstreamstringहाँ—
topology.mirrors[].sourceRepositorystringहाँ—
topology.mirrors[].phasestringहाँ—
topology.mirrors[].errorCodestringहाँnull हो सकता है
topology.mirrors[].checkedAtstring (date-time)हाँnull हो सकता है
topology.mirrors[].syncedAtstring (date-time)हाँnull हो सकता है
topology.mirrors[].lagChangesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है; null हो सकता है
topology.mirrors[].copiedArtifactsintegerहाँकम से कम 0
topology.mirrors[].copiedBytesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
topology.updatesobjectहाँnull हो सकता है
topology.updates.currentVersionstringहाँ—
topology.updates.lateststringहाँnull हो सकता है
topology.updates.phasestringहाँ—
topology.updates.errorstringहाँnull हो सकता है
topology.updates.automaticbooleanहाँ—
topology.updates.heartbeatAtstring (date-time)हाँ—
topology.downloadsobjectहाँ—
topology.downloads.strategystringहाँइनमें से एक: ordered, smallest-first, shared
topology.downloads.sessionsintegerहाँकम से कम 0
topology.downloads.activeintegerहाँकम से कम 0
topology.downloads.waitingintegerहाँकम से कम 0
topology.downloads.oldestWaitSecondsintegerहाँकम से कम 0
topology.downloads.bytesPerSecondintegerहाँकम से कम 0

प्रतिक्रियाएँ: 201, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X POST "$ARKVORY_URL/api/v1/fleet/sites" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"<url>","fingerprint":"<fingerprint>","code":"<code>"}'

साइट का प्रमाणपत्र पढ़ें ​

POST /api/v1/fleet/sites/probe

एक्सेस: व्यवस्थापक · पुनः प्रयास: दोहराना सुरक्षित है: एक जैसे अनुरोध का प्रभाव एक जैसा होता है

पते से जुड़कर साइट का प्रमाणपत्र पढ़ता है, कुछ भी भेजे बिना: युग्मन से पहले उसका fingerprint साइट के व्यवस्थापक को दिखने वाले से मिलाएँ।

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
urlstringहाँ—

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
urlstringहाँ—
certificateobjectहाँnull हो सकता है
certificate.fingerprintstringहाँपैटर्न: ^[0-9a-f]{64}$
certificate.subjectstringहाँ—
certificate.issuerstringहाँ—
certificate.validTostring (date-time)हाँ—

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X POST "$ARKVORY_URL/api/v1/fleet/sites/probe" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"<url>"}'

साइट भूल जाएँ ​

DELETE /api/v1/fleet/sites/{id}

एक्सेस: व्यवस्थापक · पुनः प्रयास: दोहराना सुरक्षित है: एक जैसे अनुरोध का प्रभाव एक जैसा होता है

यहाँ साइट और उसकी सील की हुई कुंजी हटाता है। साइट पर भी इस नियंत्रक को रद्द करें; तब तक कुंजी वहाँ मान्य रहती है।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
idपथstring (uuid)हाँ—

प्रतिक्रियाएँ: 204, 400, 401, 403, 404, 405, 409, 422, 503, 507

उदाहरण

bash
curl -X DELETE "$ARKVORY_URL/api/v1/fleet/sites/$ID" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

साइट का कैटलॉग पढ़ें ​

GET HEAD /api/v1/fleet/sites/{id}/read

एक्सेस: व्यवस्थापक · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

एक कैटलॉग पठन को प्रबंधित साइट तक पहुँचाता है और उसका उत्तर बिना बदले लौटाता है: रिपॉजिटरी, खोज, आर्टिफ़ैक्ट, एनोटेशन, चरण, पैकेज, फ़ाइल पेज और इतिहास, संग्रहण उपयोग, मिरर स्थिति। path साइट का रूट और उसकी क्वेरी है। अन्य रूट और फ़ाइल बाइट 400 के साथ अस्वीकार होते हैं।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
idपथstring (uuid)हाँ—
pathक्वेरीstringहाँपैटर्न: ^/api/v1/; अधिकतम 2048 वर्ण; A read route of the site with its query, from a fixed list: catalog metadata (repositories, search, artifacts, annotations, stages, packages, file pages and history, storage usage, mirror state), download queue settings and update state. Never file bytes.

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/fleet/sites/$ID/read?path=$PATH" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

साइट की सेटिंग बदलें ​

POST /api/v1/fleet/sites/{id}/change

एक्सेस: व्यवस्थापक · पुनः प्रयास: अपने-आप न दोहराएँ

एक बदलाव को प्रबंधित साइट तक पहुँचाता है और उसका उत्तर बिना बदले लौटाता है। path इनमें से एक रूट है: /api/v1/system/downloads/settings (डाउनलोड कतार सेटिंग, PUT के रूप में भेजी जाती है) या /api/v1/system/updates/requests (अपडेट अनुरोध, POST के रूप में भेजा जाता है)। बॉडी साइट को जैसी है वैसी जाती है; साइट संशोधन या अनुरोध id जाँचती है, इसलिए दोहराया गया बदलाव दो बार लागू नहीं होता। अन्य पथ 400 के साथ अस्वीकार होते हैं।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
idपथstring (uuid)हाँ—
pathक्वेरीstringहाँपैटर्न: ^/api/v1/; अधिकतम 2048 वर्ण; A change route of the site, from a fixed list: PUT /api/v1/system/downloads/settings, POST /api/v1/system/updates/requests.

अनुरोध बॉडी (application/json)

प्रतिक्रियाएँ: 200, 202, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X POST "$ARKVORY_URL/api/v1/fleet/sites/$ID/change?path=$PATH" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

साइट अभी पढ़ें ​

POST /api/v1/fleet/sites/{id}/refresh

एक्सेस: व्यवस्थापक · पुनः प्रयास: दोहराना सुरक्षित है: एक जैसे अनुरोध का प्रभाव एक जैसा होता है

अगले दौर की प्रतीक्षा किए बिना साइट अभी पढ़ता है और नई स्थिति के साथ लौटाता है।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
idपथstring (uuid)हाँ—

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
idstring (uuid)हाँ—
namestringहाँ—
urlstringहाँ—
fingerprintstringहाँपैटर्न: ^[0-9a-f]{64}$; null हो सकता है
addedBystringहाँ—
addedAtstring (date-time)हाँ—
seenAtstring (date-time)हाँnull हो सकता है
statestringहाँइनमें से एक: pending, ok, unreachable, certificate, revoked, invalid, refused
errorstringहाँnull हो सकता है
topologyobjectहाँnull हो सकता है
topology.collectedAtstring (date-time)हाँ—
topology.siteobjectहाँ—
topology.site.namestringहाँ—
topology.site.versionstringहाँ—
topology.site.schemaintegerहाँकम से कम 0
topology.site.rolestringहाँइनमें से एक: api, reader
topology.healthobjectहाँ—
topology.health.availablebooleanहाँ—
topology.health.writablebooleanहाँ—
topology.health.drainingbooleanहाँ—
topology.replicationobjectहाँnull हो सकता है
topology.replication.copiesintegerहाँ0–16
topology.replication.requiredintegerहाँ1–16
topology.replication.singleCopyUntilstring (date-time)हाँnull हो सकता है
topology.replication.nodestringनहींअधिकतम 63 वर्ण
topology.replication.profilestringनहींइनमें से एक: ha-2, ha-3
topology.replication.peersobject का ऐरेनहींअधिकतम 16 आइटम
topology.gatewaysobject का ऐरेहाँअधिकतम 16 आइटम
topology.gateways[].slotintegerहाँकम से कम 0
topology.gateways[].activebooleanहाँ—
topology.gateways[].expiresAtstring (date-time)हाँ—
topology.mirrorsobject का ऐरेहाँअधिकतम 64 आइटम
topology.mirrors[].repositorystringहाँ—
topology.mirrors[].modestringहाँइनमें से एक: mirror, import
topology.mirrors[].upstreamstringहाँ—
topology.mirrors[].sourceRepositorystringहाँ—
topology.mirrors[].phasestringहाँ—
topology.mirrors[].errorCodestringहाँnull हो सकता है
topology.mirrors[].checkedAtstring (date-time)हाँnull हो सकता है
topology.mirrors[].syncedAtstring (date-time)हाँnull हो सकता है
topology.mirrors[].lagChangesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है; null हो सकता है
topology.mirrors[].copiedArtifactsintegerहाँकम से कम 0
topology.mirrors[].copiedBytesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
topology.updatesobjectहाँnull हो सकता है
topology.updates.currentVersionstringहाँ—
topology.updates.lateststringहाँnull हो सकता है
topology.updates.phasestringहाँ—
topology.updates.errorstringहाँnull हो सकता है
topology.updates.automaticbooleanहाँ—
topology.updates.heartbeatAtstring (date-time)हाँ—
topology.downloadsobjectहाँ—
topology.downloads.strategystringहाँइनमें से एक: ordered, smallest-first, shared
topology.downloads.sessionsintegerहाँकम से कम 0
topology.downloads.activeintegerहाँकम से कम 0
topology.downloads.waitingintegerहाँकम से कम 0
topology.downloads.oldestWaitSecondsintegerहाँकम से कम 0
topology.downloads.bytesPerSecondintegerहाँकम से कम 0

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 405, 409, 422, 503, 507

उदाहरण

bash
curl -X POST "$ARKVORY_URL/api/v1/fleet/sites/$ID/refresh" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

युग्मन कोड बनाएँ ​

POST /api/v1/system/fleet/pairings

एक्सेस: व्यवस्थापक · पुनः प्रयास: अपने-आप न दोहराएँ

दस मिनट के लिए वैध एक बार का कोड बनाता है, जिसे नियंत्रक का व्यवस्थापक इस साइट को प्रबंधित करने के लिए डालता है। कोड एक बार दिखता है और केवल हैश के रूप में रखा जाता है। केवल साइट का ग्लोबल व्यवस्थापक इसे बना सकता है।

प्रतिक्रिया 201

फ़ील्डप्रकारआवश्यकनियम
codestringहाँपैटर्न: ^[0-9A-Z]{4}-[0-9A-Z]{4}-[0-9A-Z]{4}$
expiresAtstring (date-time)हाँ—
fingerprintstringहाँपैटर्न: ^[0-9a-f]{64}$; null हो सकता है

प्रतिक्रियाएँ: 201, 400, 401, 403, 404, 405, 409, 422, 503, 507

उदाहरण

bash
curl -X POST "$ARKVORY_URL/api/v1/system/fleet/pairings" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

इस साइट के नियंत्रकों की सूची ​

GET HEAD /api/v1/system/fleet/controllers

एक्सेस: व्यवस्थापक · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

उन नियंत्रकों की सूची देता है जो इस साइट को प्रबंधित कर सकते हैं: नाम, किसने युग्मित किया, कब, और उनकी कुंजी अंतिम बार कब उपयोग हुई।

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
itemsobject का ऐरेहाँअधिकतम 100 आइटम
items[].idstring (uuid)हाँ—
items[].namestringहाँ—
items[].pairedBystringहाँ—
items[].pairedAtstring (date-time)हाँ—
items[].usedAtstring (date-time)हाँnull हो सकता है

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/system/fleet/controllers" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

नियंत्रक रद्द करें ​

DELETE /api/v1/system/fleet/controllers/{id}

एक्सेस: व्यवस्थापक · पुनः प्रयास: दोहराना सुरक्षित है: एक जैसे अनुरोध का प्रभाव एक जैसा होता है

नियंत्रक को रद्द करता है: उसकी फ़्लीट कुंजी तुरंत अस्वीकार होती है। साइट को फिर से प्रबंधित करने के लिए नए कोड से युग्मन करना होगा।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
idपथstring (uuid)हाँ—

प्रतिक्रियाएँ: 204, 400, 401, 403, 404, 405, 409, 422, 503, 507

उदाहरण

bash
curl -X DELETE "$ARKVORY_URL/api/v1/system/fleet/controllers/$ID" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

नियंत्रक से युग्मित करें ​

POST /api/v1/system/fleet/enrollment

एक्सेस: कोई भी, बिना कुंजी के · पुनः प्रयास: अपने-आप न दोहराएँ

एक वैध युग्मन कोड को एक बार फ़्लीट कुंजी से बदलता है। नियंत्रक इसे व्यवस्थापक द्वारा पुष्टि किए गए फ़िंगरप्रिंट पर पिन किए TLS से बुलाता है। कुंजी एक बार लौटाई जाती है और केवल नियंत्रक के लिए ज़रूरी रूट तक पहुँचती है।

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
codestringहाँअधिकतम 32 वर्ण
namestringहाँ1–63 वर्ण

प्रतिक्रिया 201

फ़ील्डप्रकारआवश्यकनियम
keystringहाँपैटर्न: ^afk_[A-Za-z0-9_-]{43}$
siteobjectहाँ—
site.namestringहाँ—
site.versionstringहाँ—

प्रतिक्रियाएँ: 201, 400, 403, 405, 413, 415, 503

उदाहरण

bash
curl -X POST "$ARKVORY_URL/api/v1/system/fleet/enrollment" \
  -H "Content-Type: application/json" \
  -d '{"code":"<code>","name":"<name>"}'

फ़्लीट कंसोल के लिए यह साइट पाएँ ​

GET HEAD /api/v1/system/topology

एक्सेस: व्यवस्थापक · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

इस इंस्टॉलेशन को फ़्लीट की एक साइट के रूप में लौटाता है (ADR 0077): नाम, संस्करण, स्कीमा और भूमिका, उपलब्ध और लिखने योग्य है या नहीं, HA प्रतियाँ और नोड, लीज़ के आधार पर रीड गेटवे, हर मिरर और इम्पोर्ट उसके चरण, अंतिम सिंक और lagChanges (स्रोत के अभी लागू न हुए बदलाव) के साथ, अपडेट एजेंट की स्थिति और डाउनलोड कतार। केवल साइट का ग्लोबल व्यवस्थापक या उससे युग्मित नियंत्रक इसे पढ़ सकता है।

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
collectedAtstring (date-time)हाँ—
siteobjectहाँ—
site.namestringहाँ—
site.versionstringहाँ—
site.schemaintegerहाँकम से कम 0
site.rolestringहाँइनमें से एक: api, reader
healthobjectहाँ—
health.availablebooleanहाँ—
health.writablebooleanहाँ—
health.drainingbooleanहाँ—
replicationobjectहाँnull हो सकता है
replication.copiesintegerहाँ0–16
replication.requiredintegerहाँ1–16
replication.singleCopyUntilstring (date-time)हाँnull हो सकता है
replication.nodestringनहींअधिकतम 63 वर्ण
replication.profilestringनहींइनमें से एक: ha-2, ha-3
replication.peersobject का ऐरेनहींअधिकतम 16 आइटम
replication.peers[].namestringहाँअधिकतम 63 वर्ण
replication.peers[].connectedbooleanहाँ—
replication.peers[].diskstringहाँअधिकतम 24 वर्ण
replication.peers[].completebooleanहाँ—
replication.peers[].witnessbooleanहाँ—
gatewaysobject का ऐरेहाँअधिकतम 16 आइटम
gateways[].slotintegerहाँकम से कम 0
gateways[].activebooleanहाँ—
gateways[].expiresAtstring (date-time)हाँ—
mirrorsobject का ऐरेहाँअधिकतम 64 आइटम
mirrors[].repositorystringहाँ—
mirrors[].modestringहाँइनमें से एक: mirror, import
mirrors[].upstreamstringहाँ—
mirrors[].sourceRepositorystringहाँ—
mirrors[].phasestringहाँ—
mirrors[].errorCodestringहाँnull हो सकता है
mirrors[].checkedAtstring (date-time)हाँnull हो सकता है
mirrors[].syncedAtstring (date-time)हाँnull हो सकता है
mirrors[].lagChangesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है; null हो सकता है
mirrors[].copiedArtifactsintegerहाँकम से कम 0
mirrors[].copiedBytesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
updatesobjectहाँnull हो सकता है
updates.currentVersionstringहाँ—
updates.lateststringहाँnull हो सकता है
updates.phasestringहाँ—
updates.errorstringहाँnull हो सकता है
updates.automaticbooleanहाँ—
updates.heartbeatAtstring (date-time)हाँ—
downloadsobjectहाँ—
downloads.strategystringहाँइनमें से एक: ordered, smallest-first, shared
downloads.sessionsintegerहाँकम से कम 0
downloads.activeintegerहाँकम से कम 0
downloads.waitingintegerहाँकम से कम 0
downloads.oldestWaitSecondsintegerहाँकम से कम 0
downloads.bytesPerSecondintegerहाँकम से कम 0

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/system/topology" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

डाउनलोड कतार सेटिंग पढ़ें ​

GET HEAD /api/v1/system/downloads/settings

एक्सेस: व्यवस्थापक · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

बदले गए मान (overrides), सर्वर के एनवायरनमेंट के मान (defaults) और कतार अभी जो उपयोग कर रही है (effective) लौटाता है, साथ में बदलाव के समय वापस भेजने वाला संशोधन। problem बताता है कि सहेजी गई सेटिंग इस सर्वर पर क्यों नहीं चलतीं; तब कतार डिफ़ॉल्ट मानों पर चलती है।

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
revisionintegerहाँ0–9007199254740991
overridesobjectहाँ—
overrides.strategystringनहींइनमें से एक: ordered, smallest-first, shared
overrides.sessionsintegerनहीं1–1024
overrides.reserveintegerनहीं0–1023
overrides.perPrincipalintegerनहीं1–1024
overrides.weightsobjectनहीं—
overrides.weights.interactiveintegerहाँ1–1000
overrides.weights.releaseintegerहाँ1–1000
overrides.weights.bulkintegerहाँ1–1000
overrides.weights.backgroundintegerहाँ1–1000
overrides.sessionMinBytesintegerनहीं0–9007199254740991
overrides.idleSecondsintegerनहीं1–3600
overrides.agingMinutesintegerनहीं0–10080
overrides.preemptbooleanनहीं—
overrides.rangesPerSessionintegerनहीं1–64
defaultsobjectहाँ—
defaults.strategystringहाँइनमें से एक: ordered, smallest-first, shared
defaults.sessionsintegerहाँ1–1024
defaults.reserveintegerहाँ0–1023
defaults.perPrincipalintegerहाँ1–1024
defaults.weightsobjectहाँ—
defaults.weights.interactiveintegerहाँ1–1000
defaults.weights.releaseintegerहाँ1–1000
defaults.weights.bulkintegerहाँ1–1000
defaults.weights.backgroundintegerहाँ1–1000
defaults.sessionMinBytesintegerहाँ0–9007199254740991
defaults.idleSecondsintegerहाँ1–3600
defaults.agingMinutesintegerहाँ0–10080
defaults.preemptbooleanहाँ—
defaults.rangesPerSessionintegerहाँ1–64
effectiveobjectहाँ—
effective.strategystringहाँइनमें से एक: ordered, smallest-first, shared
effective.sessionsintegerहाँ1–1024
effective.reserveintegerहाँ0–1023
effective.perPrincipalintegerहाँ1–1024
effective.weightsobjectहाँ—
effective.weights.interactiveintegerहाँ1–1000
effective.weights.releaseintegerहाँ1–1000
effective.weights.bulkintegerहाँ1–1000
effective.weights.backgroundintegerहाँ1–1000
effective.sessionMinBytesintegerहाँ0–9007199254740991
effective.idleSecondsintegerहाँ1–3600
effective.agingMinutesintegerहाँ0–10080
effective.preemptbooleanहाँ—
effective.rangesPerSessionintegerहाँ1–64
admissionstringहाँइनमें से एक: sessions, per-request
updatedAtstring (date-time)हाँnull हो सकता है
updatedBystringहाँnull हो सकता है
actorstringहाँnull हो सकता है
problemstringहाँnull हो सकता है

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/system/downloads/settings" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

डाउनलोड कतार सेटिंग बदलें ​

PUT /api/v1/system/downloads/settings

एक्सेस: व्यवस्थापक · पुनः प्रयास: केवल अपेक्षित संशोधन के साथ दोहराएँ (compare-and-swap)

overrides को सर्वर के एनवायरनमेंट के ऊपर सहेजता है और बिना रीस्टार्ट लागू करता है: नए निर्णय तुरंत इनका पालन करते हैं, सक्रिय डाउनलोड अपनी जगह रखते हैं। दिए गए मान पहले के सभी बदलावों को बदल देते हैं; {} एनवायरनमेंट पर लौटाता है। जो सेटिंग यहाँ नहीं चल सकतीं वे फ़ील्ड के नाम के साथ 400 से अस्वीकार होती हैं; पुराना expectedRevision 409 पाता है। रीड गेटवे अपना एनवायरनमेंट रखते हैं।

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
expectedRevisionintegerहाँ0–9007199254740991
overridesobjectहाँ—
overrides.strategystringनहींइनमें से एक: ordered, smallest-first, shared
overrides.sessionsintegerनहीं1–1024
overrides.reserveintegerनहीं0–1023
overrides.perPrincipalintegerनहीं1–1024
overrides.weightsobjectनहीं—
overrides.weights.interactiveintegerहाँ1–1000
overrides.weights.releaseintegerहाँ1–1000
overrides.weights.bulkintegerहाँ1–1000
overrides.weights.backgroundintegerहाँ1–1000
overrides.sessionMinBytesintegerनहीं0–9007199254740991
overrides.idleSecondsintegerनहीं1–3600
overrides.agingMinutesintegerनहीं0–10080
overrides.preemptbooleanनहीं—
overrides.rangesPerSessionintegerनहीं1–64

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
revisionintegerहाँ0–9007199254740991
overridesobjectहाँ—
overrides.strategystringनहींइनमें से एक: ordered, smallest-first, shared
overrides.sessionsintegerनहीं1–1024
overrides.reserveintegerनहीं0–1023
overrides.perPrincipalintegerनहीं1–1024
overrides.weightsobjectनहीं—
overrides.weights.interactiveintegerहाँ1–1000
overrides.weights.releaseintegerहाँ1–1000
overrides.weights.bulkintegerहाँ1–1000
overrides.weights.backgroundintegerहाँ1–1000
overrides.sessionMinBytesintegerनहीं0–9007199254740991
overrides.idleSecondsintegerनहीं1–3600
overrides.agingMinutesintegerनहीं0–10080
overrides.preemptbooleanनहीं—
overrides.rangesPerSessionintegerनहीं1–64
defaultsobjectहाँ—
defaults.strategystringहाँइनमें से एक: ordered, smallest-first, shared
defaults.sessionsintegerहाँ1–1024
defaults.reserveintegerहाँ0–1023
defaults.perPrincipalintegerहाँ1–1024
defaults.weightsobjectहाँ—
defaults.weights.interactiveintegerहाँ1–1000
defaults.weights.releaseintegerहाँ1–1000
defaults.weights.bulkintegerहाँ1–1000
defaults.weights.backgroundintegerहाँ1–1000
defaults.sessionMinBytesintegerहाँ0–9007199254740991
defaults.idleSecondsintegerहाँ1–3600
defaults.agingMinutesintegerहाँ0–10080
defaults.preemptbooleanहाँ—
defaults.rangesPerSessionintegerहाँ1–64
effectiveobjectहाँ—
effective.strategystringहाँइनमें से एक: ordered, smallest-first, shared
effective.sessionsintegerहाँ1–1024
effective.reserveintegerहाँ0–1023
effective.perPrincipalintegerहाँ1–1024
effective.weightsobjectहाँ—
effective.weights.interactiveintegerहाँ1–1000
effective.weights.releaseintegerहाँ1–1000
effective.weights.bulkintegerहाँ1–1000
effective.weights.backgroundintegerहाँ1–1000
effective.sessionMinBytesintegerहाँ0–9007199254740991
effective.idleSecondsintegerहाँ1–3600
effective.agingMinutesintegerहाँ0–10080
effective.preemptbooleanहाँ—
effective.rangesPerSessionintegerहाँ1–64
admissionstringहाँइनमें से एक: sessions, per-request
updatedAtstring (date-time)हाँnull हो सकता है
updatedBystringहाँnull हो सकता है
actorstringहाँnull हो सकता है
problemstringहाँnull हो सकता है

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X PUT "$ARKVORY_URL/api/v1/system/downloads/settings" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"expectedRevision":0,"overrides":{}}'

साइट के बदलाव पढ़ें ​

GET HEAD /api/v1/system/changes

एक्सेस: व्यवस्थापक · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

लौटाता है कि साइट का एजेंट रिपोर्ट कर रहा है या नहीं (agent), लंबित अनुरोध और 20 सबसे नए अनुरोध उनकी स्थिति के साथ: pending, applying, done या कारण सहित failed। स्रोत कुंजियाँ यहाँ कभी नहीं दिखतीं।

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
agentbooleanहाँ—
updatingbooleanहाँ—
blockedstringहाँइनमें से एक: expired, interrupted, key_missing, not_a_mirror, already_attached, mirror_failed, switchover_failed, single_copy_failed, unreadable, digest_mismatch, null; null हो सकता है
pendingobjectहाँnull हो सकता है
pending.idstring (uuid)हाँ—
pending.kindstringहाँइनमें से एक: mirror-attach, mirror-key, mirror-detach, cluster-switchover, single-copy
pending.actorstringहाँअधिकतम 200 वर्ण
pending.requestedAtstring (date-time)हाँ—
recentobject का ऐरेहाँअधिकतम 20 आइटम
recent[].idstring (uuid)हाँ—
recent[].digeststringहाँपैटर्न: ^[0-9a-f]{64}$
recent[].kindstringहाँइनमें से एक: mirror-attach, mirror-key, mirror-detach, cluster-switchover, single-copy
recent[].statestringहाँइनमें से एक: pending, applying, done, failed
recent[].errorstringहाँइनमें से एक: expired, interrupted, key_missing, not_a_mirror, already_attached, mirror_failed, switchover_failed, single_copy_failed, unreadable, digest_mismatch, null; null हो सकता है
recent[].actorstringहाँअधिकतम 200 वर्ण
recent[].requestedAtstring (date-time)हाँ—
recent[].finishedAtstring (date-time)हाँnull हो सकता है

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/system/changes" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

साइट का बदलाव कतार में डालें ​

POST /api/v1/system/changes

एक्सेस: व्यवस्थापक · पुनः प्रयास: दोहराना सुरक्षित है: एक जैसे अनुरोध का प्रभाव एक जैसा होता है

साइट के एजेंट के लिए एक बदलाव कतार में डालता है, जो उसे एक मिनट के भीतर arkvory configure और cluster-* की जाँच और रोलबैक के साथ लागू करता है: मिरर या इम्पोर्ट जोड़ना, उसकी स्रोत कुंजी बदलना, मिरर हटाना, सक्रिय HA नोड बदलना (नोड का नाम दो बार लिखा जाता है) या एक प्रति से लेखन का निर्णय। id क्लाइंट चुनता है; उसे दोहराने से बदलाव फिर से कतार में नहीं जाता। key केवल mirror-attach और mirror-key की स्रोत कुंजी है: यह एजेंट तक अपनी 0600 फ़ाइल में जाती है और कभी लौटाई नहीं जाती। 202 का अर्थ कतार में है, लागू नहीं।

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
idstring (uuid)हाँ—
changeobjectहाँ—
change.kindstringहाँइनमें से एक: mirror-attach
change.repositorystringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
change.upstreamstringहाँअधिकतम 255 वर्ण
change.sourceRepositorystringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
change.stagesstring का ऐरेनहीं1–16 आइटम; हर आइटम: पैटर्न: ^[a-z0-9][a-z0-9_.-]{0,31}$; null हो सकता है
change.repositoriesstring का ऐरेहाँ1–64 आइटम; हर आइटम: पैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
change.nodestringहाँपैटर्न: ^[A-Za-z0-9][A-Za-z0-9_.-]{0,62}$
change.confirmstringहाँपैटर्न: ^[A-Za-z0-9][A-Za-z0-9_.-]{0,62}$
change.untilstring (date-time)हाँnull हो सकता है
change.reasonstringहाँ1–200 वर्ण
keystringनहीं16–4000 वर्ण

प्रतिक्रिया 202

फ़ील्डप्रकारआवश्यकनियम
idstring (uuid)हाँ—

प्रतिक्रियाएँ: 202, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X POST "$ARKVORY_URL/api/v1/system/changes" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"id":"00000000-0000-4000-8000-000000000000","change":{"kind":"mirror-attach","repository":"<repository>","upstream":"<upstream>","sourceRepository":"<sourceRepository>"}}'

रिपॉज़िटरी की परिवर्तन फ़ीड का अनुसरण करें ​

GET HEAD /api/v1/repositories/{repository}/changes

एक्सेस: रिपॉज़िटरी अनुमति: artifact.list; फ़ाइल कुंजियाँ: read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

क्रम संख्या after (डिफ़ॉल्ट 0) के बाद कमिट के क्रम में अधिकतम limit परिवर्तन (1–100, डिफ़ॉल्ट 100) लौटाता है: क्रिया, आर्टिफ़ैक्ट और, फ़ाइल पथ व स्टेज के लिए, detail में पथ या स्टेज; कर्ता छोड़ दिए जाते हैं, इसलिए सूची देखने की पहुँच पर्याप्त है। head रिपॉज़िटरी का नवीनतम क्रम है, next अगले पृष्ठ का कर्सर है या null जब पृष्ठ नवीनतम क्रम तक पहुँच गया हो। मिरर अंतिम लागू किया गया क्रम सहेजता है और वहीं से पोल करता है।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
afterक्वेरीstringनहींदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है; Sequence cursor, default 0
limitक्वेरीintegerनहीं1–100

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
itemsobject का ऐरेहाँ—
items[].sequencestringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
items[].actionstringहाँ—
items[].artifactIdstring (uuid)हाँ—
items[].detailstringहाँnull हो सकता है
headstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
nextstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है; null हो सकता है

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/changes" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

POST /api/v1/repositories/{repository}/artifacts/{id}/links

एक्सेस: रिपॉज़िटरी अनुमति: content.read; फ़ाइल कुंजियाँ: read · पुनः प्रयास: अपने-आप न दोहराएँ

कुंजी के बिना केवल इसी एक आर्टिफ़ैक्ट के downloadArtifact के लिए एक गुप्त token, API ऑरिजिन के सापेक्ष url और expiresAt लौटाता है; ttlSeconds जीवनकाल तय करता है (60 सेकंड से एक दिन तक, डिफ़ॉल्ट एक घंटा)। टोकन केवल इसी उत्तर में दिखाया जाता है और निरस्त नहीं किया जा सकता: वह समाप्त होने या आर्टिफ़ैक्ट हटाए जाने पर काम करना बंद कर देता है, और उसके द्वारा किए गए डाउनलोड निर्माता की ट्रांसफ़र सीमाओं में गिने जाते हैं। कॉलर के पास 1000 सक्रिय लिंक हो सकते हैं (507 token_limit), और डाउनलोड लिंक से आगे के लिंक नहीं बनाए जा सकते।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
idपथstring (uuid)हाँ—

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
ttlSecondsintegerनहीं60–86400; डिफ़ॉल्ट 3600

प्रतिक्रिया 201

फ़ील्डप्रकारआवश्यकनियम
tokenstringहाँपैटर्न: ^dtl_[A-Za-z0-9_-]{43}$
urlstringहाँ—
expiresAtstring (date-time)हाँ—

प्रतिक्रियाएँ: 201, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X POST "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/links" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

Arkvory · ProAnimaStudio