- 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
- Change from sum() to current value (last point) for accurate usage
- CPU and Memory should show current usage, not sum of all data points
- Fixes issue where memory usage was incorrectly showing 800+ MB
- Now shows realistic current resource consumption values
- Add get_workload_cpu_summary() and get_workload_memory_summary() methods
- Use exact OpenShift Console PromQL queries for data consistency
- Update historical analysis API endpoints to include real CPU/Memory data
- Document all OpenShift Console queries in AIAgents-Support.md
- Fix CPU Usage and Memory Usage columns showing N/A in Historical Analysis
- 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 README.md with v2.0.0 PatternFly UI Revolution features
- Add Smart Recommendations Engine and VPA CRD Integration sections
- Update application branding to 'ORU Scanner'
- Add Quay.io migration and GitHub Actions information
- Update DOCUMENTATION.md with current status and script cleanup info
- Update AIAgents-Support.md with complete Phase 2 completion status
- Add PatternFly UI, VPA CRD, and infrastructure improvements
- Update deployment status for OCP 4.15, 4.18, and 4.19 clusters
- Reflect script cleanup (19 obsolete scripts removed)
- Update roadmap to show Phase 2 as completed
- Test build and push workflow with new Quay.io configuration
- Verify secrets are working correctly
- Test image build and push to quay.io/rh_ee_anobre/resource-governance
- Remove obsolete deployment scripts outside /scripts folder
- Remove redundant scripts inside /scripts folder
- Remove release.sh as it won't be used in the process
- Update GitHub Actions to use Quay.io instead of Docker Hub
- Update registry references from andersonid to quay.io/rh_ee_anobre
- Simplify deployment instructions to use deploy-complete.sh
- Clean up codebase to maintain only essential scripts
- Implement Smart Recommendations with Service Card gallery and Bulk Select
- Add VPA CRD support with real Kubernetes API integration
- Integrate real-time Prometheus metrics for Resource Utilization
- Update application titles to 'ORU Scanner'
- Format Resource Utilization to 1 decimal place for readability
- Switch from Docker Hub to Quay.io registry
- Fix route hostname to 'oru.apps...'
- Complete UI/UX improvements with PatternFly design system
- 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
- Update deployment.yaml to reference Quay.io instead of Docker Hub
- Remove Docker Hub references from README.md
- Update build-and-push.sh to show Quay.io registry info
- Update release.sh to reference Quay.io repository
- Update push-to-internal-registry.sh to use Quay.io image
- Clean up all Docker Hub comments and references
- Registry is now exclusively Quay.io: quay.io/rh_ee_anobre/resource-governance
- Fix route name mismatch: script was looking for 'resource-governance' but route is named 'resource-governance-route'
- Fix health check endpoints: use /health instead of /api/v1/health for liveness/readiness probes
- Add better error handling and route verification in deploy script
- Add sleep delay to ensure route is ready before URL extraction
- Show available routes if expected route is not found
- 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