Pages
Pages je služba pro hostování statických webů. Hodí se pro HTML, CSS, JavaScript, obrázky a další soubory, které není potřeba spouštět jako aplikaci v kontejneru.
Vytvoření
Nový web vytvoříte v administraci v sekci Pages. Po vytvoření dostane automatickou doménu ve tvaru nazev-1.rostiapp.cz. Tato doména je ve stejném seznamu jako ostatní domény a můžete ji později odstranit, pokud v seznamu zůstane alespoň jedna jiná doména.
Domény
Domény se spravují v detailu webu v záložce Proxy. Pole domén zobrazuje jednotlivé domény jako štítky; doménu potvrdíte mezerou nebo Enterem. Při psaní administrace nabízí volné domény, subdomény z vašich DNS zón a subdomény na naší testovací doméně rostiapp.cz. U domén ve zónách spravovaných v Roští umí po potvrzení automaticky vytvořit A a AAAA záznamy na náš load balancer a doménu přiřadit k Pages webu. Subdomény na rostiapp.cz se přiřadí bez vytváření DNS záznamů, ale konkrétní celá doména může být použitá jen u jedné aplikace, stacku nebo Pages webu. Domény mimo vaše zóny se přidají jako externě spravované a DNS musíte nastavit u svého poskytovatele. Zelené štítky označují domény v našich DNS zónách, modré subdomény na testovací doméně a oranžové externě spravované domény. Seznam domén nesmí zůstat prázdný.
Nahrávání souborů přes rosticli
Primární způsob nahrávání souborů je přes rosticli. Webové rozhraní slouží k vytvoření webu, zobrazení informací včetně využitého prostoru a aktuální ceny za 30 dní a správě domén; samotný obsah webu nahrajete z terminálu.
Základní postup:
rosticli login # pouze při prvním použití
rosticli pages init # vytvoří nebo propojí Pages web a uloží ho do .rostistate
rosticli pages push # nahraje soubory z aktuálního adresáře
pages init se zeptá, zda chcete vytvořit nový web, nebo použít existující. Vybrané ID společnosti a webu uloží do .rostistate. Stavový soubor obsahuje informaci, že tento adresář patří ke službě Pages; příkazy pro stacky v takovém adresáři skončí chybou a naopak.
Pokud chcete nahrávat jiný adresář než aktuální, použijte --dir:
rosticli pages push --dir dist
Soubor .rostistate a soubory .rostiignore se nikdy nenahrávají. Další soubory můžete vynechat pomocí .rostiignore, který používá běžnou syntaxi podobnou .gitignore:
node_modules/
*.log
.env
Ve výchozím nastavení se ignore pravidla čtou ze souboru ./.rostiignore v aktuálním adresáři. Jiný soubor určíte pomocí --ignore-file:
rosticli pages push --dir dist --ignore-file .deployignore
Více prostředí pomocí targetů
Stejně jako u stacků můžete v jednom adresáři spravovat více Pages webů, například production a staging:
rosticli pages init --target production
rosticli pages init --target staging
rosticli pages targets
rosticli pages set-target production
rosticli pages push
rosticli pages push --target staging
pages targets vypíše dostupné targety a označí aktivní target hvězdičkou. pages set-target production změní aktivní target pro další příkazy. --target slouží jako jednorázové přepsání aktivního targetu.
Target od lokálního adresáře odpojíte příkazem:
rosticli pages unlink --target staging
Odpojení nesmaže web v Pages, odstraní pouze lokální vazbu v .rostistate. Celý stavový soubor odstraníte pomocí rosticli pages unlink --all.
Správa obsahu
Vzdálené soubory vypíšete příkazem:
rosticli pages files
rosticli pages files assets
Obsah smažete pomocí pages delete. Bez cesty smaže celý obsah webu, ale web samotný v systému zůstane:
rosticli pages delete # smaže vše po potvrzení
rosticli pages delete assets/app.js
rosticli pages delete --path assets --path old.html
rosticli pages delete --force # bez potvrzení
Informace o webu, doménách a využitém prostoru zobrazíte příkazem:
rosticli pages info
rosticli pages info --json
rosticli pages info --page-id 456 --company-id 123
Všechny weby dostupné pod vaším tokenem vypíšete pomocí:
rosticli pages list
Alternativně můžete použít REST API.
Příklad nahrání souboru přes REST API:
curl --fail --silent --show-error \
-X PUT \
"https://admin.rosti.cz/api-n/123/pages/456/files/index.html" \
-H "X-API-Key: VAS_API_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary "@index.html"
Stažení souboru:
curl --fail --silent --show-error \
"https://admin.rosti.cz/api-n/123/pages/456/files/index.html" \
-H "X-API-Key: VAS_API_TOKEN" \
-o index.html
Smazání souboru:
curl --fail --silent --show-error \
-X DELETE \
"https://admin.rosti.cz/api-n/123/pages/456/files/index.html" \
-H "X-API-Key: VAS_API_TOKEN"
123 je ID společnosti a 456 je ID webu v Pages. Obě hodnoty najdete v URL administrace.