-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add recipe support to extenders #5706
Conversation
You are editing files which require a docs update. Please ensure you've made the appropriate changes to the docs and submitted a PR.
For more information on contributing to docs please visit https://docs.radapp.dev/contributing/docs/. |
Radius functional test overview
Click here to see the list of tools in the current test run
Test Status⌛ Building Radius and pushing container images for functional tests... |
@@ -38,5 +38,6 @@ resource container 'Applications.Core/containers@2022-03-15-privatepreview' = { | |||
} | |||
} | |||
connections: {} | |||
resourceProvisioning: 'manual' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Working on adding a recipe test with an AWS S3 bucket
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Synced with @willdavsmith and we verified that extenders deploy successfully with an AWS S3 bucket manually. Bunsen is working on AWS functional tests so this will be tested with that work. Updated the recipe func test to use Kubernetes deployments instead
cfca21a
to
17e5a6c
Compare
You are editing files which require a docs update. Please ensure you've made the appropriate changes to the docs and submitted a PR.
For more information on contributing to docs please visit https://docs.radapp.dev/contributing/docs/. |
Radius functional test overview
Click here to see the list of tools in the current test run
Test Status⌛ Building Radius and pushing container images for functional tests... |
Test Results2 634 tests - 10 2 627 ✔️ - 10 1m 58s ⏱️ -8s Results for commit 56402c2. ± Comparison against base commit 3884a29. This pull request removes 21 and adds 11 tests. Note that renamed tests count towards both.
♻️ This comment has been updated with latest results. |
You are editing files which require a docs update. Please ensure you've made the appropriate changes to the docs and submitted a PR.
For more information on contributing to docs please visit https://docs.radapp.dev/contributing/docs/. |
Radius functional test overview
Click here to see the list of tools in the current test run
Test Status⌛ Building Radius and pushing container images for functional tests... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Requesting changes to update code comments.
3dd6f41
to
1dce7b1
Compare
You are editing files which require a docs update. Please ensure you've made the appropriate changes to the docs and submitted a PR.
For more information on contributing to docs please visit https://docs.radapp.dev/contributing/docs/. |
Radius functional test overview
Click here to see the list of tools in the current test run
Test Status⌛ Building Radius and pushing container images for functional tests... |
4099312
to
c6f51f9
Compare
You are editing files which require a docs update. Please ensure you've made the appropriate changes to the docs and submitted a PR.
For more information on contributing to docs please visit https://docs.radapp.dev/contributing/docs/. |
Radius functional test overview
Click here to see the list of tools in the current test run
Test Status⌛ Building Radius and pushing container images for functional tests... |
You are editing files which require a docs update. Please ensure you've made the appropriate changes to the docs and submitted a PR.
For more information on contributing to docs please visit https://docs.radapp.dev/contributing/docs/. |
Radius functional test overview
Click here to see the list of tools in the current test run
Test Status⌛ Building Radius and pushing container images for functional tests... |
You are editing files which require a docs update. Please ensure you've made the appropriate changes to the docs and submitted a PR.
For more information on contributing to docs please visit https://docs.radapp.dev/contributing/docs/. |
8df9d15
to
cf6af5f
Compare
You are editing files which require a docs update. Please ensure you've made the appropriate changes to the docs and submitted a PR.
For more information on contributing to docs please visit https://docs.radapp.dev/contributing/docs/. |
Radius functional test overview
Click here to see the list of tools in the current test run
Test Status⌛ Building Radius and pushing container images for functional tests... |
Radius functional test overview
Click here to see the list of tools in the current test run
Test Status⌛ Building Radius and pushing container images for functional tests... |
...cep-types-radius/generated/applications/applications.link/2022-03-15-privatepreview/types.md
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
from me - get a signoff from @ytimocin or @vishwahiremat as well
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Asked a few questions. Other than those questions LGTM.
...ger/Applications.Link/preview/2022-03-15-privatepreview/examples/ExtendersPutWithRecipe.json
Show resolved
Hide resolved
12dab0a
to
56402c2
Compare
You are editing files which require a docs update. Please ensure you've made the appropriate changes to the docs and submitted a PR.
For more information on contributing to docs please visit https://docs.radapp.dev/contributing/docs/. |
Radius functional test overview
Click here to see the list of tools in the current test run
Test Status⌛ Building Radius and pushing container images for functional tests... |
# Description This work add default recipe support to extenders ## Issue reference <!-- We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation. --> Fixes: #5287 ## Checklist Please make sure you've completed the relevant tasks for this PR, out of the following list: * [ ] Code compiles correctly * [ ] Adds necessary unit tests for change * [ ] Adds necessary E2E tests for change * [ ] Unit tests passing * [ ] Extended the documentation / Created issue for it ## Auto-generated summary <!-- GitHub Copilot for docs will auto-generate a summary of the PR --> <!-- copilot:all --> ### <samp>🤖 Generated by Copilot at cfca21a</samp> ### Summary 🍽️🛠️🔗 <!-- 1. 🍽️ - This emoji represents the recipe-based provisioning feature for Extenders, which allows users to specify a predefined recipe to provision and manage the underlying service or resource for the Extender. 2. 🛠️ - This emoji represents the manual provisioning option for Extenders, which allows users to provision and manage the underlying service or resource for the Extender manually. 3. 🔗 - This emoji represents the Extender resource type, which allows users to link external services or resources to their Azure resources and manage them through the Azure portal. --> This pull request adds support for recipe-based provisioning for Extender resources in the `v20220315privatepreview` API version. It updates the cadl, data model, versioned model, serialization, conversion, and backend logic to handle the new `recipe` and `resourceProvisioning` fields in the Extender model. It also updates the test files and deletes the unused frontend controller files for Extenders. > _Extender resource_ > _Adds `recipe` and `provisioning`_ > _Spring of automation_ ### Walkthrough * Add `recipe` and `resourceProvisioning` fields to the Extender model in the cadl file to support recipe-based provisioning for Extenders ([link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-89f91f33bafb5faa7b074dd268635b954293c5fe2f53c09009f9e6abfc795095R70-R75)) * Generate the corresponding fields and serialization logic for the versioned Extender resource in the go files ([link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-061124b001db64301047fda4f1c0c2f1d4b947a0c0811aedbd975f9ee690c855R446-R451), [link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-6b0a49e80fb94d866ac19dd8abd66c41aa3c81acdab39e9c3788282c36cbd9ccR802-R803), [link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-6b0a49e80fb94d866ac19dd8abd66c41aa3c81acdab39e9c3788282c36cbd9ccR832-R837)) * Add the corresponding fields and conversion logic for the data model Extender in the go files ([link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-f9865c3eb46ec19f5ddee3e77bbd20f14f6c4fcabee41cfbff2ae19e627dcffdL49-R57), [link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-f9865c3eb46ec19f5ddee3e77bbd20f14f6c4fcabee41cfbff2ae19e627dcffdL75-R83), [link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-15a50aaf4e208a51516ae3e53848fea9222bc49d456285634461acc223f12f36L59-R66)) * Modify the test data for the versioned and data model Extender resources to include the `resourceProvisioning` field and optionally the `recipe` field ([link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-191bdb01fe98ce9202fe554d76183edfee8f8cabf6ca445519d2ff0a4ea1cf03L20-R21), [link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-9dac57a8a19994ba9f06f9aef3b209186ae3f31fed0efda13161be40fa05c230R8), [link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-cd16454c3d56f5a5a398d8be84ca06f6ddff7f38ac7e7b7317c96c21a1005125L1-R20), [link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-c221800cfb12ec9f28717c9a5e73c252a65094ff55263fb76f540977b74df975L34-R35), [link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-11682c123b5cae506a001cc4b13d8edf250b207581098b3b48535224ffaa27cbL21-R22), [link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-3419958d7a31983f59da94c87e07baefd872ef132d056fa2e5e65e43b15492c6R1-R32), [link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-64bcce16a2595a6355e0f72570271cd940e8f88f1f78ed85ec1604f2480f6461L30-R31), [link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-8d5c4765bf161ef17e4fcd06c892bbb4c318ce5bfbbceb1efaca6a11b6e8fadaL24-R25)) * Modify the test function for the `ConvertTo` function to use a more readable testset and a single assertion for the converted resource ([link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-931c5b1008dfc0ca90cc761d5d316491da3e65f9294e0920c8a08c65b8787de0L27-R126), [link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-931c5b1008dfc0ca90cc761d5d316491da3e65f9294e0920c8a08c65b8787de0L47-R248)) * Add a case for the `linkrp.ExtendersResourceType` to the `getDataModel` function in the deleteresource.go file to enable the deletion of Extender resources ([link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-f369203c896ae38d9f447bf905fa1566b36a31b235e99de6742f243f0e37269cR104-R105)) * Add an import statement for the `extenders` package and an entry for the `linkrp.ExtendersResourceType` to the `controllers` map in the service.go file to enable the creation and update of Extender resources using the `extenders.Processor` ([link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-70568e8e08320d6f442af8eb869c4a070d87c66f0139988d2c3ca969b49f8573R35), [link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-70568e8e08320d6f442af8eb869c4a070d87c66f0139988d2c3ca969b49f8573R138-R141)) * Delete the unused files for the Extender controllers in the frontend package, as they are replaced by the generic `CreateOrUpdateResource` controller ([link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-4502d18baecd8308c8aafbb48436297276b456461c1cbe665ff3aeb9d1ff9906), [link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-9f8c203767d52d5ae38cc3d7be16aaa3120bdcb4ac9c391166845ffa15225e09), [link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-a125e0def41c336f8ae422850fdb254072c2e12ba485f513274a05f2906caeae), [link](https://github.com/project-radius/radius/pull/5706/files?diff=unified&w=0#diff-b5b3d5daad6da50fae275897eed495a0d034495cebad5eaf2abdd4661f12c97c))
Description
This work add default recipe support to extenders
Issue reference
Fixes: #6446
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:
Auto-generated summary
🤖 Generated by Copilot at cfca21a
Summary
🍽️🛠️🔗
This pull request adds support for recipe-based provisioning for Extender resources in the
v20220315privatepreview
API version. It updates the cadl, data model, versioned model, serialization, conversion, and backend logic to handle the newrecipe
andresourceProvisioning
fields in the Extender model. It also updates the test files and deletes the unused frontend controller files for Extenders.Walkthrough
recipe
andresourceProvisioning
fields to the Extender model in the cadl file to support recipe-based provisioning for Extenders (link)resourceProvisioning
field and optionally therecipe
field (link, link, link, link, link, link, link, link)ConvertTo
function to use a more readable testset and a single assertion for the converted resource (link, link)linkrp.ExtendersResourceType
to thegetDataModel
function in the deleteresource.go file to enable the deletion of Extender resources (link)extenders
package and an entry for thelinkrp.ExtendersResourceType
to thecontrollers
map in the service.go file to enable the creation and update of Extender resources using theextenders.Processor
(link, link)CreateOrUpdateResource
controller (link, link, link, link)