Токенҳои API-и Wolkra калидҳое мебошанд, ки ба лоиҳа маҳдуданд ва бо wk_ оғоз мешаванд. Токенро дар сарлавҳаи Authorization: Bearer фиристед, то REST API-ро дар https://api.wolkra.com/v1 даъват кунед, бо дастрасии хондан ё хондан/навиштан, рӯйхати ихтиёрии иҷозатдодашудаи IP ва санаи ихтиёрии анҷоми мӯҳлат.
Токен созед
- Дар консол ба лоиҳае гузаред, ки токен бояд ба он дастрасӣ дошта бошад.
- API tokens-ро кушоед ва Create token-ро интихоб кунед.
- Ба он номе диҳед, ки нишон диҳад дар куҷо истифода мешавад, масалан
ci-deployёmonitoring-readonly. - Сатҳи дастрасиро интихоб кунед:
- Хондан (Read): танҳо рӯйхат ва дидани захираҳо.
- Хондан/навиштан (Read/write): инчунин сохтан, тағйир додан ва нест кардани захираҳо.
- Ба таври ихтиёрӣ рӯйхати иҷозатдодашудаи IP илова кунед: танҳо дархостҳо аз ин суроғаҳо ё диапазонҳо қабул мешаванд.
- Ба таври ихтиёрӣ санаи анҷоми мӯҳлат-ро муқаррар кунед.
- Токенро созед ва онро фавран нусха бардоред. Онро мисли парол нигоҳ доред, масалан дар менеҷери махфиятҳо ё дар тағйирёбандаҳои махфии CI-и худ.
Дархости аввалини худро фиристед
Серверҳои лоиҳаро рӯйхат кунед:
curl -H "Authorization: Bearer wk_…" https://api.wolkra.com/v1/servers
Дар скриптҳо токенро на дар фармон, балки дар тағйирёбандаи муҳит нигоҳ доред:
export WOLKRA_TOKEN='wk_…'
curl -s -H "Authorization: Bearer $WOLKRA_TOKEN" https://api.wolkra.com/v1/servers | jq .
jq (бо sudo apt install -y jq насб кунед) ҷавоби JSON-ро формат мекунад.
Захираҳо
API ҳамон захираҳоеро дар бар мегирад, ки консол:
| Роҳ | Захира |
|---|---|
/servers |
серверҳои абрӣ |
/ssh_keys |
калидҳои SSH-и захирашуда |
/volumes |
ҳаҷмҳои анбори блокӣ |
/networks |
шабакаҳои хусусӣ |
/firewalls |
firewall-ҳо |
/load_balancers |
мувозинаткунандаҳои сарборӣ |
/floating_ips |
IP-ҳои шинокунанда |
/actions |
амалҳо, масалан тағйири барқ, бо ҳолати онҳо |
Ҳамаи роҳҳо нисбат ба https://api.wolkra.com/v1 мебошанд. Масалан, барои рӯйхат кардани ҳаҷмҳо:
curl -s -H "Authorization: Bearer $WOLKRA_TOKEN" https://api.wolkra.com/v1/volumes
Амалҳо
Тағйироте, ки вақт мегиранд, масалан оғоз кардани сервер ё пайваст кардани ҳаҷм, ҳамчун амалҳо (actions) иҷро мешаванд. Пеш аз идома додани скрипт пешрафти онҳоро дар /actions санҷед, ба ҷои он ки гумон кунед тағйирот анҷом ёфтааст.
Хатоҳо
API бо рамзҳои стандартии ҳолати HTTP ҷавоб медиҳад. Маъноҳои маъмул:
| Ҳолат | Маъно |
|---|---|
401 |
Токен нест, нодуруст аст ё мӯҳлаташ гузаштааст |
403 |
Иҷозат нест, масалан навиштан бо токени танҳо барои хондан ё дархост аз берун аз рӯйхати иҷозатдодашуда |
404 |
Захира дар ин лоиҳа вуҷуд надорад |
429 |
Дархостҳо аз ҳад зиёданд; интизор шавед ва дубора кӯшиш кунед |
5xx |
Мушкилоти муваққатӣ; бо таъхир дубора кӯшиш кунед |
Ҳангоми ислоҳи хатоҳо рамзи ҳолатро чоп кунед:
curl -s -o /dev/null -w '%{http_code}\n' \
-H "Authorization: Bearer $WOLKRA_TOKEN" https://api.wolkra.com/v1/servers
Таҷрибаи хуб
- Барои ҳар истифода як токен. Як токен барои CI, дигаре барои мониторинг, дигаре барои ноутбуки шумо. Якеро бекор кунед, бе он ки дигаронро вайрон кунед.
- Камтарин имтиёзҳо. Барои панелҳои назоратӣ ва мониторинг токенҳои хонданро истифода баред.
- Аз рӯи суроға маҳдуд кунед. Барои токенҳое, ки аз серверҳои собит ё CI runner-ҳо истифода мешаванд, рӯйхати иҷозатдодашудаи IP илова кунед.
- Мӯҳлати токенҳоро муқаррар кунед, ки барои лоиҳа ё шахсе пешбинӣ шудаанд, ки баъдтар меравад.
- Ҳеҷ гоҳ токенҳоро ба git commit накунед. Агар яке фош шавад, онро фавран дар консол нест кунед ва токени нав созед.
- Гоҳ-гоҳ рӯйхати токенҳо ва журнали фаъолияти созмонро баррасӣ кунед.
Токенро бекор кунед
API tokens-ро кушоед, токенро ёбед ва онро нест кунед. Аз он лаҳза дархостҳо бо он ноком мешаванд.
Автоматикунонӣ
Скриптҳо API-ро бевосита тавассути HTTPS даъват мекунанд. curl, requests-и Python, net/http-и Go ё ҳар мизоҷи HTTP кор мекунад. API-ро бо cloud-init user data якҷоя кунед, то серверҳоро ҳангоми боршавии аввал пурра танзим кунед.
Маълумоти бештар дар саҳифаи маҳсулот: API. Барои ҳифзи худи ҳисоб ба амнияти ҳисоб нигаред.
Саволҳои маъмул
API-и Wolkra дар куҷост?
Дар https://api.wolkra.com/v1. Ин REST API аст, ки JSON ва аутентификатсия бо токени Bearer-ро истифода мебарад.
Токен ба чӣ дастрасӣ дорад?
Ба як лоиҳа. Ҳар токен ба лоиҳае тааллуқ дорад, ки дар он сохта шудааст, ва ба захираҳои он ё дастрасии хондан ё хондан/навиштан дорад.
Оё токенро бо суроғаҳои серверҳои худ маҳдуд карда метавонам?
Бале. Ҳангоми сохтани токен рӯйхати иҷозатдодашудаи IP илова кунед ва дархостҳо аз ҳар суроғаи дигар рад карда мешаванд.
Кадом абзорҳо API-ро даъват карда метавонанд?
Ҳар мизоҷи HTTP: curl, Python requests, Go net/http, JavaScript fetch ё қадамҳои HTTP-и системаи CI-и шумо.