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 versioning to Recipes #6372

Open
Tracked by #3
jasonviviano opened this issue Sep 12, 2022 · 4 comments
Open
Tracked by #3

Add versioning to Recipes #6372

jasonviviano opened this issue Sep 12, 2022 · 4 comments
Labels
feature This issue describes a feature request in Radius triaged This issue has been reviewed and triaged

Comments

@jasonviviano
Copy link
Contributor

jasonviviano commented Sep 12, 2022

note: @rynowak here, I'm hijacking the top post here to describe the scenario in more detail so we can build it. See the history for the original.

Overview of feature request

Recipes should support a strong and flexible model for versioning. This means that users can:

  • Understand the exact template and version of a recipe that was used when an application is deployed.

  • Update the recipe stored in the environment, without impacting all deployed applications (recipe stickiness).

  • Leverage multiple different workflows to understand where upgrades are needed, and to roll out those upgrades with a limited blast Radius.

    • For some cases operators may want to roll out recipe upgrades themselves: either in bulk or in a fine-grained way.
    • For some cases, developers/application-owners may want the recipe upgrade to take place during application deployment.
  • Understand the state of infrastructure managed by a recipe, and whether that infrastructure has drifted from the definition.

Requirements and design TBD

Acceptance criteria

  • Recipes define a unified model for versioning, and guidance for how to use it.

  • rad CLI, API, and dashboard (if ready) can help users understand the recipe that was used to create a resource, and whether it is out-of-date.

  • rad CLI, API, Bicep, define workflows for upgrading the recipe in use by a resource.

  • stretch rad, API, support performing a deep what-if operation to reason about changes a recipe would make to infrastructure.

AB#10667

@AaronCrawfis AaronCrawfis changed the title As a user I'd want to update my Connector Recipes and have a way to version each iteration of a recipe. Add versioning to Recipes Feb 24, 2023
@willtsai willtsai transferred this issue from radius-project/radius Sep 19, 2023
@willtsai willtsai transferred this issue from another repository Sep 27, 2023
@shalabhms shalabhms added triaged This issue has been reviewed and triaged feature This issue describes a feature request in Radius labels Dec 11, 2023
@radius-triage-bot
Copy link

👍 We've reviewed this issue and have agreed to add it to our backlog. Please subscribe to this issue for notifications, we'll provide updates when we pick it up.

We also welcome community contributions! If you would like to pick this item up sooner and submit a pull request, please visit our contribution guidelines and assign this to yourself by commenting "/assign" on this issue.

For more information on our triage process please visit our triage overview

@radius-triage-bot
Copy link

👋 @jasonviviano Thanks for filing this feature request.

A project maintainer will review this feature request and get back to you soon.

We also welcome community contributions! If you would like to pick this item up sooner and submit a pull request, please visit our contribution guidelines and assign this to yourself by commenting "/assign" on this issue.

For more information on our triage process please visit our triage overview

@tdeheurles
Copy link

Hey, what is the status for this please ? I can see you added then removed from roadmap. Is it because you're taking a different path ?

Some documentation explaining the impact of updating the registered schema on resources would also be useful. What is going to happen if I deploy a recipe and then update the recipe without re-deploying the recipe etc). Thanks :-)

@AaronCrawfis
Copy link
Contributor

Hi @tdeheurles, we slightly changed our roadmap setup, opting to use separate issues for roadmap items. Recipe versioning is still in our roadmap here: https://github.com/orgs/radius-project/projects/8?pane=issue&itemId=47749189

It's near the top of our accepted items, and we hope to start designing and implementing this item in the coming months.

Love the feedback on additional Recipe documentation! I'll work on getting something added. Right now we don't offer any support for changing a Recipe's contents/parameters and it will lead to undefined behavior. Making a change to a Recipe currently requires deleting any applications that make use of the Recipe, updating the Recipe template, and redeploying with the new Recipe. We want to improve this flow as soon as we can.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature This issue describes a feature request in Radius triaged This issue has been reviewed and triaged
Projects
None yet
Development

No branches or pull requests

4 participants