Zdravím,
na adrese https://api.vpsfree.cz je k
dispozici vývojová verze vpsAdmin API. Je to ve stavu, kdy to
funguje, ale není to doladěné a nemá to všechny funkce.
Při vývoji vzniknul framework HaveAPI [1], který naše API využívá.
Jedná se o framework na tvorbu sebepopisujících se RESTful API.
Sebepopisující se API odpovídá na HTTP metodu OPTIONS a vrací JSON
obsahující seznam dostupných verzí API, objektů, akcí, jejich
vstupních/výstupních parametrů, popis, validaci, ukázku použítí,
apod. Díky této vlastnosti lze vytvořit klienta, který dokáže
komunikovat s jakýmkoli API, které je postavené nad HaveAPI. Změny v
API se okamžitě projeví ve všech klientech, atd.
Dokumentace API:
- Automaticky generovaná frameworkem na https://api.vpsfree.cz
Co to zatím umí:
- Vytvoření a smazání playground VPS,
- seznam vlastních VPS, start, stop, restart, změna hesla,
přeinstalace,
- výpis konfigurace VPS,
- seznam IP adres VPS,
- seznam dostupných dstribucí (nutné k vytvoření VPS).
Připravení klienti:
- CLI a klient v Ruby (>= 2.0) [2], který také existuje v
obecné formě (pro jakékoliv API, rozdíl je pouze ve jménu a výchozí
URL) [3],
- PHP klient [4] a jeho obecná forma [5].
Návody na instalaci a použití jednotlivých klientů jsou na
přiložených odkazech.
Aktivita je vítána. Hodilo by se, kdyby se našlo pár lidí, co by
udělali klienta ve svém oblíbeném jazyce. Nejvíc by se nám hodil
alespoň proof-of-concept v JS, abychom si ověřili, že je možné
udělat UI kompletně v HTML5 & JS, já už na to aktuálně nemám
čas.
Pokud nenarazíme na nějaké větší problémy, aplikační logika
vpsAdminu se bude postupně přesouvat z webového rozhraní do tohoto
API. Současně se z vpsAdminu pomalu bude stávat nezávislý projekt na
vpsFree.cz, aby jeho použití nebylo limitováno naším sdružením a šel
nasadit i jinde.
Do budoucna se počítá s tím, že přes API půjde hýbat s parametry VPS
a člen si bude moci rozdělit přidělené prostředky mezi více VPS jak
se mu zlíbí (v rozumných mantinelech).
Rozhodli jsme se to spustit a oznámit co nejdříve, i když
nekompletní, aby se koncept otestoval v praxi. Budu rád za
jakoukoliv zpětnou vazbu, nápady či připomínky.
[1]
https://github.com/vpsfreecz/haveapi
[2] https://github.com/vpsfreecz/vpsfree-client
[3] https://github.com/vpsfreecz/haveapi-client
[4]
https://github.com/vpsfreecz/haveapi-client-php/tree/vpsfree
[5] https://github.com/vpsfreecz/haveapi-client-php
--
S pozdravem
Jakub Skokan