acmpesuecc / acmpesuecc/SCB-Vulnerability-Analysis

Add Redis caching layer for MinIO operations

Aperta
#2 22 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Bounty: 400 documentation enhancement
Lingua principale
Python
Stelle
0
Fork
3
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

The current system performs direct MinIO operations for every request, which can lead to:

- High latency for frequently accessed data
- Increased MinIO load and potential rate limiting
- Poor user experience with slow response times
- Unnecessary network overhead for repeated operations

This issue involves implementing a comprehensive Redis caching layer to optimize performance and reduce MinIO load.

Technical Requirements:

1) Redis Integration:
- Deploy Redis as a Kubernetes service
- Add Redis client configuration to the GUI
- Implement connection pooling and error handling
- Add Redis health checks

2) Caching Strategy:
- Scan Results: Cache parsed scan results with TTL (default: 24 hours)
- File Metadata: Cache file information, sizes, and upload timestamps
- Scan History: Cache scan status and progress information
- API Responses: Cache frequently requested API endpoint responses

3) Cache Management:
- Implement cache invalidation strategies
- Add cache warming for critical data
- Implement cache statistics and monitoring
- Handle cache misses gracefully

4) Performance Optimization:
- Implement async caching operations
- Add cache compression for large objects
- Implement cache partitioning by scan type
- Add cache hit/miss ratio monitoring

Architecture Changes:

```
Current: GUI → MinIO
Proposed: GUI → Redis Cache → MinIO (on cache miss)
```

Acceptance Criteria:

[ ] Redis deployed as Kubernetes service with proper configuration
[ ] Redis client integrated into GUI with connection pooling
[ ] Scan results cached with configurable TTL
[ ] File metadata cached and updated on changes
[ ] Scan history cached for faster UI updates
[ ] Cache invalidation implemented for data consistency
[ ] Performance monitoring and metrics collection
[ ] Graceful degradation when Redis is unavailable
[ ] Documentation updated with caching configuration
[ ] Helm charts updated with Redis deployment
[ ] Performance benchmarks showing improvement

Files to Create/Modify:

- gui/redis-deployment.yaml - Redis deployment
- gui/webapp/main.py - Cache integration
- gui/webapp/cache_manager.py - Cache management logic
- gui/values.yaml - Redis configuration
- gui/webapp/Dockerfile - Redis client dependency
- documentation/markdown/technical.md - Caching documentation

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.