Skip to content

Blob storage

How to mount blob storage

The blob storage feature allows you to define blob storage(s) and their mount paths across Resources. Omnistrate will manage the lifecycle of such storage volumes (e.g: creation and deletion together with instance) as well as mounting them as a local volume according to the configuration.

Using a blob storage provides virtually unlimited space for your application where you pay only for the storage you use.

Note

This feature is not available for the Omnistrate hosted model.

Defining blob storage

You can define blob storage(s) in the compose specification as follows:

services: 
  serviceA:
    volumes:
      - source: bucket_data
        target: /mnt/blob-metadata
        type: volume
        x-omnistrate-storage:
          aws:
            clusterStorageType: AWS::S3
          gcp:
            clusterStorageType: GCP::GCS
          azure:
            clusterStorageType: AZURE::BLOB_STORAGE

volumes:
  bucket_data:
    driver: blob
  • bucket_data is the name of the volume, you can opt for a name of your choice.
  • driver: blob is the driver type required to enable using Blob storage.
  • x-omnistrate-storage defines the type of storage for each cloud provider.

This configuration will provision a new Blob storage (bucket/container) for each instance deployed. On the pod itself, it will appear just like any other volume. The underlying storage driver does not restrict or synchronize access, so your application itself needs to make sure it doesn't end up overriding data.

Mounting blob storage in multiple resources

The blob can be mounted in different pods:

services: 
  serviceA:
    volumes:
      - source: bucket_data
        target: /mnt/blob-metadata
        type: volume
        x-omnistrate-storage:
          aws:
            clusterStorageType: AWS::S3
          gcp:
            clusterStorageType: GCP::GCS
          azure:
            clusterStorageType: AZURE::BLOB_STORAGE
  serviceB:
    volumes:
      - source: bucket_data
        target: /mnt/blob-metadata
        type: volume
        x-omnistrate-storage:
          aws:
            clusterStorageType: AWS::S3
          gcp:
            clusterStorageType: GCP::GCS
          azure:
            clusterStorageType: AZURE::BLOB_STORAGE

volumes:
  bucket_data:
    driver: blob

Note: Blob storage is currently only available for GCP GCS and AWS S3. Contact [email protected] for other options.