Beheerde databases
Beschikbaarheid
Managed Postgres is nog niet beschikbaar. De huidige databaseservice is een control-plane preview: die valideert requests, slaat metadata op, genereert een eenmalige credential-vorm en kan DATABASE_URL publiceren, maar geeft de niet-routeerbare host stub-shared-pg-01.local terug. Er wordt geen databaseserver, tenant, schema, backup of recovery point aangemaakt.
Koppel geen applicatie aan een record waarvan de status stub is. Behandel een geslaagde API-response niet als bewijs dat opslag bestaat.
Wat je vandaag kunt testen
De preview is nuttig om een integratie tegen het geplande contract te testen:
- app-eigendom wordt gecontroleerd door de MCP-wrapper;
- databaserecords kunnen worden aangemaakt en opgelist;
- het gegenereerde wachtwoord wordt niet teruggegeven bij latere metadata-reads;
DATABASE_URLkan aan de app-environment producer worden doorgegeven wanneer diens producer token is geconfigureerd; en- de app slaat de teruggegeven databasereferentie op.
Het publiceren van de placeholder-URL maakt die niet bruikbaar. Verwijder die uit de app-omgeving vóór een echte deployment.
MCP-tools
| Tool | Huidig gedrag |
|---|---|
add_app_database(app_id, engine='postgres') | Maakt een stub-record aan. Kan een placeholder-DATABASE_URL publiceren. |
list_app_databases(app_id) | Geeft alleen metadata terug. Geeft nooit het wachtwoord terug. |
Controleer de teruggegeven status voordat je iets anders doet:
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"
}De exacte response kan ook eenmalige connection-velden bevatten. In preview wijzen die naar de stub-host en mogen ze niet als credentials voor een echte workload worden gebruikt.
REST-contract
De routes aan platformzijde zijn:
| Method | Path | Resultaat |
|---|---|---|
POST | /api/app-infra/databases | Maakt een preview-record aan en geeft eenmalige connection-vormige data terug. |
GET | /api/app-infra/databases/{db_id} | Geeft metadata terug zonder het wachtwoord. |
GET | /api/app-infra/databases?app_id={app_id} | Lijst metadata, optioneel gefilterd op app. |
Deze routes op lager niveau zijn vooral bedoeld voor interne integratie. Gebruik liever de MCP-tool met owner scope, tenzij je het platform zelf ontwikkelt.
Voordat managed Postgres klaar kan worden genoemd
Een release die production-capable is, vereist bewijs voor al het volgende:
- een bereikbare Postgres-service en echte tenant provisioning;
- netwerkisolatie tussen apps;
- credential rotation en deprovisioning;
- backup- en restore-oefeningen met gemeten recovery-resultaten;
- resourcelimieten, monitoring en failure alerts; en
- een end-to-end application test die data schrijft, opnieuw deployt en die terugleest.
Tot die checks slagen in de doelomgeving: gebruik je eigen database en zet de echte connection string in App-geheimen en omgevingsvariabelen.