Commit Graph

195 Commits

Author SHA1 Message Date
72da99e6be Fix: convert Prometheus timestamps from seconds to milliseconds for Victory.js 2025-10-03 10:20:37 -03:00
fdb6b2b701 Fix: remove incorrect timestamp multiplication - Prometheus already returns milliseconds 2025-10-03 10:17:31 -03:00
5d4ab1f816 Fix: remove duplicate time_range parameter in _query_prometheus calls 2025-10-03 10:13:27 -03:00
ed07053838 Fix: correct Prometheus step resolution based on time range for accurate data points 2025-10-03 10:03:11 -03:00
958e76f513 Fix: correct dropdown order and add day format for 7d/30d charts 2025-10-03 09:57:19 -03:00
6c2821609c Fix: pass time_range parameter to generate_recommendations for proper 7-day data 2025-10-03 09:41:02 -03:00
eb2c0c23b5 Fix: improve chart dimensions and aspect ratio to prevent squeezed appearance 2025-10-03 09:38:17 -03:00
5c812acef1 Fix: make chart titles dynamic based on selected time range filter 2025-10-03 09:34:20 -03:00
9ce6a0fb88 Fix: format X-axis timestamps to readable time format in Victory.js charts 2025-10-03 09:29:34 -03:00
37a6681cd6 Fix: adjust Victory.js charts to fill container width and height properly 2025-10-03 09:25:02 -03:00
a2a5acf861 Migrate charts from Chart.js to Victory.js for PatternFly consistency 2025-10-03 09:14:36 -03:00
7744ea9889 improve: remove redundant Load Details button and auto-load accordion data
- 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
2025-10-03 09:00:01 -03:00
ff932a56f0 fix: update loadWorkloadDetails to use PatternFly dropdown
- 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
2025-10-03 08:56:45 -03:00
a67c244070 fix: remove duplicate loadWorkloadDetails function
- 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
2025-10-03 08:42:18 -03:00
28a3cbbae3 fix: resolve Historical Analysis loading and implement PatternFly dropdown
- 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
2025-10-03 08:35:42 -03:00
6bb678ca41 ui: reorganize sidebar with new structure and sections
- 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
2025-10-03 08:26:27 -03:00
1595370720 ui: reorganize dashboard and sidebar navigation
- 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
2025-10-03 08:06:17 -03:00
dd51071592 docs: update all documentation with PatternFly UI Revolution changes
- 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
2025-10-03 07:36:49 -03:00
11d7e98f65 cleanup: remove test file
- Remove .github-test.md after successful GitHub Actions test
- GitHub Actions is working correctly with Quay.io secrets
2025-10-03 07:33:18 -03:00
fd3a22aa64 test: trigger GitHub Actions with Quay.io secrets
- 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
2025-10-03 07:31:20 -03:00
189e8fd1a9 cleanup: remove obsolete scripts and update GitHub Actions for Quay.io
- 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
2025-10-03 07:28:05 -03:00
29121b3cce Merge feature/patternfly-ui-revolution: Complete UI overhaul with PatternFly
- 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
2025-10-03 07:25:26 -03:00
2e9ed3e7b3 fix: format Resource Utilization to show only 1 decimal place
- 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
2025-10-03 07:18:45 -03:00
b1c1a952d1 update: change app title to ORU Scanner and update home page title
- 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
2025-10-03 07:11:57 -03:00
756cc43997 cleanup: remove all Docker Hub references and update to Quay.io
- 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
2025-10-03 07:04:58 -03:00
c81ba36b26 fix: correct route name and health check endpoints in deployment
- 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
2025-10-03 06:37:35 -03:00
c2338eefae fix: create individual cards per workload instead of aggregated card
- 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
2025-10-02 19:23:51 -03:00
0a0d3e1f43 feat: implement Smart Recommendations gallery with ServiceCard and BulkSelect
- Replace table layout with PatternFly ServiceCard gallery
- Add BulkSelect toolbar with select all/page/none options
- Implement individual VPA application per workload
- Add checkbox selection for each recommendation card
- Support bulk apply and preview operations
- Improve UX with card-based interface following PatternFly design
- Add responsive grid layout for recommendation cards
- Implement proper state management for selections
2025-10-02 19:16:22 -03:00
74f579050c feat: implement real Resource Utilization with Prometheus
- 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
2025-10-02 18:57:10 -03:00
64e17eb521 feat: implement VPA CRD support
- Add CustomObjectsApi integration for VPA resources
- Implement VPA CRUD operations (list, create, delete)
- Add VPA recommendation collection via CRD
- Add API endpoints for VPA management
- Handle VPA installation detection gracefully
- Complete TODO #1: CRD para VPA implementation
2025-10-02 18:50:56 -03:00
213359b18f Fix undefined values in workload analysis modal 2025-10-02 17:55:19 -03:00
a1a70bae45 Implement smart recommendations application and improve VPA modal contrast 2025-10-02 17:30:05 -03:00
f69da283c1 fix: downgrade Chart.js to version 3.9.1 for compatibility
- 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
2025-10-02 15:50:39 -03:00
fad4d422b7 fix: add missing getSeverityColor function for 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
2025-10-02 15:48:55 -03:00
c6f69f85c9 fix: correct historical analysis endpoint and Chart.js loading
- 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
2025-10-02 15:47:13 -03:00
e1dae22e98 feat: implement Chart.js graphs for Historical Analysis
- 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
2025-10-02 15:45:09 -03:00
8e6dc0df9b fix: correct total issues count in modal
- 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
2025-10-02 15:31:53 -03:00
6d5da374e6 fix: adapt interface to work with current API format
- 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
2025-10-02 14:01:44 -03:00
187b67e86a feat: restore workload validation analysis functionality
- Add analyzeNamespace function with detailed pod analysis
- Implement modal for showing requests/limits validation details
- Add container resource analysis with requests/limits display
- Show validation issues with severity indicators
- Add proper modal styling with OpenShift theme
- Restore functionality to view detailed workload configurations
2025-10-02 13:59:17 -03:00
05a54b7855 feat: implement accordion for historical analysis with real data
- 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
2025-10-02 11:54:07 -03:00
53ea070957 feat: remove sidebar toggle button and ensure data loading
- Remove hamburger menu button from header
- Remove sidebar toggle JavaScript functionality
- Keep data loading functionality intact
- Maintain OpenShift Console visual identity
2025-10-02 11:46:10 -03:00
b2b47c4f1c feat: rebrand application to UWRU Scanner
- 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
2025-10-02 11:31:47 -03:00
a7c502d643 feat: implement OpenShift Console-like interface with dark mode
- 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
2025-10-02 11:12:17 -03:00
fa48e1de06 fix: remove self reference from function call 2025-10-02 10:56:14 -03:00
d35b637ba7 fix: use pod name extraction instead of labels for workload grouping 2025-10-02 10:55:12 -03:00
5168311e74 fix: correct PodResource attribute access in historical analysis endpoint 2025-10-02 10:53:20 -03:00
43c618cbc4 fix: add historical analysis endpoints and fix FontAwesome
- 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
2025-10-02 10:51:33 -03:00
a2e0a73b14 feat: implement PatternFly 6.3.1 UI revolution
- Replace Bootstrap with PatternFly 6.3.1 components
- Create Workload Scanner as initial screen
- Implement Historical Analysis with breadcrumb navigation
- Add proper PatternFly styling and components
- Maintain all existing functionality with new UI
2025-10-02 10:49:32 -03:00
78c72d6815 UI: reorder elements - show Generate VPA YAML button before OpenShift commands 2025-10-02 10:23:02 -03:00
943fe4fcac Refactor: group smart recommendations by type and remove redundant View Details button 2025-10-02 10:15:51 -03:00