API

Je to už dlouho, co jsme se o API zmiňovali poprvé. To jsme si ještě nemysleli, že to potrvá tak dlouho. Nakonec jsme se k tomu dostali až po dlouhých dvou letech. Ale o to lepší nakonec výsledek je. Nyní máme hroznou radost, že vám můžeme oznámit, že API pro aplikace a databáze je hotové.

Tahle novinka je pro Roští milníkem v jeho vývoji, protože API otevírá v jeho službách úplně nové možnosti. Je to základ, na kterém budeme stavět v následujících měsících. S API můžete integrovat deployment do vašeho build systému, případně upravit deployovací skripty. Možností je hodně. Na implementaci některých se chystáme sami, jiné necháme v rukou komunity.

Naši hlavní prioritou v téhle oblasti bude utilitka s názvem rostictl, se kterou půjde naše API integrovat do vašich shell scriptů pro deploy a testování. Díky tomu, že používáme Django a Django REST framework je to možné už dnes díky coreapi schématům a nástroji coreapi-cli. Vytvoření aplikace tak lze provést z BASHe třeba takto:

coreapi action v1 apps create -p company_id=1 -p plan=1 -p name=myapp -p image=rosti/python:3.5

Naše utilitka k tomu ale přidá jedno malé vylepšení, Rostifile – definice toho co aplikace potřebuje

Další varianty volání coreapi lze nalézt v naší dokumentaci pro API. Dokumentace je v angličtině. Odpovědi z API budou chodit zatím v češtině, ale co nejdříve se je pokusíme také přepnout do angličtiny. Bojujeme trochu s tím, že je admin spojený s API. Řešení je několik a nakonec jedno vybereme, ale teď jsme chtěli API hlavně vypustit.

Je možné, že během následujících týdnů a měsíců tuto verzi budeme ještě upravovat, ale nebude to větší změna než datový typ nějakého fieldu.

Chybí nám ještě API pro DNS a platby. DNS doplníme hned jak to bude možné, protože to budeme potřebovat pro rostictl. U plateb uvidíme, není to zatím priorita.

Další změny

Společně s API přišly i nějaké další změny. Pojďme mrknout na screenshot.

Hned na první pohled je vidět první změna. Úložiště už nejsou vázaná na aplikaci. Chtěli jsme dřív nabídnout službu zálohování aplikace včetně databáze. Tedy takový snapshot stavu v čase. Nakonec se to ukázalo být komplikované. Navíc jsme na základě zpětné vazby zjistili, že uživatelé chtějí spíše jednu databázi k více aplikacím. Tento krok tedy usnadní fungování nám a snad i většině uživatelů.

Druhou změnou je přesun položky upozornění ze side menu nahoru do loga, kde byl v našem původním návrhu. Potřebovali jsme tuhle vlastnost rychle a tak jsme úplně neřešili kde se zobrazí. Tímto jsme to tedy opravili.

Třetí změna ani tak změna není, protože tohle už v administraci nějaký čas je. Ale je to místo, kde se nastavuje token pro API a taky tu můžete změnit heslo pro svůj účet. Token je generovaný pro uživatele, ne pro firmu. Takže s jedním tokenem můžete přistupovat ke všem aplikacím firem, ke kterým máte práva i v administraci.

A to je všechno. Budeme rádi, když si naše API zkusíte a když nám nahlásíte jakýkoli bug na který narazíte. Většinu toho chytneme v Sentry, ale i tak budeme rádi za zpětnou vazbu.