- 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
- 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
- Add expandable rows in historical analysis table
- Implement accordion functionality with chevron icons
- Load real CPU and memory data from API endpoint
- Display current, average, and peak usage with progress bars
- Show recommendations based on historical data
- Improve UX with inline details instead of separate cards
- Change application name to UWRU Scanner (User Workloads and Resource Usage Scanner)
- Update title, header logo, and all references
- Update FastAPI app metadata and health check
- Update README.md with new branding
- Maintain OpenShift Console visual identity
- Complete visual redesign to match OpenShift Console
- Dark mode by default with official OpenShift colors
- Red Hat typography (Red Hat Display, Red Hat Text)
- Sophisticated card-based layout
- OpenShift-style header with logo and navigation
- Professional sidebar with proper navigation structure
- Metrics cards with status indicators
- Enhanced visual effects and animations
- Responsive design for mobile devices
- Add /api/v1/historical-analysis endpoint for workload list
- Add /api/v1/historical-analysis/{namespace}/{workload} for details
- Fix FontAwesome CDN to use working version
- Update todo list with progress
- Include PromQL queries in API response for workload metrics
- Display queries in historical analysis modal with copy functionality
- Add professional styling for query display sections
- Enable users to copy and validate queries in OpenShift Console
- Organize queries by category: cluster totals, usage, requests, limits
- Add copy-to-clipboard functionality with visual feedback
- Check both CPU and Memory data availability before historical analysis
- If either CPU or Memory has insufficient data, add warning and skip analysis
- Prevent conflicting insufficient_historical_data and historical_analysis
- Ensure consistent data availability requirements for workload analysis
- Only proceed with P95/P99 calculations when both resources have sufficient data
- Fix insufficient_historical_data vs historical_analysis contradiction
- Add return statement when insufficient data to prevent P99 calculation
- Implement workload-based historical analysis instead of pod-based
- Add _extract_workload_name() to identify workload from pod names
- Add analyze_workload_historical_usage() for workload-level analysis
- Add _analyze_workload_metrics() with Prometheus workload queries
- Add validate_workload_resources_with_historical_analysis() method
- Update /cluster/status endpoint to use workload analysis by namespace
- Improve reliability by analyzing workloads instead of individual pods
- Maintain fallback to pod-level analysis if workload analysis fails
- Remove duplicate static validations from /cluster/status endpoint
- Use only historical analysis which includes static validations
- Add fallback to static validations only if historical analysis fails
- Eliminate duplicate invalid_ratio and container_metrics validations
- Improve validation efficiency and reduce redundancy
- Change validation.validation_type to validation.rule_name
- API returns rule_name field, not validation_type
- Fix undefined display in namespace analysis modal
- Ensure proper validation type display in detailed view
- Remove duplicate createNamespaceDetails() function
- Fix validation.rule_name to validation.validation_type
- Keep only showNamespaceDetailsSimple() function
- Eliminate redundant code in namespace analysis modal
- Improve code maintainability and reduce duplication