Szablony i remix
Dostępność
Workflow manifestu szablonu i rekordu aplikacji jest zaimplementowany. Może wyświetlać manifesty kuratorowane przez operatora, tworzyć nowy rekord aplikacji z wybranego manifestu, wstępnie ustawiać nieutajone wartości środowiskowe, gdy skonfigurowany jest magazyn środowiska, oraz tworzyć czysty rekord remix z kwalifikującej się aplikacji.
Instancjonowanie nie wdraża aplikacji. Zadeklarowane bazy danych, buckety i usługi uwierzytelniania nie są provisionowane automatycznie. Niektóre zadeklarowane usługi same są stub-only, więc wpis w manifeście nie dowodzi, że zależność istnieje.
Przeglądanie manifestów
GET /api/apps/templates?category=web&q=next
GET /api/apps/templates/{template_id}Galeria ma dostęp public-read. Manifest opisuje source Git URL, branch, domyślne runtime, schemat zmiennych środowiskowych i zadeklarowane usługi. Przed instancjonowaniem sprawdź repozytorium, bieżącą rewizję, licencję, stan utrzymania i polecenia runtime. Manifest to metadane operatora, a nie rekomendacja bezpieczeństwa.
Dwa wbudowane seed manifesty sprawiają, że API nie jest puste. Ich zewnętrzne repozytoria mogą się zmienić lub zniknąć, i nie ma jeszcze zautomatyzowanego smoke testu dla każdego seeda.
Instancjonowanie
POST /api/apps/templates/{template_id}/instantiate
Content-Type: application/json
{
"name": "My app",
"env": {
"NEXT_PUBLIC_APP_NAME": "My app"
}
}Wywołanie tworzy prywatny rekord aplikacji i zwraca app_id, informacje o źródle, typ runtime i zadeklarowane usługi. Akceptowane są tylko klucze zadeklarowane w manifeście. Secret fields nie są ustawiane przez to wywołanie.
Po instancjonowaniu:
- sprawdź source i ustawienia runtime nowej aplikacji;
- dostarcz secrety przez Sekrety i zmienne środowiskowe;
- zapewnij prawdziwe zewnętrzne zależności samodzielnie, chyba że usługa jest wyraźnie raportowana jako ready;
- wywołaj endpoint wdrożenia; oraz
- śledź wdrożenie przez build, health check i activation.
Remix
POST /api/apps/{source_app_id}/remix
Content-Type: application/json
{
"name": "My private remix"
}Właściciele mogą remixować własną aplikację. Inny użytkownik może remixować tylko aplikację, która jest jednocześnie public i oznaczona jako remixable. Nowa aplikacja jest private.
Remix przenosi source URL, branch, deployment type, port i lineage. Nie kopiuje celowo wartości środowiskowych, secretów, referencji do bazy lub bucketa, powiązań uwierzytelniania, checkpointów, stanu IDE ani danych. Nie forkuje ani nie pinuje też zdalnego repozytorium Git. Jeśli właściciel źródła później zmieni lub usunie to repozytorium, nowe wdrożenie może się różnić lub się nie powieść.
Aby remix był trwały, sforkuj źródło do repozytorium, którym zarządzasz, sprawdź i przypnij rewizję, zaktualizuj source nowej aplikacji, a następnie wdróż.
Checklist publikacji szablonu
Zanim przedstawisz szablon jako użyteczny:
- potwierdź repozytorium i licencję;
- przypnij lub zapisz przetestowaną rewizję;
- zweryfikuj install, build, run, port i zachowanie health;
- przetestuj wymagane pola środowiskowe bez ujawniania secretów;
- upewnij się, że każda zadeklarowana usługa jest faktycznie dostępna; oraz
- zinstancjonuj, wdróż, wykonaj smoke test i usuń w czystym środowisku.