acmpesuecc / acmpesuecc/SCB-Vulnerability-Analysis

Add Redis caching layer for MinIO operations

Abierto
#2 22 comentarios 0 reacciones 0 asignados Ver en GitHub
Bounty: 400 documentation enhancement
Lenguaje dominante
Python
Estrellas
0
Forks
3
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.