अपडेट
हब से आने वाले अपडेट प्रस्ताव और उनमें से किसी एक को इंस्टॉल करने का अनुरोध।
इस समूह के ऑपरेशन, उनके एक्सेस नियम, पुनः प्रयास नियम, पैरामीटर और जवाबों के साथ। हर अनुरोध में एक कुंजी होती है: Authorization: Bearer <कुंजी> (“प्रमाणीकरण” देखें)।
ऑपरेशन
अपडेट की स्थिति प्राप्त करें
GET HEAD /api/v1/system/updates
एक्सेस: व्यवस्थापक · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)
वह लौटाता है जो होस्ट अपडेटर बताता है: स्थापित संस्करण और स्कीमा, मिली सबसे नई रिलीज़ (latest), स्वचालित अपडेट की सेटिंग (automatic, hourUTC, pin, channel, statistics), phase (idle, checking, updating, failed), अंतिम error, अंतिम हार्टबीट और सेटिंग का revision, तथा अपडेटर के मेलबॉक्स में अब भी प्रतीक्षारत अनुरोध (pending)। जब कोई होस्ट अपडेटर जुड़ा न हो तो snapshot null होता है। revision को requestSystemUpdate में दें।
प्रतिक्रिया 200
| फ़ील्ड | प्रकार | आवश्यक | नियम |
|---|---|---|---|
snapshot | object | हाँ | null हो सकता है |
snapshot.revision | integer | हाँ | 0–2147483646 |
snapshot.currentVersion | string | हाँ | पैटर्न: ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$ |
snapshot.currentSchema | integer | हाँ | 0–2147483647 |
snapshot.automatic | boolean | हाँ | — |
snapshot.hourUTC | integer | हाँ | 0–23 |
snapshot.pin | string | हाँ | पैटर्न: ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$; null हो सकता है |
snapshot.heartbeatAt | string (date-time) | हाँ | — |
snapshot.checkedAt | string (date-time) | हाँ | null हो सकता है |
snapshot.latest | object | हाँ | null हो सकता है |
snapshot.latest.version | string | हाँ | पैटर्न: ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$ |
snapshot.latest.schema | integer | हाँ | 0–2147483647 |
snapshot.latest.sha256 | string | हाँ | SHA-256: 64 लोअरकेस हेक्साडेसिमल अंक |
snapshot.phase | string | हाँ | इनमें से एक: idle, checking, updating, failed |
snapshot.error | string | हाँ | इनमें से एक: check_failed, update_failed, conflict, maintenance_required, recovery_required, null; null हो सकता है |
snapshot.lastAttemptDay | string | हाँ | null हो सकता है |
snapshot.lastRequestId | string (uuid) | हाँ | null हो सकता है |
snapshot.statistics | boolean | नहीं | — |
snapshot.channel | string | नहीं | इनमें से एक: stable, beta |
pending | object | हाँ | इनमें से एक: null |
pending.id | string (uuid) | हाँ | — |
pending.expectedRevision | integer | हाँ | 0–2147483646 |
pending.kind | string | हाँ | इनमें से एक: check |
pending.version | string | हाँ | पैटर्न: ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$ |
pending.sha256 | string | हाँ | SHA-256: 64 लोअरकेस हेक्साडेसिमल अंक |
pending.automatic | boolean | हाँ | — |
pending.hourUTC | integer | हाँ | 0–23 |
pending.statistics | boolean | नहीं | — |
प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507
उदाहरण
curl -X GET "$ARKVORY_URL/api/v1/system/updates" \
-H "Authorization: Bearer $ARKVORY_TOKEN"अपडेट की क्रिया माँगें
POST /api/v1/system/updates/requests
एक्सेस: व्यवस्थापक · पुनः प्रयास: केवल अपेक्षित संशोधन के साथ दोहराएँ (compare-and-swap)
होस्ट अपडेटर को एक आदेश सौंपता है, जो काम करता है: kind check नई रिलीज़ खोजता है, apply दिए गए स्थिर version को उसके sha256 के साथ स्थापित करता है, configure automatic, hourUTC और वैकल्पिक रूप से statistics सेट करता है। id के रूप में नई UUID और getSystemUpdates से expectedRevision भेजें; 409 revision_mismatch का अर्थ है कि सेटिंग बदल गई, 503 busy का अर्थ है कि कोई अनुरोध लंबित है या अपडेटर काम कर रहा है, 503 unavailable का अर्थ है कि कोई अपडेटर जुड़ा नहीं है या उसका हार्टबीट पाँच मिनट से पुराना है। उत्तर 202 का केवल इतना अर्थ है कि अनुरोध कतार में लग गया: getSystemUpdates में phase, currentVersion और lastRequestId देखें। वही id और बॉडी दोहराना सुरक्षित है।
अनुरोध बॉडी (application/json)
| फ़ील्ड | प्रकार | आवश्यक | नियम |
|---|---|---|---|
id | string (uuid) | हाँ | — |
expectedRevision | integer | हाँ | 0–2147483646 |
kind | string | हाँ | इनमें से एक: check |
version | string | हाँ | पैटर्न: ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$ |
sha256 | string | हाँ | SHA-256: 64 लोअरकेस हेक्साडेसिमल अंक |
automatic | boolean | हाँ | — |
hourUTC | integer | हाँ | 0–23 |
statistics | boolean | नहीं | — |
प्रतिक्रिया 202
| फ़ील्ड | प्रकार | आवश्यक | नियम |
|---|---|---|---|
id | string (uuid) | हाँ | — |
प्रतिक्रियाएँ: 202, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507
उदाहरण
curl -X POST "$ARKVORY_URL/api/v1/system/updates/requests" \
-H "Authorization: Bearer $ARKVORY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"id":"00000000-0000-4000-8000-000000000000","expectedRevision":0,"kind":"check"}'