Skip to content

Conversation

@ezilber-akamai
Copy link
Contributor

📝 Description

Added support for new Private Image Sharing features and corresponding unit tests.

✔️ How to Test

make test-unit

@ezilber-akamai ezilber-akamai requested a review from a team as a code owner August 18, 2025 14:34
@ezilber-akamai ezilber-akamai requested review from yec-akamai and zliang-akamai and removed request for a team August 18, 2025 14:34
@ezilber-akamai ezilber-akamai added the new-feature for new features in the changelog. label Aug 18, 2025
Copy link
Contributor

Copilot AI left a 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.

Copy link
Contributor

@yec-akamai yec-akamai left a 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:

Copy link
Contributor

@yec-akamai yec-akamai left a 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!

@ezilber-akamai ezilber-akamai merged commit e8cd264 into linode:proj/private-image-sharing Sep 22, 2025
10 checks passed
ezilber-akamai added a commit that referenced this pull request Nov 5, 2025
* 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new-feature for new features in the changelog.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants