Skip to content
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

Merged
merged 16 commits into from
Jun 19, 2023
Merged

Add recipe support to extenders #5706

merged 16 commits into from
Jun 19, 2023

Conversation

sk593
Copy link
Contributor

@sk593 sk593 commented Jun 13, 2023

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:

  • 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

🤖 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 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)
  • Generate the corresponding fields and serialization logic for the versioned Extender resource in the go files (link, link, link)
  • Add the corresponding fields and conversion logic for the data model Extender in the go files (link, link, link)
  • Modify the test data for the versioned and data model Extender resources to include the resourceProvisioning field and optionally the recipe field (link, link, link, link, link, link, link, link)
  • Modify the test function for the ConvertTo function to use a more readable testset and a single assertion for the converted resource (link, link)
  • Add a case for the linkrp.ExtendersResourceType to the getDataModel function in the deleteresource.go file to enable the deletion of Extender resources (link)
  • 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, link)
  • Delete the unused files for the Extender controllers in the frontend package, as they are replaced by the generic CreateOrUpdateResource controller (link, link, link, link)

@sk593 sk593 marked this pull request as ready for review June 13, 2023 02:27
@sk593 sk593 requested a review from a team as a code owner June 13, 2023 02:27
@github-actions
Copy link

You are editing files which require a docs update. Please ensure you've made the appropriate changes to the docs and submitted a PR.

  • Swagger changes require reference edge docs to be updated here
  • Make sure to create a branch and submit a PR into the edge branch instead of the default latest branch, as the swagger changes will not be available until the next release.

For more information on contributing to docs please visit https://docs.radapp.dev/contributing/docs/.

@github-actions
Copy link

github-actions bot commented Jun 13, 2023

Radius functional test overview

🔍 Go to test action run

Name Value
Repository project-radius/radius
Commit ref cfca21a
Unique ID 0abcd09e2c
Image tag pr-0abcd09e2c
Click here to see the list of tools in the current test run
  • gotestsum 1.10.0
  • KinD: v0.18.0
  • Dapr: 1.10.0
  • Azure KeyVault CSI driver: 1.4.2
  • Azure Workload identity webhook: 1.0.0
  • recipe location radiusdev.azurecr.io/test/functional/corerp/recipes/<name>:pr-0abcd09e2c
  • appcore-rp test image location: radiusdev.azurecr.io/appcore-rp:pr-0abcd09e2c
  • ucp test image location: radiusdev.azurecr.io/ucpd:pr-0abcd09e2c

Test Status

⌛ Building Radius and pushing container images for functional tests...
✅ Container images build succeeded
⌛ Publishing Bicep Recipes for functional tests...
✅ Recipe publishing succeeded
⌛ Starting ucp functional tests...
⌛ Starting samples functional tests...
✅ samples functional tests succeeded
✅ ucp functional tests succeeded
✅ corerp functional tests succeeded

@@ -38,5 +38,6 @@ resource container 'Applications.Core/containers@2022-03-15-privatepreview' = {
}
}
connections: {}
resourceProvisioning: 'manual'
Copy link
Contributor Author

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

Copy link
Contributor Author

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

@sk593 sk593 force-pushed the shruku/default-recipe-extender branch from cfca21a to 17e5a6c Compare June 13, 2023 02:29
@github-actions
Copy link

You are editing files which require a docs update. Please ensure you've made the appropriate changes to the docs and submitted a PR.

  • Swagger changes require reference edge docs to be updated here
  • Make sure to create a branch and submit a PR into the edge branch instead of the default latest branch, as the swagger changes will not be available until the next release.

For more information on contributing to docs please visit https://docs.radapp.dev/contributing/docs/.

@github-actions
Copy link

github-actions bot commented Jun 13, 2023

Radius functional test overview

🔍 Go to test action run

