Extension Framework: custom service target support - #5815
Conversation
Support package, publish, endpoints Refactor ServiceTargetProvider interface Use new ExtensionHost pattern and update samples Add ability to use azd's default target resource resolution
f11086c to
8cab6b0
Compare
wbreza
left a comment
There was a problem hiding this comment.
Awesome progress! Lets get this in and keep moving 🚀
Azure Dev CLI Install InstructionsInstall scriptsMacOS/Linux
bash: pwsh: WindowsPowerShell install MSI install Standalone Binary
MSI
Documentationlearn.microsoft.com documentationtitle: Azure Developer CLI reference
|
Closes #5681
Closes #5682
Some of these changes are a continuation from #5381.
This PR introduces support for custom service targets in the extension framework, enabling extensions to implement custom deployment targets for package, publish, and deploy operations.
Extension authors need to first specify the
service-target-providercapability in the extension manifest (extension.yaml):Then, they need to implement
azdext.ServiceTargetProviderwithInitialize,GetTargetResource,Package,Publish,Deploy, andEndpointsmethods, and then register them with the ExtensionHost API, which unifies registering service targets and event handlers:The
azdext.ServiceTargetProviderinterface exposes aGetTargetResourcemethod so that extensions can override the default service resource lookup strategy by tag/resource name. Extensions can invoke thedefaultResolver()callback to use that default lookup strategy:Other changes
azure.yamlschema to accept custom service host values beyond built-in types so there won't be validation errors parsingazure.yamlwith custom host typesmicrosoft.azd.demoandazure.foundry.ai.agentswith reference service target provider implementations