Skip to Content
TestingObject storage застосунків

Object storage застосунків

Availability

Managed object storage not available yet. Current bucket service is control-plane preview. Creates bucket-shaped record, generates one-time S3-shaped credentials, can publish OF_S3_* environment variables, but endpoint is stub-minio-platform.local:9000. No MinIO bucket created and no object can be stored there.

Do not use record with status stub for uploads, backups, any data that must survive. Successful call proves only control-plane contract ran.

What you can test today

Preview exercises these boundaries:

  • unique bucket-name generation;
  • app ownership checks in MCP wrapper;
  • one-time secret handling;
  • metadata-only list responses;
  • publication of OF_S3_ENDPOINT, OF_S3_BUCKET, OF_S3_ACCESS_KEY, OF_S3_SECRET_KEY, OF_S3_REGION; and
  • association of bucket reference with app.

If environment publication succeeds, values still placeholders. Remove before deploying workload that expects real storage.

MCP tools

ToolCurrent behavior
add_app_bucket(app_id)Creates stub record and may publish placeholder OF_S3_* values.
list_app_buckets(app_id)Lists metadata. Never returns secret key.
add_app_bucket(app_id='550e8400-e29b-41d4-a716-446655440000')

Check response before using:

{ "bucket_id": "buk-a7f3b2c1d9e4f", "endpoint_url": "http://stub-minio-platform.local:9000", "status": "stub", "env_published": false }

When automatic environment publication unavailable, response can include secret and env_payload once. That does not turn stub endpoint into storage. Handle response as sensitive and do not log it.

REST contract

MethodPathResult
POST/api/app-infra/bucketsCreates preview record and returns one-time credential-shaped data.
GET/api/app-infra/buckets/{bucket_id}Returns metadata without secret key.
GET/api/app-infra/buckets?app_id={app_id}Lists bucket metadata for app.

Prefer owner-scoped MCP tools for normal use. Platform routes are internal integration surface.

Planned application contract

When real provider enabled, applications construct S3-compatible client explicitly from five OF_S3_* variables. Do not rely on ambient AWS credentials. Same variable names can be used with temporary operator-managed S3 service today, provided you supply real values through App environment variables.

Before managed storage can be called ready

Production-capable release needs evidence for:

  1. deployed and reachable object-store host;
  2. per-app access isolation;
  3. upload, download, redeploy-persistence tests;
  4. rotation and safe deprovisioning;
  5. capacity, availability, error monitoring; and
  6. backup or replication behavior appropriate to stated durability target.

Until those checks pass, use operator-managed S3-compatible service and test recovery path directly.