Add Azure Storage Blob as an image source#431
Open
oukoedwin wants to merge 7 commits into
Open
Conversation
…orage download provider in AGC Add new ImageSource enum value for Azure Storage Blob as an image source option (AZURESTORAGEBLOB_SOURCE = 4) in the protobuf definition and regenerated Go code.
There was a problem hiding this comment.
Pull request overview
Adds a new ImageSource enum value (AZURESTORAGEBLOB_SOURCE = 4) to the shared protobuf contract and updates the generated Go bindings accordingly, extending the set of image source identifiers available to RPC consumers.
Changes:
- Added
AZURESTORAGEBLOB_SOURCE = 4toImageSourceinmoc_common_common.proto. - Regenerated
moc_common_common.pb.goso Go code includes the new enum constant and name/value mappings.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| rpc/common/moc_common_common.proto | Adds the new ImageSource enum value for Azure Storage Blob. |
| rpc/common/moc_common_common.pb.go | Regenerated Go protobuf output reflecting the new enum value. |
Add AzureBlobImageProperties as a sibling typed message alongside SFSImageProperties, HttpImageProperties, and AzureGalleryImageProperties in both the cloudagent gallery image and nodeagent virtual hard disk proto definitions. Field names (catalogName, audience, version, releaseName, parts, cloud, endpoint) match the JSON keys produced by compute.AzureBlobImageProperties in moc-sdk-for-go, so the on-the-wire encoding inside GalleryImage.sourcePath / VirtualHardDisk.source is unchanged. Regenerated .pb.go files via `make generate`.
…/oukoedwin/moc into edwinouko/agc-image-provisioning
Add unit tests around the AzureBlobImageProperties typed message added in 88f4406: * Cloudagent and nodeagent JSON-key tests pin the exact wire keys (catalogName, audience, version, releaseName, parts, cloud, endpoint) that mgmtappl/moc-sdk-for-go encode and wssdagent's parseBlobConfig decodes. A rename of any proto field becomes a loud test failure rather than a silent break of AGC downloads. * A reflection-based parity test asserts the cloudagent and nodeagent AzureBlobImageProperties types expose identical Go field names and JSON tags. Editing only one of the two .proto files would otherwise silently break wire compatibility between SDK encode and agent decode
raghavendra-nataraj
approved these changes
Jun 10, 2026
Author
|
Since this is the first PR for the AGC support, I have added a screenshot below of a successful ARB deployment (provisioned using the new Here is the mini-design doc for the corresponding workstream
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Adds a new AZURESTORAGEBLOB_SOURCE image source type to support pulling images from Azure Storage Blob thus extending the set of supported image sources beyond local, SFS, HTTP, and clone. This allows images to be pulled from Azure storage blob in AGC where
sfsis not availableChanges