microsoft / commercial-marketplace-offer-deploy

Deployment Manager for the Azure Marketplace
Other
21 stars 13 forks source link

Release resources via release index registry #543

Closed kevinhillinger closed 1 year ago

kevinhillinger commented 1 year ago

Notes

file in root of repository: index.json

This file will allow us to have a consistent, known URL that we can fetch list of resources necessary for the CLI to function. Secondly, it will give us a two-phase verification of the resources file since we will control the file reference in the GitHub releases and confirm the file with a sha256Digest attribute in the index.

Resource Files

These files are just the start.

The change will support both:

It combines the ability for these resources to be fetched dynamically when we zip up the app.zip through the version value that will ultimately get passed via the CLI option --installer-version.

I copied the way that the Azure CLI extensions repo does it, using the notion of an "index.json". The index.json has entries for each release. Each entry has a reference attribute. The reference points to both the offer (if it exists for that version, and the vmi).

The CLI option example would be something like:

--installer-version 2.0.1 \
--delivery-type marketplace | servicecatalog

Based on the delivery type, we can control how it gets packaged up.