Uploaded image for project: 'FlightPath'
  1. FlightPath
  2. FLPATH-2611

RO - [UI] ROS Frontend Migration

XMLWordPrintable

    • Icon: Epic Epic
    • Resolution: Unresolved
    • Icon: Major Major
    • IOP-POC-0.2
    • None
    • None
    • None
    • RO - [UI] ROS Frontend Migration
    • False
    • Hide

      None

      Show
      None
    • False
    • FLPATH-2555Resource Optimization (RO) On-Premise Migration - MVP
    • To Do
    • FLPATH-2555 - Resource Optimization (RO) On-Premise Migration - MVP
    • 44% To Do, 56% In Progress, 0% Done

      Overview

      The Insights-prem platform is a comprehensive cost management and optimization platform consisting of multiple microservices, micro-frontends, and data processing pipelines. The optimization features are implemented through a sophisticated multi-layered architecture.

      Core Components

      1. Frontend Layer: React-based micro-frontend architecture
      1. API Gateway: NGINX-based routing and proxying
      1. Backend Services: Multiple specialized services (Cost Management, ROS-OCP, ROS-RHEL)
      1. Data Processing: Kafka-based event streaming and Kruize optimization engine
      1. Storage: PostgreSQL databases for different domains

       

      Component Structure

      // CostManagement/koku-ui/src/routes/optimizations/optimizationsDetails/optimizationsDetails.tsx
      const OptimizationsDetails: React.FC<OptimizationsDetailsProps> = () => {
        return (
          <AsyncComponent
            scope="costManagementMfe"
            appName="cost-management-mfe"
            module="./MfeOptimizationsDetails"
            // ... props
          />
        );
      };

      Key Architecture Patterns

      1. Micro-Frontend Architecture: Uses Module Federation to load remote components
      1. Async Component Loading: Dynamic import of optimization modules
      1. State Management: React hooks with location-based state
      1. Internationalization: React-intl for multi-language support

      🔄 End-to-End Data Flow

      The optimization system processes data through several stages:

      1. Data Ingestion

      • OpenShift Metrics: Prometheus metrics → CSV export → Kafka
      • RHEL Metrics: Performance Co-Pilot → Insights Engine → Kafka

      2. Processing Pipeline

      • ROS-OCP Backend: Processes OpenShift workload data
      • Kruize Engine: Generates optimization recommendations
      • ROS-RHEL Backend: Processes RHEL system recommendations

      3. API Layer

      • NGINX Proxy: Routes optimization requests to appropriate backends
      • Koku API: Handles cost management integration
      • ROS APIs: Serve optimization recommendations

      🌐 External Dependencies

      Core Platform Services

      1. Red Hat Single Sign-On (RH-SSO): Authentication and user management
      1. RBAC Service: Role-based access control
      1. Chrome Service: Platform navigation and common UI components
      1. Host Inventory: System metadata and registration

      Data Processing Dependencies

      1. Apache Kafka: Message streaming and event processing
      1. PostgreSQL: Primary data storage
      1. Prometheus: Metrics collection (OpenShift)
      1. Performance Co-Pilot (PCP): System metrics (RHEL)

      Optimization Engine Dependencies

      1. Kruize: Java-based optimization recommendation engine
      1. Insights Engine: Rule-based analysis for RHEL systems
      1. Kessel Inventory: Asset and configuration management

      Infrastructure Dependencies

      • Clowder: Red Hat's Kubernetes application platform
      • OpenShift: Container orchestration
      • Red Hat Insights: Platform services and integrations

      Micro-Frontend Integration

      The OptimizationDetails component uses Module Federation to dynamically load remote modules:

      // Module Federation Configuration
      moduleFederation: {
        exposes: {
          './MfeOptimizationsDetails': './src/components/OptimizationsDetails',
          './MfeOptimizationsTable': './src/components/OptimizationsTable',
          './MfeOptimizationsLink': './src/components/OptimizationsLink'
        }
      }

      API Integration

      Primary API Endpoints

      1. Cost Management: /api/cost-management/v1/
      1. ROS OpenShift: /api/cost-management/v1/recommendations/openshift/
      1. ROS RHEL: /api/ros/v1/systems/

      Request Flow

      Frontend → NGINX → [Koku API | ROS-OCP API | ROS-RHEL API] → Database

      🚀 Deployment Architecture

      Container Orchestration

      • OpenShift/Kubernetes: Container platform
      • Clowder: Application lifecycle management
      • Red Hat Quay: Container registry

      Service Mesh

      • Istio: Service communication and security
      • Envoy: Proxy and load balancing

      Monitoring & Observability

      • Prometheus: Metrics collection
      • Grafana: Visualization
      • Jaeger: Distributed tracing

      🔒 Security & Compliance

      Authentication Flow

      1. User authenticates via Red Hat SSO
      1. JWT tokens passed to services
      1. RBAC evaluation for resource access
      1. Service-to-service authentication via mTLS

      Data Security

      • Encryption: TLS 1.3 for transport, AES-256 for storage
      • Access Control: Fine-grained RBAC policies
      • Audit Logging: Comprehensive audit trail

       

       

      Screenshot 2025-08-11 at 17.15.34.png

              Unassigned Unassigned
              rh-ee-lberkovi Liat Berkovich
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: