Skip to main content

Storage Management

A TANGO Storage Configuration defines a connection to a backend blob storage system, such as an MinIO bucket. It acts as a bridge between the TANGO platform and the physical location where files and data artifacts are stored.

As a supervisor, you can register and manage multiple storage backends, allowing you to direct different files to different storage systems based on region, cost, or performance requirements.

This document details the API endpoints available for managing these storage configurations.

What is a Storage Backend?

A storage backend is a configured connection to a cloud storage service. Registering a backend tells TANGO how to authenticate with and access a specific storage location (often called a "bucket" or "container"). Once a storage backend is registered, its unique key can be used by users when they upload files via API. Each storage backend is linked to a specific workspace, and it is the supervisor's responsibility to add it and register the models that will use its files.

Register a New Storage Configuration

POST /storage

Registers a new blob storage backend, making it available for use within your workspace.

  • Security: Requires maintainerAuth (Supervisor or higher).

Request Body

The body must be a StorageConfiguration object, which defines the provider, class, and connection details for the storage system.

AttributeTypeRequiredDescription
storage_keystringYesA unique, human-readable identifier for this storage configuration.
storage_classstringYesThe fully-qualified class name for the backend implementation.
connector_initobjectYesAn object containing provider-specific connection details.

Example: MinIO Blob Storage Payload

{
"storage_key": "minio-storage",
"storage_class": "tango_shared.connectors.deployment.storage.minio_storage_connector.MinioStorageConnector",
"connector_init": {
"access_key": "your-access-key",
"secret_key": "your-secret-key",
"endpoint": "the endpoint of your blob storage",
"bucket_name": "tango-storage"
}
}

Response

If successful, the endpoint returns the created StorageConfiguration object, with the workspace it was registered to.

List All Storage Configurations

GET /storage

Retrieves a list of all blob storage backends registered in your workspace.

  • Security: Requires maintainerAuth.

Response

Returns an array of StorageConfiguration objects.

[
{
"storage_key": "minio-storage",
"storage_class": "tango_shared.connectors.deployment.storage.minio_storage_connector.MinioStorageConnector",
"workspace": "default_workspace"
}
]

Get a Specific Storage Configuration

GET /storage/{storage_key}

Retrieves the details of a single blob storage configuration by its unique storage_key.

  • Security: Requires maintainerAuth.

Delete a Storage Configuration

DELETE /storage/{storage_key}

De-registers a blob storage configuration, making it unavailable for new file uploads.

  • Security: Requires maintainerAuth.
note

The deletion of the storage configuration does not delete the actual files stored in the backend storage system.
It only removes the configuration from the TANGO platform, preventing further uploads to that storage backend.

Response

A successful deletion will result in a 204 No Content response.