Skip to main content

Managing Storage Providers

Ductape allows you to configure different storage providers for your project. You can define a storage resource for each environment you are building on. We currently support the following storage providers:

  • Azure Blob Storage: StorageProviders.AZURE
  • Google Cloud Storage (GCP): StorageProviders.GCP
  • Amazon S3: StorageProviders.AWS

Ductape provides a uniform interface across multiple storage providers, making them easily interchangeable without affecting your application's functionality.

Setting Up Storage Providers

To create a storage resource in Ductape, use the create function of the product.storage interface. You must configure each product environment with the appropriate storage provider settings. See the example below:

import { StorageProviders } from "ductape-sdk/types";

const storageProvider = await ductape.product.storage.create({
name: "Primary Storage",
tag: "primary-storage",
envs: [
{
slug: "prd",
type: StorageProviders.AWS,
config: awsConfig,
},
{
slug: "stg",
type: StorageProviders.GCP,
config: gcpConfig,
}
]
});

Updating Storage Providers

To update a storage resource, use the update function of the product.storage interface. You can modify configurations for different environments while keeping your application functional.

const update = await ductape.product.storage.update("primary-storage", {
envs: [
{
slug: "prd",
type: StorageProviders.AZURE,
config: azureConfig,
}
]
});

Fetching Storage Providers

To fetch all storage providers for a product, use the fetchAll function of the product.storage interface.

const storageProviders = await ductape.product.storage.fetchAll();

Fetching a Single Storage Provider

To fetch a single storage provider, use the fetch function of the product.storage interface. It takes the storage provider tag as input.

const storageProvider = await ductape.product.storage.fetch("primary-storage");