[WIP] feat: Add ROSA environment detection and specialized RAG configuration#1096
[WIP] feat: Add ROSA environment detection and specialized RAG configuration#1096thoraxe wants to merge 1 commit intoopenshift:mainfrom
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 <noreply@anthropic.com>
|
[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. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
PR needs rebase. DetailsInstructions 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. DetailsInstructions 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. |
|
Issues go stale after 90d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle stale |
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