Innovayse.StorageManager.Extensions 2.0.0

The owner has unlisted this package. This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
dotnet add package Innovayse.StorageManager.Extensions --version 2.0.0
                    
NuGet\Install-Package Innovayse.StorageManager.Extensions -Version 2.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Innovayse.StorageManager.Extensions" Version="2.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Innovayse.StorageManager.Extensions" Version="2.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Innovayse.StorageManager.Extensions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Innovayse.StorageManager.Extensions --version 2.0.0
                    
#r "nuget: Innovayse.StorageManager.Extensions, 2.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Innovayse.StorageManager.Extensions@2.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Innovayse.StorageManager.Extensions&version=2.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Innovayse.StorageManager.Extensions&version=2.0.0
                    
Install as a Cake Tool

StorageManager

A comprehensive .NET storage management solution with support for multiple storage providers, encryption, compression, and caching.

๐Ÿš€ Quick Start

Prerequisites
  • .NET 8.0 SDK
  • Visual Studio 2022, VS Code, or JetBrains Rider
Installation
  1. Create a new .NET project:
dotnet new console -n MyStorageApp
cd MyStorageApp
  1. Install StorageManager packages:
# Core package (required)
dotnet add package StorageManager.Core

# Service implementations
dotnet add package StorageManager.Services

# Storage providers
dotnet add package StorageManager.Providers

# Extensions for ASP.NET Core integration
dotnet add package StorageManager.Extensions
  1. Use StorageManager in your code:
using StorageManager.Extensions;
using StorageManager.Providers.Local;

var builder = WebApplication.CreateBuilder(args);

// Add StorageManager
builder.Services.AddStorageManagerMinimal();

// Configure local storage
builder.Services.Configure<LocalStorageDriverOptions>(options =>
{
    options.RootPath = "C:\\Storage";
    options.IsReadOnly = false;
});

var app = builder.Build();

// Use in your application
app.MapGet("/files", async (IStorageManager storageManager) =>
{
    var driver = storageManager.CurrentDriver;
    var files = await driver.ListAsync("/");
    return Results.Ok(files);
});

app.Run();

Option 2: Building from Source

See docs/GettingStarted.md for detailed instructions.

Package Usage Example

See Package Usage Example for a complete working example.

๐Ÿ“š Documentation

Core Documentation

Development & Deployment

๐Ÿ”ง Scripts & Automation

๐Ÿš€ Deployment & Infrastructure

๐Ÿ“ Project Structure

StorageManager/
โ”œโ”€โ”€ ๐Ÿ“š docs/                    # Complete project documentation
โ”œโ”€โ”€ ๐Ÿ”ง scripts/                 # PowerShell automation scripts
โ”œโ”€โ”€ ๐Ÿš€ deployment/              # Docker and deployment configurations
โ”œโ”€โ”€ ๐Ÿ”„ ci-cd/                   # CI/CD pipeline configurations
โ”œโ”€โ”€ ๐Ÿ› ๏ธ tools/                   # Development tools and utilities
โ”œโ”€โ”€ ๐Ÿ’ป src/                     # Source code (Core, Services, Providers, etc.)
โ”œโ”€โ”€ ๐Ÿ“ฑ examples/                # Console and Web API examples
โ”œโ”€โ”€ ๐Ÿงช tests/                   # Unit and integration tests
โ””โ”€โ”€ ๐Ÿณ docker/                  # Docker service configurations

๐ŸŽฏ Current Status

100% Complete - Production Ready with All Storage Drivers & Docker Support

  • โœ… All Core Features - Storage drivers, encryption, compression, caching
  • โœ… Complete Testing - 222 tests passing (including Redis driver)
  • โœ… All Storage Drivers - Local, S3, Azure, Google Cloud, SFTP, Memory, Database, Redis
  • โœ… Docker Support - Development and production environments
  • โœ… NuGet Packages - Ready for release
  • โœ… Documentation - Comprehensive guides and references
  • โœ… Security - All vulnerabilities resolved, production-ready security posture

See docs/TODO.md for detailed project status and roadmap.

๐Ÿš€ Getting Started

Prerequisites

  • .NET 8.0 SDK or later
  • Docker Desktop (for containerized development)
  • PowerShell 7.0+ (for automation scripts)

Quick Setup

# Clone the repository
git clone https://github.com/edgar2031/Storage-Manager.git
cd Storage-Manager

# Build the solution
dotnet build

# Run tests
dotnet test

# Start Docker development environment
.\scripts\docker-setup.ps1 -Action start

Using Scripts

# Check Docker status
.\scripts\docker-setup.ps1 -Action check

# Build NuGet packages
.\scripts\build-nuget.ps1 -Build

# Start development environment
.\scripts\docker-setup.ps1 -Action start

๐Ÿ“ฆ Available NuGet Packages

StorageManager is distributed as a set of modular NuGet packages:

Package Description Size
StorageManager.Core Core interfaces, models, and enums ~73 KB
StorageManager.Services Main service implementations ~44 KB
StorageManager.Providers All storage driver implementations ~150 KB
StorageManager.Extensions DI extensions and health checks ~20 KB
StorageManager.Configuration Configuration models and validation ~15 KB
StorageManager.Utilities Helper classes and utilities ~10 KB

Package Selection Guide

  • For Console Applications: Install Core + Services + Providers
  • For ASP.NET Core: Install Extensions (includes all dependencies)
  • For Library Development: Install only Core
  • For Configuration Management: Install Configuration

See docs/PACKAGES.md for detailed package information and usage examples.

๐ŸŒŸ Key Features

๐Ÿ“Š Monitoring & Metrics

  • Prometheus Integration - Comprehensive metrics collection and monitoring
  • Real-time Performance Tracking - Storage operations, cache hits, encryption/compression metrics
  • Health Monitoring - Storage driver health checks with detailed metrics
  • Custom Metrics Support - Extensible metrics system for application-specific monitoring
  • Metrics API Endpoints - RESTful endpoints for metrics collection and monitoring tools

๐Ÿ”’ Security & Performance

  • Multiple Storage Providers: S3, Azure Blob, Google Cloud, Local, Memory, SFTP, Database (SQL Server, PostgreSQL, MySQL), Redis
  • Security: AES-256 encryption with configurable keys, secure dependencies
  • Performance: GZip compression and intelligent caching
  • Production Ready: 100% complete with comprehensive testing and security
  • Monitoring: Health checks and comprehensive logging
  • Containerization: Full Docker support with development and production environments
  • Testing: Complete test coverage with 179 passing tests

๐Ÿค Contributing

See docs/CONTRIBUTING.md for contribution guidelines and development standards.

๐Ÿ“„ License

This project is licensed under the MIT License.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Innovayse.StorageManager.Extensions:

Package Downloads
Innovayse.StorageManager

Complete StorageManager package - A comprehensive .NET storage abstraction library supporting multiple cloud providers, local storage, encryption, compression, and caching. Includes all components: Core, Services, Providers, Extensions, Configuration, and Utilities.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated

Major version upgrade to .NET 9. Updated all dependencies to latest versions. Improved performance and compatibility with .NET 9 features.