feat: v2.0 Sprint 2 - Cloud Storage Support (Part 1)

- Add AWS SDK v2 for S3 integration
- Implement cloud.Backend interface for multi-provider support
- Add full S3 backend with upload/download/list/delete
- Support MinIO and Backblaze B2 (S3-compatible)
- Implement progress tracking for uploads/downloads
- Add cloud commands: upload, download, list, delete

New commands:
- dbbackup cloud upload [files] - Upload backups to cloud
- dbbackup cloud download [remote] [local] - Download from cloud
- dbbackup cloud list [prefix] - List cloud backups
- dbbackup cloud delete [remote] - Delete from cloud

Configuration via flags or environment:
- --cloud-provider, --cloud-bucket, --cloud-region
- --cloud-endpoint (for MinIO/B2)
- --cloud-access-key, --cloud-secret-key

New packages:
- internal/cloud - Cloud storage abstraction layer
This commit is contained in:
2025-11-25 19:28:51 +00:00
parent ba5ae8ecb1
commit ae3ed1fea1
5 changed files with 942 additions and 0 deletions

19
go.mod
View File

@@ -18,6 +18,25 @@ require (
require (
filippo.io/edwards25519 v1.1.0 // indirect
github.com/aws/aws-sdk-go-v2 v1.40.0 // indirect
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.3 // indirect
github.com/aws/aws-sdk-go-v2/config v1.32.1 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.19.1 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.14 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.14 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.14 // indirect
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4 // indirect
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.14 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.3 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.5 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.14 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.14 // indirect
github.com/aws/aws-sdk-go-v2/service/s3 v1.92.0 // indirect
github.com/aws/aws-sdk-go-v2/service/signin v1.0.1 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.30.4 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.9 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.41.1 // indirect
github.com/aws/smithy-go v1.23.2 // indirect
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect
github.com/charmbracelet/x/ansi v0.10.1 // indirect