-
Notifications
You must be signed in to change notification settings - Fork 0
Add rolling-updates feature flag and compatibility framework #7
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
base: feature-rolling-updates-baseline
Are you sure you want to change the base?
Add rolling-updates feature flag and compatibility framework #7
Conversation
Closes #36840 Signed-off-by: Pedro Ruivo <[email protected]>
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.
Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.
Greptile OverviewConfidence Score: 5/5
Important Files ChangedFile Analysis
Sequence DiagramsequenceDiagram
participant User
participant CLI as Update Command
participant Check as UpdateCompatibilityCheck
participant Metadata as UpdateCompatibilityMetadata
participant Profile as Profile.Feature
participant Manager as CompatibilityManager
participant Result as CompatibilityResult
User->>CLI: Execute update metadata command
CLI->>Metadata: run()
Metadata->>Profile: isFeatureEnabled(ROLLING_UPDATES)
alt Feature Disabled
Profile-->>Metadata: false
Metadata->>User: printFeatureDisabled()
Metadata->>User: exit(FEATURE_DISABLED=4)
else Feature Enabled
Profile-->>Metadata: true
Metadata->>User: printPreviewWarning()
Metadata->>Metadata: validateConfig()
Metadata->>Manager: current()
Manager-->>Metadata: ServerInfo
Metadata->>User: printToConsole(ServerInfo)
Metadata->>User: writeToFile(ServerInfo)
end
User->>CLI: Execute update check command
CLI->>Check: run()
Check->>Profile: isFeatureEnabled(ROLLING_UPDATES)
alt Feature Disabled
Profile-->>Check: false
Check->>User: printFeatureDisabled()
Check->>User: exit(FEATURE_DISABLED=4)
else Feature Enabled
Profile-->>Check: true
Check->>User: printPreviewWarning()
Check->>Check: validateConfig()
Check->>Check: readServerInfo()
Check->>Manager: isCompatible(ServerInfo)
Manager->>Manager: compareVersions()
alt Compatible
Manager-->>Check: CompatibilityResult.OK (exitCode=0)
Check->>User: printOut("[OK] Rolling Upgrade is available")
Check->>User: exit(0)
else Incompatible
Manager-->>Check: IncompatibleResult (exitCode=3)
Check->>User: printError(incompatibility message)
Check->>User: exit(3)
end
end
|
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.
10 files reviewed, no comments
Test 4
Replicated from ai-code-review-evaluation/keycloak-greptile#4