Almacenamiento de objetos de app
Disponibilidad
El almacenamiento de objetos gestionado aún no está disponible. El servicio de bucket actual es una vista previa del plano de control. Crea un registro con forma de bucket, genera credenciales con forma S3 de un solo uso y puede publicar variables de entorno OF_S3_*, pero su endpoint es stub-minio-platform.local:9000. No se crea bucket MinIO ni puede almacenarse ningún objeto.
No uses un registro con estado stub para subidas, copias de seguridad ni datos que deban sobrevivir. Una llamada exitosa prueba solo que se ejecutó el contrato del plano de control.
Qué puedes probar hoy
La vista previa ejercita estos límites:
- generación de nombres de bucket únicos;
- comprobaciones de propiedad de app en el wrapper MCP;
- manejo de secretos de un solo uso;
- respuestas de listado solo metadatos;
- publicación de
OF_S3_ENDPOINT,OF_S3_BUCKET,OF_S3_ACCESS_KEY,OF_S3_SECRET_KEYyOF_S3_REGION; y - asociación de la referencia de bucket con la app.
Si la publicación en entorno tiene éxito, los valores siguen siendo placeholders. Elimínalos antes de desplegar una carga que espere almacenamiento real.
Herramientas MCP
| Tool | Current behavior |
|---|---|
add_app_bucket(app_id) | Creates a stub record and may publish placeholder OF_S3_* values. |
list_app_buckets(app_id) | Lists metadata. It never returns the secret key. |
add_app_bucket(app_id='550e8400-e29b-41d4-a716-446655440000')Comprueba la respuesta antes de usarla:
{
"bucket_id": "buk-a7f3b2c1d9e4f",
"endpoint_url": "http://stub-minio-platform.local:9000",
"status": "stub",
"env_published": false
}Cuando la publicación automática en entorno no está disponible, la respuesta puede incluir el secret y un env_payload una vez. Eso no convierte el endpoint stub en almacenamiento. Trata la respuesta como sensible y no la registres.
Contrato REST
| Method | Path | Result |
|---|---|---|
POST | /api/app-infra/buckets | Creates a preview record and returns one-time credential-shaped data. |
GET | /api/app-infra/buckets/{bucket_id} | Returns metadata without the secret key. |
GET | /api/app-infra/buckets?app_id={app_id} | Lists bucket metadata for an app. |
Prefiere las herramientas MCP con alcance de propietario para uso normal. Las rutas de plataforma son la superficie de integración interna.
Contrato de aplicación previsto
Cuando un proveedor real esté habilitado, las aplicaciones construirán un cliente compatible S3 explícitamente desde las cinco variables OF_S3_*. No confíes en credenciales AWS ambientales. Los mismos nombres de variable pueden usarse con un servicio S3 temporal gestionado por el operador hoy, siempre que suministres valores reales mediante Variables de entorno de app.
Antes de poder llamar listo al almacenamiento gestionado
Una versión apta para producción necesita evidencia de:
- un host object-store desplegado y alcanzable;
- aislamiento de acceso por app;
- pruebas de subida, descarga y persistencia tras redespliegue;
- rotación y desaprovisionamiento seguros;
- monitorización de capacidad, disponibilidad y errores; y
- comportamiento de copia o replicación acorde al objetivo de durabilidad declarado.
Hasta que esas comprobaciones pasen, usa un servicio compatible S3 gestionado por el operador y prueba su ruta de recuperación directamente.