-
Notifications
You must be signed in to change notification settings - Fork 96
Added support for Private Image Sharing #800
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added support for Private Image Sharing #800
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds support for Private Image Sharing functionality in the Linode Go client library. The implementation introduces image share groups with producer and consumer roles, allowing users to securely share private images.
- Implements complete Producer and Consumer APIs for image share groups including CRUD operations, member management, and image sharing
- Updates the Image struct to support image sharing metadata including vendor field changes to support nil values
- Adds comprehensive unit tests covering all new functionality with proper fixture data
Reviewed Changes
Copilot reviewed 26 out of 26 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
images.go |
Updates Image struct to add ImageSharing fields and makes vendor/created_by fields nullable |
image_sharegroups_producer.go |
New file implementing producer-side image share group operations |
image_sharegroups_consumer.go |
New file implementing consumer-side image share group operations |
test/unit/images_test.go |
Updates existing tests for vendor field changes and adds new tests for private/shared images |
test/unit/image_sharegroups_producer_test.go |
New comprehensive test file for producer share group functionality |
test/unit/image_sharegroups_consumer_test.go |
New comprehensive test file for consumer share group functionality |
| Multiple fixture files | JSON test fixtures supporting the new functionality |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
yec-akamai
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work! Just a few small things:
yec-akamai
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unit tests passed locally!
e8cd264
into
linode:proj/private-image-sharing
* Added support for Private Image Sharing (#800) * Added support for Private Image Sharing * Add missing endpoint * Fix lint * Addressed copilot suggestions * Reran monthly transfer fixture * Addressed PR comments * More PR comments * Added integration tests for Private Image Sharing (#831) * Fixes and added integration tests * Separate ImageShareEntry struct and address PR comments * Fix lint * Addressed PR comments * Reran GetMonthlyTransfer fixture * Remove LA notices * Copilot suggestions * Fixed TestInstance_GetMonthlyTransfer fixture
📝 Description
Added support for new Private Image Sharing features and corresponding unit tests.
✔️ How to Test
make test-unit