Predlošci aplikacija i remiksi
Dostupnost
Tijek rada manifesta predloška i zapisa aplikacije je implementiran. Može navesti manifeste koje kurira operator, stvoriti novi zapis aplikacije iz jednog, postaviti ne-tajne vrijednosti okruženja kad je spremište okruženja konfigurirano te stvoriti čist zapis remiksa iz prihvatljive aplikacije.
Instanciranje ne deploy-a aplikacije. Deklarirane baze podataka, bucketi i servisi autentikacije ne provisioniraju se automatski. Neki deklarirani servisi sami su stub-only, pa deklaracija u manifestu ne dokazuje da ovisnost postoji.
Pregled manifesta
GET /api/apps/templates?category=web&q=next
GET /api/apps/templates/{template_id}Galerija ima pristup public-read. Manifest opisuje source Git URL, branch, zadane runtime postavke, shemu varijabli okruženja i deklarirane servise. Prije instanciranja pregledajte repozitorij, trenutnu reviziju, licencu, stanje održavanja i naredbe runtime. Manifest su metapodaci operatora, ne sigurnosna preporuka.
Dva ugrađena seed manifesta osiguravaju da API nije prazan. Njihovi vanjski repozitoriji mogu se promijeniti ili nestati, a za svaki seed još nema automatiziranog smoke testa.
Instanciranje
POST /api/apps/templates/{template_id}/instantiate
Content-Type: application/json
{
"name": "My app",
"env": {
"NEXT_PUBLIC_APP_NAME": "My app"
}
}Poziv stvara privatni zapis aplikacije i vraća app_id, informacije o izvoru, tip runtime i deklarirane servise. Prihvaćaju se samo ključevi deklarirani u manifestu. Secret fields ovim pozivom se ne postavljaju.
Nakon instanciranja:
- pregledajte source i postavke runtime nove aplikacije;
- dodajte secrete putem Tajne i varijable okruženja;
- osigurajte stvarne vanjske ovisnosti sami, osim ako servis nije izričito prijavljen kao ready;
- pozovite endpoint za deploy; i
- pratite deploy kroz build, health check i activation.
Remix
POST /api/apps/{source_app_id}/remix
Content-Type: application/json
{
"name": "My private remix"
}Vlasnici mogu remiksirati vlastitu aplikaciju. Drugi korisnik može remiksirati samo aplikaciju koja je istodobno public i označena kao remixable. Nova aplikacija je private.
Remix prenosi source URL, branch, deployment type, port i lineage. Namjerno ne kopira vrijednosti okruženja, secrete, reference na bazu ili bucket, veze autentikacije, checkpointe, stanje IDE-a ni podatke. Također ne fork-a ni ne pin-a udaljeni Git repozitorij. Ako vlasnik izvora kasnije promijeni ili ukloni repozitorij, novi deploy može biti drugačiji ili neuspjeti.
Za trajni remix fork-ajte izvor u repozitorij koji kontrolirate, pregledajte i pin-ajte reviziju, ažurirajte source nove aplikacije i zatim deploy-ajte.
Kontrolni popis objave predloška
Prije nego predložak predstavite kao upotrebljiv:
- potvrdite repozitorij i licencu;
- pin-ajte ili zabilježite testiranu reviziju;
- provjerite install, build, run, port i ponašanje health;
- testirajte obavezna polja okruženja bez otkrivanja secret-a;
- provjerite da je svaki deklarirani servis stvarno dostupan; i
- instancirajte, deploy-ajte, izvedite smoke test i uklonite u čistom okruženju.