-
Notifications
You must be signed in to change notification settings - Fork 33
[WIP] feat: Add ROSA environment detection and specialized RAG configuration #1096
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: main
Are you sure you want to change the base?
Conversation
Implement comprehensive ROSA (Red Hat OpenShift Service on AWS) environment detection capabilities with intelligent content delivery system for OpenShift Lightspeed. This feature automatically detects ROSA environments and configures specialized documentation and knowledge sources. Core Features: • ROSA Environment Detection: Automatically detects ROSA clusters by analyzing Console CR customization brand field, with graceful fallback for missing Console objects • Intelligent Documentation Switching: Conditionally skips default OpenShift documentation when ROSA is detected, preventing content conflicts and improving relevance • Dynamic RAG Configuration: Automatically provisions ROSA-specific RAG (Retrieval-Augmented Generation) sources while preserving user-defined configurations • State-Aware Reconciliation: Caches ROSA detection results across reconciler components for consistent behavior Technical Implementation: • Early detection integration in main reconciliation flow (olsconfig_controller.go:174) • Console CR brand field analysis with "ROSA" brand detection (rosa_detection.go:25) • Conditional documentation logic in OLS config map generation (ols_app_server_assets.go:254) • RAG source management with duplicate prevention (rag.go:50) • Robust error handling with dedicated error constants • Fixed operator service monitor reconciliation to skip when deployment doesn't exist (resolves issues with local development using 'make run') Testing Coverage: • Unit tests for ROSA detection logic with multiple brand scenarios • Integration tests for full reconciliation flow with ROSA detection • RAG-specific tests covering configuration addition and duplicate prevention • End-to-end tests verifying complete ROSA environment integration • Tests for graceful handling of missing Console objects Files Added: • internal/controller/rosa_detection.go - Core ROSA detection logic • internal/controller/rosa_detection_test.go - Unit tests for detection • internal/controller/olsconfig_rosa_integration_test.go - Integration tests • internal/controller/rosa_rag_test.go - RAG configuration tests • test/e2e/rosa_integration_test.go - E2E ROSA integration tests Files Modified: • internal/controller/constants.go - ROSA detection constants and error messages • internal/controller/olsconfig_controller.go - Early ROSA detection integration • internal/controller/ols_app_server_*.go - Conditional documentation logic • internal/controller/rag.go - ROSA RAG configuration management • internal/controller/operator_reconciliator.go - Fixed service monitor for local dev This implementation ensures ROSA environments receive specialized, relevant content while maintaining backward compatibility and preserving user customizations. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
@thoraxe: The following tests failed, say
Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Description
Implement comprehensive ROSA (Red Hat OpenShift Service on AWS) environment detection capabilities with intelligent content delivery system for OpenShift Lightspeed. This feature automatically detects ROSA environments and configures specialized documentation and knowledge sources.
Core Features:
• ROSA Environment Detection: Automatically detects ROSA clusters by analyzing
Console CR customization brand field, with graceful fallback for missing
Console objects
• Intelligent Documentation Switching: Conditionally skips default OpenShift
documentation when ROSA is detected, preventing content conflicts and
improving relevance
• Dynamic RAG Configuration: Automatically provisions ROSA-specific RAG
(Retrieval-Augmented Generation) sources while preserving user-defined
configurations
• State-Aware Reconciliation: Caches ROSA detection results across reconciler
components for consistent behavior
Technical Implementation:
• Early detection integration in main reconciliation flow (olsconfig_controller.go:174) • Console CR brand field analysis with "ROSA" brand detection (rosa_detection.go:25) • Conditional documentation logic in OLS config map generation (ols_app_server_assets.go:254) • RAG source management with duplicate prevention (rag.go:50) • Robust error handling with dedicated error constants • Fixed operator service monitor reconciliation to skip when deployment doesn't exist
(resolves issues with local development using 'make run')
Testing Coverage:
• Unit tests for ROSA detection logic with multiple brand scenarios • Integration tests for full reconciliation flow with ROSA detection • RAG-specific tests covering configuration addition and duplicate prevention • End-to-end tests verifying complete ROSA environment integration • Tests for graceful handling of missing Console objects
Files Added:
• internal/controller/rosa_detection.go - Core ROSA detection logic • internal/controller/rosa_detection_test.go - Unit tests for detection • internal/controller/olsconfig_rosa_integration_test.go - Integration tests • internal/controller/rosa_rag_test.go - RAG configuration tests • test/e2e/rosa_integration_test.go - E2E ROSA integration tests
Files Modified:
• internal/controller/constants.go - ROSA detection constants and error messages • internal/controller/olsconfig_controller.go - Early ROSA detection integration • internal/controller/ols_app_server_*.go - Conditional documentation logic • internal/controller/rag.go - ROSA RAG configuration management • internal/controller/operator_reconciliator.go - Fixed service monitor for local dev
This implementation ensures ROSA environments receive specialized, relevant content while maintaining backward compatibility and preserving user customizations.
🤖 Generated with Claude Code
Type of change
Related Tickets & Documents
https://issues.redhat.com/browse/OLS-2232
Checklist before requesting a review