Skip to content

Design doc for Radius upgrades + Flux #98

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

willdavsmith
Copy link
Contributor

No description provided.

Signed-off-by: willdavsmith <willdavsmith@gmail.com>
@willdavsmith willdavsmith requested review from a team as code owners June 11, 2025 17:53
name: radius
namespace: flux-system
annotations:
radapp.io/upgrade-enabled: "true" # Opt-in to safety checks
Copy link
Contributor

@ytimocin ytimocin Jun 11, 2025

Choose a reason for hiding this comment

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

Is this the only safety mechanism that would block the reconciler from running the preflight checks and the upgrade?

If so, this should be disabled by default and then users should enable it if they want.

Copy link
Contributor

Choose a reason for hiding this comment

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

I guess this is false by default.

Comment on lines +108 to +110
# Annotations show:
# radapp.io/upgrade-hold: "Cannot upgrade from 0.46.0 to 0.48.0: version skipping not supported"
# radapp.io/upgrade-checked-version: "0.46.0"
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this the only way the users can see the errors in preflight checks?

radapp.io/upgrade-checked-version: "0.46.0"

# Controller-managed: Hold reason when upgrades are blocked
radapp.io/upgrade-hold: "Cannot upgrade from 0.46.0 to 0.48.0: version skipping not supported"
Copy link
Contributor

Choose a reason for hiding this comment

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

What is the rollback scenario here in this case? Will they run helm rollback manually?

Copy link
Member

@brooke-hamilton brooke-hamilton left a comment

Choose a reason for hiding this comment

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

🚀

└─────────────────┘
```

### Component Design
Copy link
Member

Choose a reason for hiding this comment

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

If a customer is using Flux and Helm to manage their Radius installation, what value does a Radius controller add?

Copy link
Contributor

Choose a reason for hiding this comment

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

For the upgrade scenario, Radius controller will run the preflight checks to see if an upgrade is going to be successful.

Copy link
Contributor

Choose a reason for hiding this comment

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

Installing Radius via Helm will not be able to bring all the moving parts together, as far as I know. Because rad install kubernetes and rad init will do some other operations other than just installing the Radius Helm release.

```

**Expected Flow:**
1. Radius controller detects incompatible upgrade
Copy link
Contributor

Choose a reason for hiding this comment

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

are there more conditions for incompatible upgrade in addition to version skip?

### Architecture Overview

```
┌─────────────────┐ ┌───────────────────┐
Copy link
Contributor

Choose a reason for hiding this comment

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

will Flux be a dependency for radius?

- [ ] User documentation
- [ ] Example configurations

## Open Questions
Copy link
Contributor

@lakshmimsft lakshmimsft Jun 11, 2025

Choose a reason for hiding this comment

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

do we need more information on error handing/cleanup when each of these steps (Scenarios 1, 2)occur

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.

5 participants