Name Value
Repository project-radius/radius
Commit ref 17e5a6c
Unique ID 62c8b7266c
Image tag pr-62c8b7266c
Click here to see the list of tools in the current test run
  • gotestsum 1.10.0
  • KinD: v0.18.0
  • Dapr: 1.10.0
  • Azure KeyVault CSI driver: 1.4.2
  • Azure Workload identity webhook: 1.0.0
  • recipe location radiusdev.azurecr.io/test/functional/corerp/recipes/<name>:pr-62c8b7266c
  • appcore-rp test image location: radiusdev.azurecr.io/appcore-rp:pr-62c8b7266c
  • ucp test image location: radiusdev.azurecr.io/ucpd:pr-62c8b7266c

Test Status

⌛ Building Radius and pushing container images for functional tests...
✅ Container images build succeeded
⌛ Publishing Bicep Recipes for functional tests...
✅ Recipe publishing succeeded
⌛ Starting ucp functional tests...
✅ samples functional tests succeeded
✅ ucp functional tests succeeded
✅ corerp functional tests succeeded

@github-actions
Copy link

github-actions bot commented Jun 13, 2023

Test Results

2 634 tests   - 10   2 627 ✔️  - 10   1m 58s ⏱️ -8s
   237 suites +  1          7 💤 ±  0 
       1 files   ±  0          0 ±  0 

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.
github.com/project-radius/radius/pkg/armrpc/frontend/controller ‑ TestValidateEtag_IfMatch/012c666b-2744-4b8f-9698-db5ab9636291
github.com/project-radius/radius/pkg/armrpc/frontend/controller ‑ TestValidateEtag_IfMatch/012c666b-2744-4b8f-9698-db5ab9636291#01
github.com/project-radius/radius/pkg/linkrp/frontend/controller/extenders ‑ TestCreateOrUpdateExtender_20220315PrivatePreview
github.com/project-radius/radius/pkg/linkrp/frontend/controller/extenders ‑ TestCreateOrUpdateExtender_20220315PrivatePreview/create-new-resource-*-if-match
github.com/project-radius/radius/pkg/linkrp/frontend/controller/extenders ‑ TestCreateOrUpdateExtender_20220315PrivatePreview/create-new-resource-*-if-none-match
github.com/project-radius/radius/pkg/linkrp/frontend/controller/extenders ‑ TestCreateOrUpdateExtender_20220315PrivatePreview/create-new-resource-etag-if-match
github.com/project-radius/radius/pkg/linkrp/frontend/controller/extenders ‑ TestCreateOrUpdateExtender_20220315PrivatePreview/create-new-resource-no-if-match
github.com/project-radius/radius/pkg/linkrp/frontend/controller/extenders ‑ TestCreateOrUpdateExtender_20220315PrivatePreview/update-resource-*-if-match
github.com/project-radius/radius/pkg/linkrp/frontend/controller/extenders ‑ TestCreateOrUpdateExtender_20220315PrivatePreview/update-resource-*-if-none-match
github.com/project-radius/radius/pkg/linkrp/frontend/controller/extenders ‑ TestCreateOrUpdateExtender_20220315PrivatePreview/update-resource-matching-if-match
…
github.com/project-radius/radius/pkg/armrpc/frontend/controller ‑ TestValidateEtag_IfMatch/2b896553-3e21-4392-90da-d6a824bc8b41
github.com/project-radius/radius/pkg/armrpc/frontend/controller ‑ TestValidateEtag_IfMatch/2b896553-3e21-4392-90da-d6a824bc8b41#01
github.com/project-radius/radius/pkg/linkrp/api/v20220315privatepreview ‑ TestExtender_ConvertDataModelToVersioned/extender_resource_provisioning_manual_datamodel
github.com/project-radius/radius/pkg/linkrp/api/v20220315privatepreview ‑ TestExtender_ConvertDataModelToVersioned/extender_resource_provisioning_manual_datamodel_(no_secrets)
github.com/project-radius/radius/pkg/linkrp/api/v20220315privatepreview ‑ TestExtender_ConvertDataModelToVersioned/extender_resource_recipe_datamodel
github.com/project-radius/radius/pkg/linkrp/processors/extenders ‑ Test_MergeOutputValues
github.com/project-radius/radius/pkg/linkrp/processors/extenders ‑ Test_Process
github.com/project-radius/radius/pkg/linkrp/processors/extenders ‑ Test_Process/failure_-_missing_required_values
github.com/project-radius/radius/pkg/linkrp/processors/extenders ‑ Test_Process/success_-_manual
github.com/project-radius/radius/pkg/linkrp/processors/extenders ‑ Test_Process/success_-_recipe
…

