AutoGPT icon indicating copy to clipboard operation
AutoGPT copied to clipboard

Allow for Azure Blob Storage file storage backend

Open tylerwinn opened this issue 1 year ago • 5 comments

Duplicates

  • [X] I have searched the existing issues

Summary 💡

In the .env file you will be able to set

FILE_STORAGE_BACKEND=azure STORAGE_BUCKET=your_blob_container_name

and a new field will need to be created for the account name, and access key. AZURE_STORAGE_ACCOUNT=storage_account_name.blob.core.windows.net AZURE_STORAGE_ACCESS_KEY=your_access_key_here

Examples 🌈

It would work just the same as S3 or GCS, except be based on Azure Blob storage.

Motivation 🔦

I work at a software company that wants to start using AutoGPT. I believe I can add this functionality to the project for our use and the open source community.

tylerwinn avatar Apr 19 '24 20:04 tylerwinn

Go for it! Let us know in the discord if you have trouble

ntindle avatar Apr 20 '24 01:04 ntindle

This issue has automatically been marked as stale because it has not had any activity in the last 50 days. You can unstale it by commenting or removing the label. Otherwise, this issue will be closed in 10 days.

github-actions[bot] avatar Jun 09 '24 01:06 github-actions[bot]

/boosterbot

ntindle avatar Jun 09 '24 21:06 ntindle

To implement Azure Blob Storage as a file storage backend, we will update the .env file with new environment variables, modify the configuration management code to read these variables, create or extend a class to handle Azure Blob Storage operations, integrate this class into the existing file storage system, and update the documentation with the new configuration instructions.

  • autogpt/autogpt/app/__init__.py - This file is responsible for setting up the application environment by loading configuration variables from a .env file. Consider updating the load_dotenv function call to include the new environment variables for Azure Blob Storage, ensuring they are loaded into the application's environment.
  • forge/forge/config/config.py - This file serves as a configuration class that stores various settings and configurations for the Auto-GPT application. Consider adding new attributes to the Config class for the Azure Blob Storage environment variables and updating the build_config_from_env method to read these variables from the environment.
  • forge/forge/file_storage/base.py - This file defines the FileStorage class, which serves as an interface for managing files, directories, and related operations. Consider creating a new class that extends the FileStorage class to handle Azure Blob Storage operations, implementing methods for uploading, downloading, and deleting files.
  • forge/forge/file_storage/__init__.py - This file provides a way to retrieve different types of file storage backends based on a specified backend type. Consider adding a new case for 'azure' in the get_storage function to initialize and return an instance of the Azure Blob Storage class.
  • docs/netlify.toml - This file is used to configure settings for deploying the AutoGPT documentation website on Netlify. Consider updating the documentation build process to include new instructions for configuring and using Azure Blob Storage, ensuring users have clear guidance on setting up this new backend.

featurespec-ai[bot] avatar Jun 09 '24 21:06 featurespec-ai[bot]

This issue has automatically been marked as stale because it has not had any activity in the last 50 days. You can unstale it by commenting or removing the label. Otherwise, this issue will be closed in 10 days.

github-actions[bot] avatar Aug 03 '24 01:08 github-actions[bot]

This issue was closed automatically because it has been stale for 10 days with no activity.

github-actions[bot] avatar Aug 13 '24 01:08 github-actions[bot]