YannickRe / azuredevops-buildagents

Generate self-hosted build agents for Azure DevOps, just like Microsoft does.
MIT License
151 stars 90 forks source link

Add gallery storage account type option #86

Open robbert-nlo opened 1 month ago

robbert-nlo commented 1 month ago

This PR adds an option allowing to configure the Gallery Image Version storage account type.

YannickRe commented 1 month ago

Thanks for this PR. I can definitely accept it, but it currently has the downside that it's not backwards compatible. People pulling in the new version but not having the proper variable set up in DevOps will have it now fail. Do you see any way to avoid this?

Additionally, could you provide the possible values of this variable in the readme (or a link to the docs explaining the values)?

robbert-nlo commented 1 month ago

Thanks for this PR. I can definitely accept it, but it currently has the downside that it's not backwards compatible. People pulling in the new version but not having the proper variable set up in DevOps will have it now fail. Do you see any way to avoid this?

The default for this added parameter is Standard_LRS, so the pipeline and/or script could be modified to test for empty $(GALLERY_STORAGE_ACCOUNT_TYPE) or $GalleryStorageAccountType, and if empty, set the default value. That will retain original behaviour.

I'm not sure though what the best place to do this is: in buildagent-generation-galleryvm.yml or in scripts/create-gallery-vmimageversion.ps1.

Additionally, could you provide the possible values of this variable in the readme (or a link to the docs explaining the values)?

Sure, since this sets the storage-account-type parameter of the az sig image-version create command, the possible values for this can be found in those docs: https://learn.microsoft.com/en-us/cli/azure/sig/image-version?view=azure-cli-latest#az-sig-image-version-create:~:text=Accepted%20values%3A%20Premium_LRS%2C%20Standard_LRS%2C%20Standard_ZRS

_Accepted values: Premium_LRS, Standard_LRS, StandardZRS