♻️ This comment has been updated with latest results.

@github-actions
Copy link

63.5

For the detailed report, please go to Checks tab, click Build and Test, and then download unit_test_coverage artifact at the bottom of build page.

  • Your PR branch coverage: 63.5 %
  • main branch coverage: 63.5 %
  • diff coverage: 0 %

The coverage result does not include the functional test coverage.

@github-actions
Copy link

You are editing files which require a docs update. Please ensure you've made the appropriate changes to the docs and submitted a PR.

  • Swagger changes require reference edge docs to be updated here
  • Make sure to create a branch and submit a PR into the edge branch instead of the default latest branch, as the swagger changes will not be available until the next release.

For more information on contributing to docs please visit https://docs.radapp.dev/contributing/docs/.

@github-actions
Copy link

github-actions bot commented Jun 13, 2023

Radius functional test overview

🔍 Go to test action run

Name Value
Repository project-radius/radius
Commit ref 3dd6f41
Unique ID e287eaa4ad
Image tag pr-e287eaa4ad
Click here to see the list of tools in the current test run
  • gotestsum 1.10.0
  • KinD: v0.18.0
  • Dapr: 1.10.0
  • Azure KeyVault CSI driver: 1.4.2
  • Azure Workload identity webhook: 1.0.0
  • recipe location radiusdev.azurecr.io/test/functional/corerp/recipes/<name>:pr-e287eaa4ad
  • appcore-rp test image location: radiusdev.azurecr.io/appcore-rp:pr-e287eaa4ad
  • ucp test image location: radiusdev.azurecr.io/ucpd:pr-e287eaa4ad

Test Status

⌛ Building Radius and pushing container images for functional tests...
✅ Container images build succeeded
⌛ Publishing Bicep Recipes for functional tests...
✅ Recipe publishing succeeded
⌛ Starting ucp functional tests...
✅ samples functional tests succeeded
✅ ucp functional tests succeeded
❌ corerp functional test failed. Please check the logs for more details

@github-actions
Copy link

63.5

For the detailed report, please go to Checks tab, click Build and Test, and then download unit_test_coverage artifact at the bottom of build page.

  • Your PR branch coverage: 63.5 %
  • main branch coverage: 63.5 %
  • diff coverage: 0 %

The coverage result does not include the functional test coverage.

Copy link
Contributor

@shalabhms shalabhms left a 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.

@sk593 sk593 force-pushed the shruku/default-recipe-extender branch from 3dd6f41 to 1dce7b1 Compare June 13, 2023 17:31
@github-actions
Copy link

You are editing files which require a docs update. Please ensure you've made the appropriate changes to the docs and submitted a PR.

  • Swagger changes require reference edge docs to be updated here
  • Make sure to create a branch and submit a PR into the edge branch instead of the default latest branch, as the swagger changes will not be available until the next release.

For more information on contributing to docs please visit https://docs.radapp.dev/contributing/docs/.

@github-actions
Copy link

github-actions bot commented Jun 13, 2023

Radius functional test overview

🔍 Go to test action run

