- Revert to Victory.VictoryPie component (original format)
- Keep real data from /api/v1/namespace-distribution
- Maintain hover effects and summary statistics
- Fix chart rendering while preserving data accuracy
- Replace Victory pie chart with HTML-based visualization for namespace distribution
- Update resource utilization trend to use real cluster metrics
- Update issues timeline to use real validation data
- Add proper error handling and empty states
- Remove all mock/sample data from charts
- Create new API endpoint /api/v1/namespace-distribution
- Replace mock data with real cluster data
- Add CPU and memory parsing functions
- Update frontend to use real data with enhanced chart
- Add hover effects and summary statistics
- Add complete Source-to-Image (S2I) deployment support
- Create .s2i/ directory with assemble/run scripts and environment config
- Add openshift-s2i.yaml template for S2I deployment
- Add scripts/deploy-s2i.sh for automated S2I deployment
- Add README-S2I.md with comprehensive S2I documentation
- Update README.md and AIAgents-Support.md with S2I information
- Clean up unused files: Dockerfile.simple, HTML backups, daemonset files
- Remove unused Makefile and openshift-git-deploy.yaml
- Update kustomization.yaml to use deployment instead of daemonset
- Update undeploy-complete.sh to remove deployment instead of daemonset
- Maintain clean and organized codebase structure
- Implement 5 new charts using Victory.js and PatternFly styling:
1. Resource Utilization Trend (24h) - Line chart showing CPU/Memory over time
2. Namespace Resource Distribution - Pie chart showing resource allocation
3. Issues by Severity Timeline - Stacked area chart for Critical/Warnings
4. Top 5 Workloads by Resource Usage - Horizontal bar chart
5. Overcommit Status by Namespace - Grouped bar chart for CPU/Memory
- Add responsive chart cards with PatternFly styling
- Include chart legends and proper color schemes
- Load charts automatically when dashboard loads
- Use real data from APIs where available, simulated data for demos
- All charts follow OpenShift console design patterns
- Remove Load Details button from workload table
- Replace with simple 'Click to expand' text
- Auto-load data when accordion is expanded
- Simplify user experience by removing redundant action
- Data loads automatically on accordion toggle
- Fix timeRange selection in loadWorkloadDetails function
- Replace timeRangeSelect with timeRangeText from PatternFly dropdown
- Add proper time range mapping for 1h, 6h, 24h, 7d, 30d
- Fix Historical Analysis workload details loading with different time ranges
- Remove duplicate loadWorkloadDetails function that was causing accordion loading issues
- Keep only the version with index parameter for accordion functionality
- Fix Historical Analysis workload details loading in accordions
- Fix Historical Analysis loading issue by updating loadHistoricalAnalysis function
- Replace native HTML select with PatternFly dropdown for time range selector
- Add PatternFly-compliant CSS styling for dropdown component
- Implement proper dropdown functionality with toggle, selection, and outside click
- Add accessibility features with ARIA attributes
- Integrate dropdown with existing API calls
- Improve user experience with consistent PatternFly design
- Reorganize sidebar: Home, Analysis, Recommendations, Settings
- Move Analysis section to second position (after Home)
- Create new Recommendations section with Historical Based and VPA Management
- Integrate Smart Recommendations into VPA Management section
- Remove Observe section (Metrics/Logs - available in OpenShift console)
- Add Settings section for future configuration options
- Update navigation logic for all new sections
- Improve interface focus on app's core purpose
- Remove 'Workloads with Issues' table from main dashboard
- Create new 'Requests & Limits' section in sidebar under 'Analysis'
- Replace empty 'Workloads' section (Pods, Deployments, Services) with 'Requests & Limits'
- Move workloads table functionality to dedicated 'Requests & Limits' page
- Update navigation logic to handle new section
- Improve dashboard focus on metrics and cluster overview
- Clean up sidebar by removing non-functional menu items
- Update resource utilization display to use .toFixed(1) for better readability
- Apply formatting to both main dashboard and modal details
- Change from 266.04049998033537% to 266.0% for human readability
- Improve user experience with cleaner number formatting
- Change browser title to 'ORU Scanner - OpenShift Resource Usage Scanner'
- Update header logo to 'ORU Scanner'
- Change home page title to 'OpenShift Resource Usage Scanner - Dashboard'
- Simplify page description for better clarity
- Use data.categories instead of data.recommendations for individual workloads
- Create separate ServiceCard for each workload with specific recommendations
- Add priority scoring based on workload priority_score
- Add detailed metadata: score, impact, age, VPA readiness
- Generate specific titles and descriptions per workload type
- Support different recommendation types: vpa_activation, resource_config, ratio_adjustment
- Add get_cluster_resource_utilization() method to PrometheusClient
- Use real CPU and memory usage vs requests data from Prometheus
- Replace placeholder 75% with actual cluster resource utilization
- Update modal to show production-ready status instead of placeholder
- Add automatic fallback to simulated data if Prometheus unavailable
- Calculate overall utilization as average of CPU and memory efficiency
- Use Chart.js 3.9.1 instead of 4.4.0 for better compatibility
- Use chartjs-adapter-date-fns 2.0.0 for Chart.js 3.x compatibility
- Fix Chart is not defined error in Historical Analysis
- Add getSeverityColor function to handle recommendation severity colors
- Fix ReferenceError when loading workload details in Historical Analysis
- Ensure proper color coding for recommendation severity levels
- Fix endpoint to use get_all_pods() instead of non-existent get_pods_by_selector()
- Move Chart.js scripts to end of body for proper loading order
- Add proper error handling for workload not found cases
- Ensure Chart.js is available before creating graphs
- Add Chart.js 4.4.0 and date adapter for time series graphs
- Implement createCPUChart and createMemoryChart functions
- Update updateWorkloadDetailsAccordion to show interactive graphs
- Add getCurrentValue, getAverageValue, getPeakValue helper functions
- Display CPU and Memory usage over 24h with real-time data
- Show current, average, and peak values below graphs
- Use working Prometheus queries from metrics endpoint
- Fix modal to show correct total issues count from validations array
- Use namespace.validations.length instead of namespace.total_validations
- Ensure consistency between table and modal data display
- Update updateWorkloadsTable to group validations by namespace
- Fix analyzeNamespace to work with validation array format
- Group validations by namespace and pod for proper display
- Show actual validation data instead of 'No Issues Found'
- Maintain compatibility with existing modal functionality