Conversation
PR Reviewer Guide 🔍(Review updated until commit 1f788ec)Here are some key observations to aid the review process:
|
Co-authored-by: gazarenkov <gazarenkov@users.noreply.github.com>
|
|
Review Summary by QodoIntroduce Flavours system with v1alpha6 API and API abstraction layer
WalkthroughsDescription• Introduces v1alpha6 API version with comprehensive Flavours support for pre-configured domain-specific customizations • Implements flavour discovery, loading, and merging system with metadata-based enablement control • Adds API abstraction layer (api/current-types.go) to decouple code from specific API versions • Migrates entire codebase from v1alpha5 to generic api package imports for future API version flexibility • Extends configuration model to support multiple ConfigMaps for app-config, configmap-files, and configmap-envs through flavour merging • Implements deployment and dynamic-plugins merging strategies for flavour-based customizations • Adds DefaultMultiObjectName() helper for consistent multi-object naming across flavours • Introduces MergeConfigFunc interface for pluggable configuration merging strategies • Includes comprehensive test coverage for flavour functionality, default config resolution, and multi-object handling • Updates CRD manifests across all bundles (rhdh, backstage.io) with v1alpha6 version and flavours field • Adds lightspeed and orchestrator flavour configurations with deployment patches, dynamic plugins, and ConfigMaps • Updates all integration tests and examples to use v1alpha6 API version Diagramflowchart LR
A["v1alpha5 API"] -->|"Abstraction Layer"| B["api Package"]
B --> C["v1alpha6 API"]
D["Base Config"] -->|"Flavour Merging"| E["Enabled Flavours"]
E -->|"Merge Strategies"| F["Deployment"]
E -->|"Merge Strategies"| G["Dynamic Plugins"]
E -->|"Merge Strategies"| H["ConfigMaps"]
F --> I["Final Configuration"]
G --> I
H --> I
J["Flavour Discovery"] -->|"Metadata.yaml"| K["FlavourMetadata"]
K -->|"EnabledByDefault"| E
File Changes1. api/v1alpha6/backstage_types.go
|
PR Code Suggestions ✨Latest suggestions up to 1f788ec
Previous suggestions✅ Suggestions up to commit 9523adc
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
Co-authored-by: gazarenkov <gazarenkov@users.noreply.github.com>
|
|
Co-authored-by: gazarenkov <gazarenkov@users.noreply.github.com>
|
|
# Conflicts: # integration_tests/default-config_test.go # internal/controller/backstage_status.go
gabemontero
left a comment
There was a problem hiding this comment.
cool deal @gazarenkov thanks for removing the kube-api-access item !!
I'm booting up a cluster and will sanity check this shortly |
testing looks good @gazarenkov @thepetk @Jdubrick
install dynamic plugins also does what is expected in all 3 scenarios ^^ |
Code Review by Qodo
1. deployment.yaml omits spec.replicas
|
|
/review |
|
Persistent review updated to latest commit 1f788ec |
|
New changes are detected. LGTM label has been removed. |
Co-authored-by: gazarenkov <gazarenkov@users.noreply.github.com>
|
|
Code Review by Qodo
1.
|
|



Description
Introduce Flavors as [specified in ADR](Introduce Flavors as specified: https://docs.google.com/document/d/1CgxFZt7ITVb8LsbxZ1YRJP5CZZw7WMIZA3I_vUL8SmE/edit?tab=t.0
Which issue(s) does this PR fix or relate to
https://issues.redhat.com/browse/RHIDP-11505
PR acceptance criteria
How to test changes / Special notes to the reviewer