Name Value
Repository project-radius/radius
Commit ref 1dce7b1
Unique ID 34b9f5fb7e
Image tag pr-34b9f5fb7e
Click here to see the list of tools in the current test run
  • gotestsum 1.10.0
  • KinD: v0.18.0
  • Dapr: 1.10.0
  • Azure KeyVault CSI driver: 1.4.2
  • Azure Workload identity webhook: 1.0.0
  • recipe location radiusdev.azurecr.io/test/functional/corerp/recipes/<name>:pr-34b9f5fb7e
  • appcore-rp test image location: radiusdev.azurecr.io/appcore-rp:pr-34b9f5fb7e
  • ucp test image location: radiusdev.azurecr.io/ucpd:pr-34b9f5fb7e

Test Status

⌛ Building Radius and pushing container images for functional tests...
✅ Container images build succeeded
⌛ Publishing Bicep Recipes for functional tests...
✅ Recipe publishing succeeded
⌛ Starting ucp functional tests...
⌛ Starting corerp functional tests...
⌛ Starting samples functional tests...
✅ ucp functional tests succeeded
✅ samples functional tests succeeded
✅ corerp functional tests succeeded

@github-actions
Copy link

63.5

For the detailed report, please go to Checks tab, click Build and Test, and then download unit_test_coverage artifact at the bottom of build page.

  • Your PR branch coverage: 63.5 %
  • main branch coverage: 63.5 %
  • diff coverage: 0 %

The coverage result does not include the functional test coverage.

@sk593 sk593 force-pushed the shruku/default-recipe-extender branch from 4099312 to c6f51f9 Compare June 14, 2023 16:14
@github-actions
Copy link

You are editing files which require a docs update. Please ensure you've made the appropriate changes to the docs and submitted a PR.

  • Swagger changes require reference edge docs to be updated here
  • Make sure to create a branch and submit a PR into the edge branch instead of the default latest branch, as the swagger changes will not be available until the next release.

For more information on contributing to docs please visit https://docs.radapp.dev/contributing/docs/.

@github-actions
Copy link

github-actions bot commented Jun 14, 2023

Radius functional test overview

🔍 Go to test action run

Name Value
Repository project-radius/radius
Commit ref c6f51f9
Unique ID 3cb936b889
Image tag pr-3cb936b889
Click here to see the list of tools in the current test run
  • gotestsum 1.10.0
  • KinD: v0.18.0
  • Dapr: 1.10.0
  • Azure KeyVault CSI driver: 1.4.2
  • Azure Workload identity webhook: 1.0.0
  • recipe location radiusdev.azurecr.io/test/functional/corerp/recipes/<name>:pr-3cb936b889
  • appcore-rp test image location: radiusdev.azurecr.io/appcore-rp:pr-3cb936b889
  • ucp test image location: radiusdev.azurecr.io/ucpd:pr-3cb936b889

Test Status

⌛ Building Radius and pushing container images for functional tests...
✅ Container images build succeeded
⌛ Publishing Bicep Recipes for functional tests...
✅ Recipe publishing succeeded
⌛ Starting ucp functional tests...
⌛ Starting samples functional tests...
✅ samples functional tests succeeded
✅ ucp functional tests succeeded
✅ corerp functional tests succeeded

@github-actions
Copy link

You are editing files which require a docs update. Please ensure you've made the appropriate changes to the docs and submitted a PR.

  • Swagger changes require reference edge docs to be updated here
  • Make sure to create a branch and submit a PR into the edge branch instead of the default latest branch, as the swagger changes will not be available until the next release.

For more information on contributing to docs please visit https://docs.radapp.dev/contributing/docs/.

@github-actions
Copy link

github-actions bot commented Jun 14, 2023

Radius functional test overview

🔍 Go to test action run

