[vpsFree.cz: community-list] [vpsFree.cz: news-list] vpsAdmin API a další směr vývoje
Pavel Snajdr
snajpa at snajpa.net
Thu May 22 10:29:02 CEST 2014
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Ahoj,
On 05/22/2014 10:18 AM, Peter Šufliarsky wrote:
> Ahojte,
>
> v poslednej dobre intenzívne využívam jedno REST-ové API, tak
> pridávam dva postrehy, o ktorých si myslím, že by mohli byť
> zaujímavé.
>
> Súhlasím s tým prihlasovaním. V mojom prípade prihlasovanie riešime
> tak, že máme authentication request, v ktorom sa odošlú
> prihlasovacie údaje. Po úspešnom prihlásení server vytvorí session
> a v hlavičke odpovede odošle okrem iného Set-Cookie SESSIONID=xxx,
> kde xxx je nejaký unikátny kľúč. Ten sa potom odosiela v hlavičke
> ostatných requestov a server podľa toho overí užívateľa. Platnosť
> session ID vyprší po 30 minutách nečinnosti alebo po odoslaní
> logout requestu.
To z toho API dela stateful = musim drzet stav na obou stranach, coz
je treba pro uplne simple skripteni zbytecna komplikace.
>
> Operácie typu start/stop/restart a podobne by som riešil takto:
> POST /v1/vpses/:vps_id?action=start Je to asi len kozmetická zmena,
> ale mne to pripadá byť trochu viac logické. start/stop/restart
> nereprezentujú žiadne resources na serveri.
To je dobra poznamka.
/snajpa
>
> Peťo
>
>
>
> 2014-05-22 9:48 GMT+02:00 René Klačan <rene.klacan at gmail.com
> <mailto:rene.klacan at gmail.com>>:
>
> Ahojte,
>
> nebolo jednoduchsie a casovo uspornejsie pouzit uz nejaky
> existujuci API framework? Z mojho pohladu by to mohlo usetrit vela
> casu. Napriklad https://github.com/intridea/grape . Ci si myslite,
> ze poziadavky su natolko specificke, ze by to podobna kniznica
> efektivne nepokryla a bolo by ju nutne az nezmyselne ohybat?
>
> Ale inak skvela praca, velmi pekne napisane a tiez velmi ocenujem,
> ze to je v Ruby! Len by som vytkol to, ze tam nevidim testy.
>
> Rene
>
>
> 2014-05-21 22:10 GMT+02:00 Pavel Snajdr <snajpa at snajpa.net
> <mailto:snajpa at snajpa.net>>:
>
> Ahoj,
>
> posilat porad username+password a nemit rozliseni mezi API
> pristupem a UI pristupem je smrt, natoz to chtit nejak potom
> auditovat, totalne nemozne - takze to je jedna z veci, co se bude
> resit dal, vime o tom.
>
> Neco na ten, jak rikas, je urcite v planu, ono to jenom nejde
> delat jako revoluci "vsechno najednou", jelikoz prerodit vpsAdmin
> za behu v neco min srackoidniho (zdravim sam sebe o 5 let v
> minulosti) to neni task na par tydnu a obzvlast kdyz se to clovek
> rozhodne udelat poradne a jeste to chce udelat recyklovatelne.
>
> Proto jsme vymysleli jak co nejvic ty prace ohledne API a tak
> automatizovat uz samotnym napsanim toho kodu urcitym stylem, aby
> se napsal jenom jednou a nebylo potreba udrzovat 228342934
> <tel:228342934> veci okolo jako napr. dokumentace a kvadrilion
> ruznych klientu pro triliardu platform :))
>
> Aither prerodil tenhle muj napad v HaveAPI, coz vypada jako uplne
> super vec, na kterou jsem celou dobu cekal. Uz nejakou chvili se
> zabyvam s ruznymi lidmi automatizaci ruznych low-level procesu
> (mluvim o low-level vecech z pohledu provozovatele byznysu online,
> tzn. nastaveni OS, runtime jazyka, DB...) a presne nejaka takovahle
> moznost jak vybavit uzavrene komplexni prostredi jasne popsanym
> strukturovanym rozhrani na praci s nim, to mi presne chybelo.
>
> Proto bych chtel, jestli mate kdo ted cas, fakt na to mrknete,
> jestli jste meli potrebu kdy tvorit nejaky APIcka pro neco, tohle
> je uplne o necem jinym, je to holt vyzdimana koncentrovana bolest
> pri psani API pretavena v lek :))
>
> No a celej duvod, proc jsem se s Aitherem dohodnul, ze to announcne
> uz ted, kdyz se uci na statnice, je aby byl prostor na feedback.
>
> Takze kdo jste kdy delal HTTP API pro neco, kouknete na to a dejte
> vedet. Dik!
>
> S pozdravem
>
> Pavel Snajdr
>
> +421 948 816 186 <tel:%2B421%20948%20816%20186> | +420 720 107 791
> <tel:%2B420%20720%20107%20791> | 110-010-956 CTO of Relbit
> | Predseda vpsFree.cz, o.s. | RHCE http://relbit.com |
> http://vpsfree.cz | https://www.redhat.com
>
> On 05/21/2014 08:20 PM, Ján Raska wrote:
>> Ahoj,
>
>> super napad. Akurat mam malu vyhradu voci autentifikacii,
>> moderne RESTful APIs sa dnes vacsinou robia stateless s pouzitim
>> tokenu, ktory sa zasiela vramci Authentication headeru. S tym ze
>> okrem temporary tokenu je aj moznost zisat long-term token (bez
>> expiracie), alebo este lepsie short-term token spolu s refresh
>> tokenom (refresh token bezpecne ulozim, komunikujem so short
>> term tokenom a ked vyprsi, tak pomocou refresh tokenu urobim
> reissue). V
>> podstate na podobnom principe pracuje OAuth 2.0, ale na nieco
>> taketo je z mojich skusenosti jednoduchsie nakodit nieco vlastne
>> nez implementovat cely OAuth (pokial samozrejme nepouzijem
>> hotovu libku :) ).
>
>> Vyhoda takehoto API je, ze sa potom k tomu daju napisat mobilne
>> appky, do ktorych sa prihlasis raz a oni si token ulozia do
>> device DB.
>
>> Jano
>
>> On 20 May 2014, at 19:01, Jakub Skokan
> <jakub.skokan at havefun.cz <mailto:jakub.skokan at havefun.cz>
>> <mailto:jakub.skokan at havefun.cz
> <mailto:jakub.skokan at havefun.cz>>> wrote:
>
>>> 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 _______________________________________________
>>> News-list mailing list News-list at lists.vpsfree.cz
> <mailto:News-list at lists.vpsfree.cz>
>>> <mailto:News-list at lists.vpsfree.cz
> <mailto:News-list at lists.vpsfree.cz>>
>>> http://lists.vpsfree.cz/listinfo/news-list
>
>
>
>> _______________________________________________ Community-list
>> mailing list Community-list at lists.vpsfree.cz
> <mailto:Community-list at lists.vpsfree.cz>
>> http://lists.vpsfree.cz/listinfo/community-list
>
> _______________________________________________ Community-list
> mailing list Community-list at lists.vpsfree.cz
> <mailto:Community-list at lists.vpsfree.cz>
> http://lists.vpsfree.cz/listinfo/community-list
>
>
>
> _______________________________________________ Community-list
> mailing list Community-list at lists.vpsfree.cz
> <mailto:Community-list at lists.vpsfree.cz>
> http://lists.vpsfree.cz/listinfo/community-list
>
>
>
>
> _______________________________________________ Community-list
> mailing list Community-list at lists.vpsfree.cz
> http://lists.vpsfree.cz/listinfo/community-list
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iF4EAREIAAYFAlN9tUwACgkQMBKdi9lkZ6qoLwEAzTr9FsrfsvJzkNbT2LBvIsA9
PuR1FJSk9bZXl//nksIA/j+qBjUeVNI3fajv/YIdtB2CoYrNU+mTVP6m7vRfJIGI
=B+GE
-----END PGP SIGNATURE-----
More information about the Community-list
mailing list