mirror of
https://github.com/Grace-Solutions/PSMinIO.git
synced 2026-08-06 03:27:40 +00:00
Initial commit: PSMinIO module with chunked transfer support
This commit is contained in:
@@ -1 +1,71 @@
|
||||
# PSMinIO
|
||||
# PSMinIO
|
||||
|
||||
A fully-fledged C# PowerShell binary module built on top of the [Minio](https://www.nuget.org/packages/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 `-Verbose` is specified
|
||||
- **Progress Reporting**: Upload/download progress with percentages and time estimates
|
||||
|
||||
## Installation
|
||||
|
||||
```powershell
|
||||
# Import the module
|
||||
Import-Module .\PSMinIO.psd1
|
||||
```
|
||||
|
||||
## Quick Start
|
||||
|
||||
```powershell
|
||||
# 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 buckets
|
||||
- `New-MinIOBucket` - Creates a new bucket
|
||||
- `Remove-MinIOBucket` - Deletes a bucket
|
||||
- `Test-MinIOBucketExists` - Checks if a bucket exists
|
||||
|
||||
### Object Operations
|
||||
- `Get-MinIOObject` - Lists objects in a bucket
|
||||
- `New-MinIOObject` - Uploads a file to a bucket
|
||||
- `Get-MinIOObjectContent` - Downloads an object
|
||||
- `Remove-MinIOObject` - Deletes an object
|
||||
|
||||
### Security & Policy
|
||||
- `Get-MinIOBucketPolicy` - Retrieves bucket policy
|
||||
- `Set-MinIOBucketPolicy` - Sets bucket policy
|
||||
|
||||
### Utility
|
||||
- `Get-MinIOConfig` - Shows current configuration
|
||||
- `Set-MinIOConfig` - Sets connection configuration
|
||||
- `Get-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](LICENSE) file for details.
|
||||
Reference in New Issue
Block a user