Skip to content

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.

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:

volumes:
  bucket_metadata:
    driver: blob
  bucket_additional_resources:
    driver: blob

Above compose will provision two buckets per instance. Each bucket will be named based on the Resource name (i.e. either bucket_metadata / bucket_additional_resources) and the instance ID it belongs to.

Mounting blob storage

Each bucket can be mounted to 0, 1, or multiple Resources. 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.

The following example mounts the above buckets to a Resource:

    volumes:
      - source: bucket_metadata
        target: /mnt/blob-metadata
        type: volume
        x-omnistrate-storage:
          gcp:
            clusterStorageType: GCP::GCS
      - source: bucket_additional_resources
        target: /mnt/blob-additional-resources
        type: volume
        x-omnistrate-storage:
          gcp:
            clusterStorageType: GCP::GCS

Blob storage doesn't support any additional configuration options at the moment.