Wolkra API एक REST API है, जो https://api.wolkra.com/v1 पर उपलब्ध है। इससे आप अपने कोड से सर्वर, वॉल्यूम, नेटवर्क, फ़ायरवॉल और लोड बैलेंसर बना और मैनेज कर सकते हैं। रिक्वेस्ट प्रोजेक्ट-स्कोप्ड टोकन से ऑथेंटिकेट होती हैं, जिन्हें आप read-only, कुछ खास IP एड्रेस और एक तय अवधि तक सीमित कर सकते हैं।
API में क्या-क्या शामिल है
API वही काम करता है जो आप कंसोल में करते हैं। आम काम:
- क्लाउड सर्वर बनाना, रीसाइज़ करना, रीबिल्ड करना, चालू या बंद करना और डिलीट करना
- ब्लॉक स्टोरेज वॉल्यूम बनाना, अटैच करना, बढ़ाना और डिटैच करना
- बैकअप चालू करना और स्नैपशॉट लेना
- प्राइवेट नेटवर्क और NAT गेटवे सेट अप करना
- फ़ायरवॉल, लोड बैलेंसर, फ़्लोटिंग IP और रिवर्स DNS मैनेज करना
सब कुछ HTTPS पर JSON के ज़रिए चलता है, सामान्य HTTP मेथड और स्टेटस कोड के साथ।
API टोकन
टोकन कंसोल में आपके प्रोजेक्ट की सेटिंग्स में बनाए जाते हैं।
| विकल्प | यह क्या करता है |
|---|---|
| प्रोजेक्ट स्कोप | एक टोकन सिर्फ़ एक प्रोजेक्ट के लिए काम करता है |
wk_ प्रीफ़िक्स |
कोड और सीक्रेट स्कैनर में Wolkra टोकन आसानी से पहचाने जा सकते हैं |
| Read या read/write | Read-only टोकन सिर्फ़ लिस्ट और जाँच कर सकते हैं, read/write टोकन बदलाव कर सकते हैं |
| IP allow list | वैकल्पिक, किसी दूसरे एड्रेस से आई रिक्वेस्ट को रिजेक्ट करती है |
| एक्सपायरी | वैकल्पिक, आपकी चुनी हुई तारीख के बाद टोकन काम करना बंद कर देता है |
हर स्क्रिप्ट या सर्विस को अपना अलग टोकन दें, जिसका स्कोप उतना ही हो जितना ज़रूरी है। मॉनिटरिंग स्क्रिप्ट के लिए read-only काफ़ी है। डिप्लॉयमेंट पाइपलाइन को read/write, अपने रनर के लिए allow list और एक एक्सपायरी चाहिए जिसे आप समय-समय पर रिन्यू करें।
पहली रिक्वेस्ट
टोकन को bearer टोकन की तरह भेजें:
curl -H "Authorization: Bearer wk_your_token_here" \
https://api.wolkra.com/v1/servers
जवाब में टोकन के प्रोजेक्ट के सर्वर की सूची आती है। API टोकन डॉक में टोकन बनाने और पहली कॉल करने का तरीका स्टेप बाय स्टेप बताया गया है।
टीमें API का इस्तेमाल कैसे करती हैं
- डिप्लॉयमेंट पाइपलाइन सर्वर बनाती हैं, उसके बूट होने का इंतज़ार करती हैं, डिप्लॉय चलाती हैं और लोड बैलेंसर अपडेट करती हैं।
- फ़ेलओवर स्क्रिप्ट एक्टिव सर्वर के जवाब देना बंद करने पर फ़्लोटिंग IP को दूसरे सर्वर पर ले जाती हैं।
- सुरक्षित रिलीज़ के लिए हर रिलीज़ से पहले स्नैपशॉट लिया जाता है और पुराने स्नैपशॉट बाद में डिलीट कर दिए जाते हैं।
- कम समय वाले एनवायरनमेंट किसी ब्रांच या टेस्ट रन के लिए सर्वर चालू करते हैं और काम पूरा होने पर उन्हें डिलीट कर देते हैं। प्रति घंटा बिलिंग की वजह से दो घंटे चलने वाले सर्वर का खर्च सिर्फ़ दो घंटे का होता है। देखें डेवलपमेंट एनवायरनमेंट।
- इलास्टिक CI रनर कतार बढ़ने पर सर्वर जोड़ते हैं और खाली होने पर हटा देते हैं।
- इंटरनल डैशबोर्ड read-only टोकन से सर्वर और ग्राफ़ पढ़ते हैं।
कंसोल, Composer और API एक साथ
कंसोल, Composer और API, तीनों एक ही रिसोर्स पर काम करते हैं। आप Composer में स्टैक बना सकते हैं, उसे अप्लाई कर सकते हैं और फिर स्क्रिप्ट से मैनेज कर सकते हैं। इनमें से किसी से भी किया गया बदलाव प्रोजेक्ट के एक्टिविटी लॉग में दिखता है, ताकि टीम देख सके कि किसने क्या किया। देखें टीमें और सुरक्षा।
किसी भी भाषा के साथ काम करें
API सामान्य REST और JSON पर आधारित है, इसलिए किसी खास लाइब्रेरी की ज़रूरत नहीं है। curl और jq वाली शेल स्क्रिप्ट, HTTP क्लाइंट वाली Python स्क्रिप्ट, Go सर्विस या Node.js जॉब, सब एक ही तरह काम करते हैं: bearer टोकन के साथ रिक्वेस्ट भेजें, JSON जवाब पढ़ें और स्टेटस कोड जाँचें। जवाब में हर रिसोर्स उसकी ID, नाम, लेबल और स्थिति के साथ आता है, इसलिए स्क्रिप्ट सर्वर बना सकती है, उसके चालू होने तक इंतज़ार कर सकती है और फिर वॉल्यूम अटैच कर सकती है या उसे लोड बैलेंसर में जोड़ सकती है।
स्क्रिप्ट के लिए अच्छी आदतें:
- ID हार्ड-कोड करने के बजाय रिसोर्स ढूँढने के लिए लेबल इस्तेमाल करें।
- हर कॉल का HTTP स्टेटस कोड जाँचें और एरर आने पर रुक जाएँ।
- स्थिति में बदलाव जानने के लिए रिक्वेस्ट के बीच थोड़ा रुककर पोल करें, लगातार लूप में नहीं।
- अलग-अलग काम के लिए अलग टोकन रखें, ताकि एक टोकन रद्द करने से बाकी न टूटें।
सुरक्षा से जुड़ी बातें
- टोकन को पासवर्ड की तरह संभालें। उन्हें सीक्रेट मैनेजर या अपने CI के सीक्रेट स्टोर में रखें, किसी पब्लिक रिपॉज़िटरी में कभी नहीं।
- जो टोकन तय एड्रेस से चलते हैं, उनके लिए IP allow list इस्तेमाल करें।
- कॉन्ट्रैक्टर और अस्थायी कामों के टोकन पर एक्सपायरी लगाएँ।
- टोकन लीक होने का ज़रा भी शक हो, तो उसे तुरंत कंसोल में रद्द करें।
ध्यान रखने वाली सीमाएँ
- Wolkra को ऑटोमेट करने का तरीका API ही है। curl या कोई भी HTTP क्लाइंट इस्तेमाल करें।
- हर टोकन एक ही प्रोजेक्ट के भीतर काम करता है।
- रिसोर्स फ़्रैंकफ़र्ट में बनाए जाते हैं, जो फ़िलहाल हमारी एकमात्र लोकेशन है।
संबंधित पेज
ऑटोमेशन शुरू करें
प्रोजेक्ट बनाएं, टोकन जनरेट करें और कुछ ही मिनटों में अपनी पहली कॉल करें। Wolkra पर अकाउंट बनाएं।
अक्सर पूछे जाने वाले सवाल
Wolkra API कहाँ है?
REST API https://api.wolkra.com/v1 पर है। यह HTTPS पर JSON का इस्तेमाल करता है और Authorization हेडर में भेजे गए API टोकन से ऑथेंटिकेट होता है।
API टोकन कैसे काम करते हैं?
आप टोकन कंसोल में बनाते हैं। हर टोकन एक प्रोजेक्ट से जुड़ा होता है, wk_ से शुरू होता है और या तो read-only होता है या read/write। आप इसमें IP allow list और एक्सपायरी डेट जोड़ सकते हैं।
API के साथ मैं कौन-से टूल इस्तेमाल कर सकता हूँ?
HTTPS और JSON समझने वाला कोई भी टूल काम करता है, चाहे वह शेल स्क्रिप्ट में curl हो या आपकी पसंदीदा प्रोग्रामिंग भाषा का HTTP क्लाइंट।
API से मैं क्या-क्या कर सकता हूँ?
API उन सभी रिसोर्स को कवर करता है जिन्हें आप कंसोल में मैनेज करते हैं, जैसे सर्वर, वॉल्यूम, नेटवर्क, फ़ायरवॉल, लोड बैलेंसर और IP एड्रेस।
क्या API मुफ़्त है?
हाँ। API कॉल का कोई शुल्क नहीं है। आप सिर्फ़ उन रिसोर्स के लिए भुगतान करते हैं जो आप बनाते हैं, और यह आपके प्रीपेड बैलेंस से प्रति घंटा बिलिंग के हिसाब से कटता है।