Bancos de dados gerenciados
Disponibilidade
Postgres gerenciado ainda não está disponível. Serviço de banco atual é preview de plano de controle: valida pedidos, registra metadados, gera forma de credencial one-time e pode publicar DATABASE_URL, mas retorna host não roteável stub-shared-pg-01.local. Não cria servidor de banco, tenant, schema, backup nem ponto de recovery.
Não conecte aplicativo a registro cujo status é stub. Não trate resposta API bem-sucedida como prova de que storage existe.
O que você pode testar hoje
Preview é útil para testar integração contra contrato planejado:
- ownership de app é checado pelo wrapper MCP;
- registros de banco podem ser criados e listados;
- senha gerada não é retornada por leituras posteriores de metadados;
DATABASE_URLpode ser entregue ao producer de ambiente de app quando token producer estiver configurado; e- app registra referência de banco retornada.
Publicar URL placeholder não a torna utilizável. Remova do ambiente de app antes de deployment real.
Ferramentas MCP
| Tool | Current behavior |
|---|---|
add_app_database(app_id, engine='postgres') | Creates a stub record. It may publish a placeholder DATABASE_URL. |
list_app_databases(app_id) | Returns metadata only. It never returns the password. |
Verifique status retornado antes de qualquer outra coisa:
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"
}Resposta exata também pode conter campos de conexão one-time. Em preview apontam ao host stub e não devem ser usados como credenciais para workload real.
Contrato REST
Rotas platform-side são:
| Method | Path | Result |
|---|---|---|
POST | /api/app-infra/databases | Creates a preview record and returns one-time connection-shaped data. |
GET | /api/app-infra/databases/{db_id} | Returns metadata without the password. |
GET | /api/app-infra/databases?app_id={app_id} | Lists metadata, optionally filtered by app. |
Rotas de nível inferior são principalmente para integração interna. Prefira ferramenta MCP no escopo do owner salvo se estiver desenvolvendo a plataforma.
Antes de Postgres gerenciado poder ser chamado pronto
Release capaz de produção precisa evidência para tudo:
- serviço Postgres alcançável e provisionamento real de tenant;
- isolamento de rede entre apps;
- rotação e desprovisionamento de credencial;
- drills de backup e restore com resultados de recovery medidos;
- limites de recurso, monitoramento e alertas de falha; e
- teste end-to-end de aplicativo que grava dados, redeploy e lê de volta.
Até checagens passarem no ambiente alvo, traga seu próprio banco e coloque connection string real em Variáveis de ambiente de app.