Skip to Content
TestingBeheerde databases

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_URL kan 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

ToolHuidig 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:

MethodPathResultaat
POST/api/app-infra/databasesMaakt 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:

  1. een bereikbare Postgres-service en echte tenant provisioning;
  2. netwerkisolatie tussen apps;
  3. credential rotation en deprovisioning;
  4. backup- en restore-oefeningen met gemeten recovery-resultaten;
  5. resourcelimieten, monitoring en failure alerts; en
  6. 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.