Zarządzane bazy danych
Dostępność
Managed Postgres nie jest jeszcze dostępny. Obecna usługa baz danych to podgląd control plane: waliduje żądania, zapisuje metadane, generuje jednorazowy kształt poświadczeń i może opublikować DATABASE_URL, ale zwraca nieroutowalnego hosta stub-shared-pg-01.local. Nie tworzy serwera bazy, tenantu, schematu, kopii zapasowej ani punktu odzyskiwania.
Nie łącz aplikacji z rekordem, którego status to stub. Nie traktuj udanej odpowiedzi API jako dowodu, że magazyn istnieje.
Co możesz testować dziś
Podgląd przydaje się do testowania integracji względem planowanego kontraktu:
- własność app jest sprawdzana przez wrapper MCP;
- rekordy baz można tworzyć i listować;
- wygenerowane hasło nie jest zwracane przy późniejszych odczytach metadanych;
DATABASE_URLmożna przekazać producerowi środowiska app, gdy skonfigurowany jest jego token producera; oraz- app zapisuje zwrócone odniesienie do bazy.
Opublikowanie placeholder URL nie czyni go użytecznym. Usuń go ze środowiska app przed rzeczywistym wdrożeniem.
Narzędzia MCP
| Tool | Obecne zachowanie |
|---|---|
add_app_database(app_id, engine='postgres') | Tworzy rekord stub. Może opublikować placeholder DATABASE_URL. |
list_app_databases(app_id) | Zwraca tylko metadane. Nigdy nie zwraca hasła. |
Sprawdź zwrócony status przed jakimkolwiek innym krokiem:
add_app_database(app_id='app-12345678', engine='postgres'){
"db_id": "db-a1b2c3d4e5f6",
"engine": "postgres",
"status": "stub",
"env_published": false,
"publish_skipped_reason": "OPENFACTORY_DB_PRODUCER_TOKEN is not configured"
}Dokładna odpowiedź może też zawierać jednorazowe pola połączenia. W podglądzie wskazują host stub i nie wolno używać ich jako poświadczeń dla rzeczywistego obciążenia.
Kontrakt REST
Trasy po stronie platformy:
| Method | Path | Wynik |
|---|---|---|
POST | /api/app-infra/databases | Tworzy rekord podglądu i zwraca jednorazowe dane w kształcie połączenia. |
GET | /api/app-infra/databases/{db_id} | Zwraca metadane bez hasła. |
GET | /api/app-infra/databases?app_id={app_id} | Listuje metadane, opcjonalnie filtrowane po app. |
Te trasy niższego poziomu służą głównie integracji wewnętrznej. Preferuj narzędzie MCP z zakresem właściciela, chyba że rozwijasz samą platformę.
Zanim managed Postgres można uznać za gotowy
Wydanie gotowe do produkcji wymaga dowodów dla wszystkiego poniżej:
- osiągalna usługa Postgres i rzeczywiste provisionowanie tenantów;
- izolacja sieciowa między app;
- rotacja poświadczeń i deprovisioning;
- ćwiczenia backup i restore z zmierzonymi wynikami odzyskiwania;
- limity zasobów, monitoring i alerty o awariach; oraz
- end-to-end test aplikacji, który zapisuje dane, ponownie wdraża i odczytuje je z powrotem.
Dopóki te kontrole nie przejdą w docelowym środowisku, użyj własnej bazy i umieść prawdziwy connection string w Sekrety i zmienne środowiskowe.