सिस्टम और स्वास्थ्य
सक्रियता और तैयारी की जाँच, मेट्रिक्स, OpenAPI दस्तावेज़ और सर्वर की क्षमताएँ।
इस समूह के ऑपरेशन, उनके एक्सेस नियम, पुनः प्रयास नियम, पैरामीटर और जवाबों के साथ। हर अनुरोध में एक कुंजी होती है: Authorization: Bearer <कुंजी> (“प्रमाणीकरण” देखें)।
ऑपरेशन
विस्तृत रेडीनेस जाँचें
GET HEAD /health/ready
एक्सेस: कोई भी मान्य कुंजी या सत्र · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)
डेटाबेस और स्टोरेज के उत्तर देने पर ready लौटाता है, साथ में इस नोड की role (api या reader), वह अभी लिखने के अनुरोध स्वीकार करता है या नहीं (रीड गेटवे पर और जब तक डिस्क पर खाली स्थान का केवल रिज़र्व बचा है, writable false रहता है), रीड गेटवे का साझा डाउनलोड स्लॉट तथा अपलोड और डाउनलोड के प्रवेश नियंत्रण (admission) एवं बैंडविड्थ के समेकित काउंटर देता है। सर्वर के ड्रेन होने (नए अनुरोध लेना बंद करने) या किसी निर्भरता के अनुपलब्ध होने पर वह Retry-After के साथ 503 लौटाता है। यह अनुरोध-बजट में नहीं गिना जाता; कुंजी के बिना लोड बैलेंसर के लिए getReadinessStatus का उपयोग करें।
प्रतिक्रिया 200
| फ़ील्ड | प्रकार | आवश्यक | नियम |
|---|---|---|---|
role | string | हाँ | इनमें से एक: api, reader |
sharedDownloads | object | हाँ | null हो सकता है |
sharedDownloads.slot | integer | हाँ | कम से कम 0 |
sharedDownloads.slots | integer | हाँ | कम से कम 0 |
sharedDownloads.active | boolean | हाँ | — |
sharedDownloads.leaseSeconds | integer | हाँ | कम से कम 0 |
status | string | हाँ | इनमें से एक: ready |
writable | boolean | हाँ | — |
replication | object | नहीं | null हो सकता है |
replication.copies | integer | हाँ | 0–16 |
replication.required | integer | हाँ | 1–16 |
replication.singleCopyUntil | string (date-time) | हाँ | null हो सकता है |
replication.node | string | नहीं | अधिकतम 63 वर्ण |
replication.profile | string | नहीं | इनमें से एक: ha-2, ha-3 |
replication.peers | object का ऐरे | नहीं | अधिकतम 16 आइटम |
replication.peers[].name | string | हाँ | अधिकतम 63 वर्ण |
replication.peers[].connected | boolean | हाँ | — |
replication.peers[].disk | string | हाँ | अधिकतम 24 वर्ण |
replication.peers[].complete | boolean | हाँ | — |
replication.peers[].witness | boolean | हाँ | — |
transfers | object | हाँ | — |
transfers.uploads | object | हाँ | — |
transfers.uploads.admission | object | हाँ | — |
transfers.uploads.bandwidth | object | हाँ | — |
transfers.uploads.sessions | object | नहीं | — |
transfers.downloads | object | हाँ | — |
transfers.downloads.admission | object | हाँ | — |
transfers.downloads.bandwidth | object | हाँ | — |
transfers.downloads.sessions | object | नहीं | — |
प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507
उदाहरण
curl -X GET "$ARKVORY_URL/health/ready" \
-H "Authorization: Bearer $ARKVORY_TOKEN"सर्वर की क्षमताएँ और सीमाएँ प्राप्त करें
GET HEAD /api/v1/capabilities
एक्सेस: कोई भी मान्य कुंजी या सत्र · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)
API संस्करण, गेटवे की भूमिका, फ़ीचर फ़्लैग (उदाहरण के लिए selfRegistration या mirrorFeed) और वे सीमाएँ लौटाता है जिनके अनुसार क्लाइंट स्वयं को ढालता है: सबसे बड़ा ऑब्जेक्ट (maxObjectBytes, दशमलव स्ट्रिंग), सबसे छोटा और सबसे बड़ा मल्टीपार्ट खंड, भागों की अधिकतम संख्या और पृष्ठ का अधिकतम आकार। क्लाइंट शुरू होते समय इसे एक बार पढ़ें; यह कोई संसाधन सूचीबद्ध नहीं करता।
प्रतिक्रिया 200
| फ़ील्ड | प्रकार | आवश्यक | नियम |
|---|---|---|---|
apiVersions | string का ऐरे | हाँ | — |
gatewayRole | string | हाँ | इनमें से एक: api, reader |
features | boolean का मैप | हाँ | — |
limits | object | हाँ | — |
limits.maxObjectBytes | string | नहीं | दशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है |
limits.partBytes | integer | नहीं | सबसे छोटा मल्टीपार्ट खंड। |
limits.maxPartBytes | integer | नहीं | — |
limits.maxParts | integer | नहीं | — |
limits.maxPageSize | integer | नहीं | — |
प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507
उदाहरण
curl -X GET "$ARKVORY_URL/api/v1/capabilities" \
-H "Authorization: Bearer $ARKVORY_TOKEN"लोड बैलेंसर के लिए रेडीनेस जाँचें
GET HEAD /health/status
एक्सेस: कोई भी, बिना कुंजी के · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)
कुंजी की आवश्यकता नहीं है और कोई विवरण नहीं लौटाता: 200 के साथ {"status":"ready"}, या 503 के साथ unavailable अथवा draining और Retry-After। निर्भरता की जाँच साझा है और एक सेकंड के लिए कैश की जाती है, इसलिए बार-बार की जाने वाली प्रोब डेटाबेस पर भार नहीं डालतीं, और प्रोब अनुरोध-बजट में नहीं गिनी जाती।
प्रतिक्रिया 200
| फ़ील्ड | प्रकार | आवश्यक | नियम |
|---|---|---|---|
status | string | हाँ | इनमें से एक: ready, unavailable, draining |
प्रतिक्रियाएँ: 200, 400, 403, 503
उदाहरण
curl -X GET "$ARKVORY_URL/health/status"जाँचें कि प्रोसेस चल रही है
GET HEAD /health/live
एक्सेस: कोई भी, बिना कुंजी के · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)
जब तक प्रोसेस HTTP का उत्तर देती है, 200 के साथ {"status":"ok"} लौटाता है। यह किसी निर्भरता की जाँच नहीं करता, इसलिए रीस्टार्ट का निर्णय लेने के लिए इसका और ट्रैफ़िक का निर्णय लेने के लिए getReadinessStatus का उपयोग करें।
प्रतिक्रिया 200
| फ़ील्ड | प्रकार | आवश्यक | नियम |
|---|---|---|---|
status | string | हाँ | इनमें से एक: ok |
प्रतिक्रियाएँ: 200, 400, 403, 503
उदाहरण
curl -X GET "$ARKVORY_URL/health/live"OpenAPI दस्तावेज़ प्राप्त करें
GET HEAD /api/v1/openapi.json
एक्सेस: कोई भी मान्य कुंजी या सत्र · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)
इस डिप्लॉयमेंट का OpenAPI 3.0 दस्तावेज़ लौटाता है, जिसमें x-arkvory-* एक्सटेंशन हर ऑपरेशन के एक्सेस, रीट्राई और गेटवे नियम बताते हैं। surface (discovery, identity, catalog, transfers, administration या operations) केवल उसी क्षेत्र को लौटाता है; अज्ञात या दोहराया गया क्वेरी पैरामीटर 400 है। दस्तावेज़ हर कॉलर के लिए समान है और कोई अधिकार नहीं देता: यह जानने के लिए कि यह क्रेडेंशियल क्या कॉल कर सकता है, listVisibleOperations का उपयोग करें।
पैरामीटर
| नाम | स्थान | प्रकार | आवश्यक | नियम |
|---|---|---|---|---|
surface | क्वेरी | string | नहीं | इनमें से एक: discovery, identity, catalog, transfers, administration, operations; Documentation view only; not filtered by caller permissions. |
प्रतिक्रिया 200
| फ़ील्ड | प्रकार | आवश्यक | नियम |
|---|---|---|---|
openapi | string | हाँ | इनमें से एक: 3.0.3 |
info | object | हाँ | — |
paths | object | हाँ | — |
प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507
उदाहरण
curl -X GET "$ARKVORY_URL/api/v1/openapi.json" \
-H "Authorization: Bearer $ARKVORY_TOKEN"Prometheus मेट्रिक्स प्राप्त करें
GET HEAD /health/metrics
एक्सेस: कोई भी मान्य कुंजी या सत्र · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)
स्क्रेपर के लिए प्रोसेस की मेट्रिक्स Prometheus टेक्स्ट फ़ॉर्मैट (text/plain; version=0.0.4) में लौटाता है। काउंटर और हिस्टोग्राम इसी प्रोसेस के हैं और रीस्टार्ट के बाद शून्य से शुरू होते हैं (देखें arkvory_process_start_time_seconds); लेबल रूट टेम्पलेट, मेथड, स्टेटस क्लास और ट्रांसफ़र की दिशा तक सीमित हैं और कभी किसी आर्टिफ़ैक्ट, कुंजी या खाते का नाम नहीं देते। स्क्रेप अनुरोध-बजट में नहीं गिना जाता।
प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507
उदाहरण
curl -X GET "$ARKVORY_URL/health/metrics" \
-H "Authorization: Bearer $ARKVORY_TOKEN" \
-o fileवे ऑपरेशन सूचीबद्ध करें जिन्हें यह क्रेडेंशियल कॉल कर सकता है
GET HEAD /api/v1/operations
एक्सेस: कोई भी मान्य कुंजी या सत्र · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)
इस गेटवे के वे ऑपरेशन सूचीबद्ध करता है जिन्हें क्रेडेंशियल कॉल कर सकता है, operationId के क्रम में; प्रत्येक के साथ उसका क्षेत्र (surface), रीट्राई नियम, आवश्यक क्रियाएँ और वे conditions हैं जो केवल कॉल के समय जाँची जाती हैं (जैसे resource-state या upload-owner)। repository उस रिपॉज़िटरी के ऑपरेशन जोड़ता है (अज्ञात या पहुँच से बाहर की रिपॉज़िटरी पर 404), surface सूची को एक क्षेत्र तक सीमित करता है; प्रत्येक पृष्ठ में limit आइटम होते हैं (1–100, डिफ़ॉल्ट 50), after में next देकर आगे बढ़ें। उत्तर केवल परामर्शात्मक है: मेन्यू इससे बनाएँ, परंतु हर वास्तविक अनुरोध फिर से अधिकृत किया जाता है, और रीड गेटवे परिवर्तन करने वाले मेथड सूचीबद्ध नहीं करता।
पैरामीटर
| नाम | स्थान | प्रकार | आवश्यक | नियम |
|---|---|---|---|---|
repository | क्वेरी | string | नहीं | पैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$ |
surface | क्वेरी | string | नहीं | इनमें से एक: discovery, identity, catalog, transfers, administration, operations |
after | क्वेरी | string | नहीं | पैटर्न: ^[A-Za-z][A-Za-z0-9]{0,95}$ |
limit | क्वेरी | integer | नहीं | 1–100; डिफ़ॉल्ट 50 |
प्रतिक्रिया 200
| फ़ील्ड | प्रकार | आवश्यक | नियम |
|---|---|---|---|
apiVersion | string | हाँ | इनमें से एक: v1 |
documentVersion | string | हाँ | पैटर्न: ^\d+\.\d+\.\d+$ |
gatewayRole | string | हाँ | इनमें से एक: api, reader |
repository | string | हाँ | पैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$; null हो सकता है |
advisory | boolean | हाँ | इनमें से एक: true |
items | object का ऐरे | हाँ | अधिकतम 100 आइटम |
items[].operationId | string | हाँ | पैटर्न: ^[A-Za-z][A-Za-z0-9]{0,95}$ |
items[].method | string | हाँ | इनमें से एक: get, head, post, put, patch, delete |
items[].path | string | हाँ | पैटर्न: ^/; अधिकतम 512 वर्ण |
items[].summary | string | हाँ | अधिकतम 1024 वर्ण |
items[].surface | string | हाँ | इनमें से एक: discovery, identity, catalog, transfers, administration, operations |
items[].visibility | string | हाँ | इनमें से एक: public, authenticated, self, repository, owned-resource, delegated, bootstrap, administrator |
items[].retry | string | हाँ | इनमें से एक: read, never-automatic, idempotent, idempotency-key, compare-and-swap, reconcile-upload, reconcile-job |
items[].requiredActions | string का ऐरे | हाँ | अधिकतम 33 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: repository.read, storage.read, storage.manage, diagnostics.read, artifact.read, artifact.list, artifact.delete, artifact.promote, content.read, upload.create, upload.read, upload.write, upload.complete, upload.cancel, job.read, package.read, package.publish, asset.read, asset.write, asset.restore, annotation.read, annotation.write, reference.write, audit.read, service-account.read, service-account.manage, policy.read, policy.manage, credential.read, credential.manage, service-audit.read, backup.read, backup.manage |
items[].conditions | string का ऐरे | हाँ | अधिकतम 6 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: resource-state, upload-owner, job-owner, reference-owner, delegation-target-and-ceiling, own-key |
next | string | हाँ | पैटर्न: ^[A-Za-z][A-Za-z0-9]{0,95}$; null हो सकता है |
प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507
उदाहरण
curl -X GET "$ARKVORY_URL/api/v1/operations" \
-H "Authorization: Bearer $ARKVORY_TOKEN"