mirror of
https://github.com/Grace-Solutions/PSMinIO.git
synced 2026-07-26 14:58:13 +00:00
6c6db4fec08c97a3ce2c96ae94467ce8f7329041
- Create Demo-ChunkedTransfer.ps1 for showcasing implementation - Add PSMinIO-TestFunctions.psm1 with test functions - Add Test-ChunkedModule.ps1 and Quick-Test.ps1 for validation - Update Build.ps1 to output to Artifacts directory - Remove unnecessary progress parameters (use standard ProgressAction) - Add missing using statements for compilation - Create test manifest PSMinIO-Test.psd1 - Ready for C# compilation and integration testing
PSMinIO
A fully-fledged C# PowerShell binary module built on top of the Minio .NET SDK for managing MinIO object storage operations.
Features
- Cross-Platform Compatibility: Built for .NET Standard 2.0, compatible with PowerShell 5.1+ and PowerShell 7+
- Comprehensive Bucket Operations: Create, list, delete, and check bucket existence
- Object Management: Upload, download, list, and delete objects with progress tracking
- Security & Policy Management: Manage bucket policies and access controls
- Synchronous Operations: All operations are synchronous for PowerShell compatibility
- Detailed Logging: Centralized logging with timestamps when
-Verboseis specified - Progress Reporting: Upload/download progress with percentages and time estimates
Installation
# Import the module
Import-Module .\PSMinIO.psd1
Quick Start
# Configure connection
Set-MinIOConfig -Endpoint 'https://minio.myorg.com' -AccessKey 'AKIA...' -SecretKey 'abc123' -UseSSL
# Create a bucket
New-MinIOBucket -BucketName 'my-bucket' -Verbose
# Upload a file
New-MinIOObject -BucketName 'my-bucket' -ObjectName 'data.txt' -FilePath 'C:\data.txt'
# List objects
Get-MinIOObject -BucketName 'my-bucket' -Prefix '2025/'
# Download an object
Get-MinIOObjectContent -BucketName 'my-bucket' -ObjectName 'data.txt' -FilePath 'C:\downloaded-data.txt'
Cmdlets
Bucket Operations
Get-MinIOBucket- Lists all bucketsNew-MinIOBucket- Creates a new bucketRemove-MinIOBucket- Deletes a bucketTest-MinIOBucketExists- Checks if a bucket exists
Object Operations
Get-MinIOObject- Lists objects in a bucketNew-MinIOObject- Uploads a file to a bucketGet-MinIOObjectContent- Downloads an objectRemove-MinIOObject- Deletes an object
Security & Policy
Get-MinIOBucketPolicy- Retrieves bucket policySet-MinIOBucketPolicy- Sets bucket policy
Utility
Get-MinIOConfig- Shows current configurationSet-MinIOConfig- Sets connection configurationGet-MinIOStats- Displays statistics and metrics
Requirements
- PowerShell 5.1+ or PowerShell 7+
- .NET Framework 4.7.2+ (for PowerShell 5.1) or .NET Core/.NET 5+ (for PowerShell 7+)
License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Languages
C#
89.5%
PowerShell
10.5%