Name Value
Repository project-radius/radius
Commit ref 74a6067
Unique ID bb9bc1153a
Image tag pr-bb9bc1153a
Click here to see the list of tools in the current test run
  • gotestsum 1.10.0
  • KinD: v0.18.0
  • Dapr: 1.10.0
  • Azure KeyVault CSI driver: 1.4.2
  • Azure Workload identity webhook: 1.0.0
  • recipe location radiusdev.azurecr.io/test/functional/corerp/recipes/<name>:pr-bb9bc1153a
  • appcore-rp test image location: radiusdev.azurecr.io/appcore-rp:pr-bb9bc1153a
  • ucp test image location: radiusdev.azurecr.io/ucpd:pr-bb9bc1153a

Test Status

⌛ Building Radius and pushing container images for functional tests...
✅ Container images build succeeded
⌛ Publishing Bicep Recipes for functional tests...
✅ Recipe publishing succeeded
⌛ Starting ucp functional tests...
⌛ Starting corerp functional tests...
⌛ Starting samples functional tests...
✅ samples functional tests succeeded
✅ ucp functional tests succeeded
✅ corerp functional tests succeeded

@github-actions
Copy link

63.8

For the detailed report, please go to Checks tab, click Build and Test, and then download unit_test_coverage artifact at the bottom of build page.

  • Your PR branch coverage: 63.8 %
  • main branch coverage: 63.8 %
  • diff coverage: 0 %

The coverage result does not include the functional test coverage.

@github-actions
Copy link

You are editing files which require a docs update. Please ensure you've made the appropriate changes to the docs and submitted a PR.

  • Swagger changes require reference edge docs to be updated here
  • Make sure to create a branch and submit a PR into the edge branch instead of the default latest branch, as the swagger changes will not be available until the next release.

For more information on contributing to docs please visit https://docs.radapp.dev/contributing/docs/.

@sk593 sk593 force-pushed the shruku/default-recipe-extender branch from 8df9d15 to cf6af5f Compare June 14, 2023 22:37
@github-actions
Copy link

You are editing files which require a docs update. Please ensure you've made the appropriate changes to the docs and submitted a PR.

  • Swagger changes require reference edge docs to be updated here
  • Make sure to create a branch and submit a PR into the edge branch instead of the default latest branch, as the swagger changes will not be available until the next release.

For more information on contributing to docs please visit https://docs.radapp.dev/contributing/docs/.

@github-actions
Copy link

github-actions bot commented Jun 14, 2023

Radius functional test overview

🔍 Go to test action run

Name Value
Repository project-radius/radius
Commit ref 8df9d15
Unique ID 3a4f06f5db
Image tag pr-3a4f06f5db
Click here to see the list of tools in the current test run
  • gotestsum 1.10.0
  • KinD: v0.18.0
  • Dapr: 1.10.0
  • Azure KeyVault CSI driver: 1.4.2
  • Azure Workload identity webhook: 1.0.0
  • recipe location radiusdev.azurecr.io/test/functional/corerp/recipes/<name>:pr-3a4f06f5db
  • appcore-rp test image location: radiusdev.azurecr.io/appcore-rp:pr-3a4f06f5db
  • ucp test image location: radiusdev.azurecr.io/ucpd:pr-3a4f06f5db

Test Status

⌛ Building Radius and pushing container images for functional tests...
✅ Container images build succeeded
⌛ Publishing Bicep Recipes for functional tests...
✅ Recipe publishing succeeded
⌛ Starting ucp functional tests...
⌛ Starting corerp functional tests...
✅ ucp functional tests succeeded
✅ samples functional tests succeeded
✅ corerp functional tests succeeded

@github-actions
Copy link

github-actions bot commented Jun 19, 2023

Radius functional test overview

🔍 Go to test action run

