GithubHelp home page GithubHelp logo

ecogit-stage / monai-deploy-storage Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bridgecrew-perf6/monai-deploy-storage

0.0 0.0 0.0 294 KB

Storage layer for MONAI Deploy clinical data pipelines system

License: Apache License 2.0

Shell 0.71% C# 99.29%

monai-deploy-storage's Introduction

project-monai

๐Ÿ’ก If you want to know more about MONAI Deploy WG vision, overall structure, and guidelines, please read MONAI Deploy first.

MONAI Deploy Storage

License codecov ci Nuget

The MONAI Deploy Storage library for MONAI Deploy clinical data pipelines system enables users to extend the system to external storage services by implementing the IStorageService API, which allows the users to plug in any other storage services, such as AWS S3 and Azure Blob Storage.

Currently supported storage services:

* Services provided may not be free or requires special license agreements. Please refer to the service providers' website for additional terms and conditions.

If you would like to use a storage service provider not listed above, please file an issue and contribute to the repository.


Installation

1. Configure the Service

To use the MONAI Deploy Storage library, install the NuGet.Org package and call the AddMonaiDeployStorageService(...) method to register the dependencies:

Host.CreateDefaultBuilder(args)
    .ConfigureServices((hostContext, services) =>
    {
        ...
        services.AddMonaiDeployStorageService(hostContext.Configuration.GetSection("InformaticsGateway:storage:serviceAssemblyName").Value);
        ...
    });

2. Install the Plug-in

  1. Create a subdirectory named plug-ins in the directory where your main application is installed.
  2. Download the zipped plug-in of your choice and extract the files to the plug-ins directory.
  3. Update appsettings.json and set the serviceAssemblyName, e.g.:
     "storage": {
       "serviceAssemblyName": "Monai.Deploy.Storage.MinIo.MinIoStorageService, Monai.Deploy.Storage.MinIO"
     }

3. Restrict Access to the Plug-ins Directory

To avoid tampering of the plug-ins, it is recommended to set access rights to the plug-ins directory.


Releases

The MONAI Deploy Storage library is released in NuGet & zip formats. NuGet packages are available on both NuGet.Org and GitHub. Zip files may be found in the build artifacts or the Releases section.

Official Builds

Official releases are built and released from the main branch.

RC Builds

Release candidates are built and released from the release/* branches.

Development Builds

Development builds are made from all branches except the main branch and the release/* branches. The NuGet packages are released to GitHub only.

Contributing

For guidance on contributing to MONAI Deploy Workflow Manager, see the contributing guidelines.

Writing Your Plug-in

To extend MONAI Deploy with your custom storage service provider, you must implement the IStorageService interface and extend the ServiceRegistrationBase base class.

  • The IStorageService interface provides a set of methods required to interact with the storage layer.
  • The ServiceRegistrationBase base class provides an abstract method Configure() to configure service dependencies based on .NET Dependency injection. The derived instance is dynamically activated during runtime based on the ServiceAssemblyName value defined in the StorageServiceConfiguration.

Community

To participate, please join the MONAI Deploy Workflow Manager weekly meetings on the calendar and review the meeting notes.

Join the conversation on Twitter @ProjectMONAI or join our Slack channel.

Ask and answer questions over on MONAI Deploy Storage's GitHub Discussions tab.

Links

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.