vpsAdmin je náš centrální informační systém, který slouží k evidenci členů spolku a správě VPS. Základním kamenem vpsAdminu je API, nad kterým je postaveno webové rozhraní a CLI nástroje.
Transakce jsou způsob, jakým vpsAdmin vykonáva změny na serverech/VPS vyžádané uživatelem. Změny nejsou provedeny hned, ale řadí se do fronty a jsou postupně vykonávány.
Transakce spadají do skupin nazvaných „transaction chain“. Každá operace (vytvoření VPS, start, stop, klon, atd.) je reprezentována jedním chainem, který seskupuje více transakcí. Ve webovém rozhraní v transaction logu v pravém panelu se zobrazuje seznam deseti posledních chainů a jejich postup v procentech. Kliknutím na ID chainu lze vidět, jaké transakce obsahuje.
V ideálním případě se chain buď provede úplně a nebo vůbec. Pokud k dojde k neočekávané či neošetřené chybě, bude muset zasáhnout administrátor.
Chainy se starají také o udržování konzistence databáze. Změny v databázi se provedou, jen když chain doběhne úspěšně. Může to být trochu matoucí, když se např. po změně hostname stále zobrazuje to staré. Po dokončení chainu se hostname aktualizuje a bude správně.
S každým objektem (VPS, dataset, snapshot, apod.) lze v jednu chvíli provádět jen jednu operaci. Zámky slouží k zaručení konzistence, aby si pod sebou vpsAdmin sám nepodřezal větev.
Pokud na vás vyskočí chybová hláška: „Resource is locked. Please try again.“ znamená to, že objekt, se kterým chcete něco udělat, je uzamčen a musíte počkat, až bude k dispozici.