Name Value
Repository project-radius/radius
Commit ref 12dab0a
Unique ID 3fb9da41fb
Image tag pr-3fb9da41fb
Click here to see the list of tools in the current test run
  • gotestsum 1.10.0
  • KinD: v0.18.0
  • Dapr: 1.10.0
  • Azure KeyVault CSI driver: 1.4.2
  • Azure Workload identity webhook: 1.0.0
  • recipe location radiusdev.azurecr.io/test/functional/corerp/recipes/<name>:pr-3fb9da41fb
  • appcore-rp test image location: radiusdev.azurecr.io/appcore-rp:pr-3fb9da41fb
  • ucp test image location: radiusdev.azurecr.io/ucpd:pr-3fb9da41fb

Test Status

⌛ Building Radius and pushing container images for functional tests...
✅ Container images build succeeded
⌛ Publishing Bicep Recipes for functional tests...
✅ Recipe publishing succeeded
⌛ Starting samples functional tests...
⌛ Starting corerp functional tests...
✅ samples functional tests succeeded
✅ ucp functional tests succeeded
✅ corerp functional tests succeeded

@github-actions
Copy link

66.2

For the detailed report, please go to Checks tab, click Build and Test, and then download unit_test_coverage artifact at the bottom of build page.

  • Your PR branch coverage: 66.2 %
  • main branch coverage: 66.1 %
  • diff coverage: .1 %

The coverage result does not include the functional test coverage.

Copy link
Contributor

@rynowak rynowak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit: from me - get a signoff from @ytimocin or @vishwahiremat as well

Copy link
Contributor

@ytimocin ytimocin left a 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.

@sk593 sk593 force-pushed the shruku/default-recipe-extender branch from 12dab0a to 56402c2 Compare June 19, 2023 21:27
@github-actions
Copy link

You are editing files which require a docs update. Please ensure you've made the appropriate changes to the docs and submitted a PR.

  • Swagger changes require reference edge docs to be updated here
  • Make sure to create a branch and submit a PR into the edge branch instead of the default latest branch, as the swagger changes will not be available until the next release.

For more information on contributing to docs please visit https://docs.radapp.dev/contributing/docs/.

@github-actions
Copy link

github-actions bot commented Jun 19, 2023

Radius functional test overview

🔍 Go to test action run

Name Value
Repository project-radius/radius
Commit ref 56402c2
Unique ID e9cee79710
Image tag pr-e9cee79710
Click here to see the list of tools in the current test run
  • gotestsum 1.10.0
  • KinD: v0.18.0
  • Dapr: 1.10.0
  • Azure KeyVault CSI driver: 1.4.2
  • Azure Workload identity webhook: 1.0.0
  • recipe location radiusdev.azurecr.io/test/functional/corerp/recipes/<name>:pr-e9cee79710
  • appcore-rp test image location: radiusdev.azurecr.io/appcore-rp:pr-e9cee79710
  • ucp test image location: radiusdev.azurecr.io/ucpd:pr-e9cee79710

Test Status

⌛ Building Radius and pushing container images for functional tests...
✅ Container images build succeeded
⌛ Publishing Bicep Recipes for functional tests...
✅ Recipe publishing succeeded
⌛ Starting samples functional tests...
⌛ Starting ucp functional tests...
⌛ Starting corerp functional tests...
✅ samples functional tests succeeded
✅ ucp functional tests succeeded
✅ corerp functional tests succeeded
⌛ Starting corerp functional tests...
❌ corerp functional test failed. Please check the logs for more details
⌛ Starting corerp functional tests...
✅ corerp functional tests succeeded

@github-actions
Copy link

66.2

For the detailed report, please go to Checks tab, click Build and Test, and then download unit_test_coverage artifact at the bottom of build page.

  • Your PR branch coverage: 66.2 %
  • main branch coverage: 66.2 %
  • diff coverage: 0 %

The coverage result does not include the functional test coverage.

@sk593 sk593 merged commit eb18c36 into main Jun 19, 2023
@sk593 sk593 deleted the shruku/default-recipe-extender branch June 19, 2023 23:04
nithyatsu pushed a commit that referenced this pull request Jun 21, 2023
# 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))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make Recipes the default experience, without needing to specify a mode
5 participants