Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds support for Azure Blob Storage as a backup backend for MOCO, complementing the existing S3 and GCS options.
Changes:
- Added Azure Blob Storage backend implementation with credential-based authentication
- Added comprehensive test coverage for Azure operations including Azurite emulator tests
- Added documentation for Azure Blob Storage setup and configuration
Reviewed changes
Copilot reviewed 16 out of 18 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| pkg/constants/backup.go | Added Azure backend type constant |
| pkg/bucket/azure.go | Implemented Azure Blob Storage client with Put/Get/List operations |
| pkg/bucket/azure_test.go | Added comprehensive test suite using Azurite emulator |
| cmd/moco-backup/cmd/root.go | Integrated Azure bucket creation logic |
| api/v1beta2/job_types.go | Updated BackendType enum to include azure |
| config/crd/bases/*.yaml | Updated CRD schemas to allow azure backend type |
| e2e/backup_azure_test.go | Added end-to-end tests for Azure backup/restore |
| e2e/testdata/*.yaml | Added test configurations for Azure |
| e2e/azurite.yaml | Added Azurite emulator deployment for testing |
| e2e/Makefile | Updated setup to include Azurite and increased timeouts |
| docs/azure-blob-storage.md | Added comprehensive documentation for Azure setup |
| go.mod | Added Azure SDK dependencies |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
yamatcha
left a comment
There was a problem hiding this comment.
Apologies for the delay in reviewing.
Since I'm not familiar with Azure, so please feel free to correct me if I make any mistakes.
And could you also format the code using go fmt?
|
@yamatcha |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 16 out of 18 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
yamatcha
left a comment
There was a problem hiding this comment.
LGTM. Please wait for one more maintainer to review.
|
@BillyGrande |
Signed-off-by: BillyGrande <billxs@hotmail.com>
Signed-off-by: BillyGrande <billxs@hotmail.com>
Signed-off-by: BillyGrande <billxs@hotmail.com>
Signed-off-by: BillyGrande <billxs@hotmail.com>
Signed-off-by: BillyGrande <billxs@hotmail.com>
- Fix go fmt formatting issues in azure.go, azure_test.go, and backup.go - Add trailing newlines to azure.go and azure_test.go - Use NewAzureBucketFromConnectionString and NewAzureBucket constructors in tests - Add Azurite documentation reference for well-known credentials - Rename 'name' to 'containerName' for clarity - Add comments explaining timeout increases in e2e/Makefile Signed-off-by: BillyGrande <billxs@hotmail.com>
|
Sorry for that! |
|
@BillyGrande |
| It("should delete namespace", func() { | ||
| kubectlSafe(nil, "delete", "-n", "backup-azure", "mysqlclusters", "--all") | ||
| // Delete the create-bucket job to clean up its pods | ||
| kubectl(nil, "delete", "-n", "backup-azure", "job", "create-bucket", "--ignore-not-found=true") |
There was a problem hiding this comment.
Use kubectlSafe to ensure code consistency and check for errors.
Based on this issue:
#829