Conversation
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
📦 Chart Preview Readyhelm install test oci://ghcr.io/ls1intum/charts/theia-shared-cache --version 0.3.0-pr.27Updated: c8b9e97 |
There was a problem hiding this comment.
Pull request overview
This PR switches the cache server’s storage backend from MinIO/S3 to Redis and updates local (docker-compose) and Kubernetes (Helm) deployment assets to run Redis alongside the cache server, with expanded observability via Prometheus/Grafana and optional Reposilite.
Changes:
- Replace MinIO storage implementation/config with a Redis-backed
Storageimplementation and new config fields (addr/password/db). - Update deployment manifests (docker-compose + Helm chart) to run Redis + redis-exporter and provision Prometheus/Grafana assets.
- Adjust metrics histogram buckets for request latency and update docs to reflect the new architecture.
Reviewed changes
Copilot reviewed 27 out of 28 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| src/internal/storage/redis.go | Adds Redis-backed storage implementation. |
| src/internal/storage/minio.go | Removes MinIO storage implementation. |
| src/internal/middleware/metrics.go | Adjusts request-duration histogram buckets and import ordering. |
| src/internal/config/config.go | Updates storage config fields/defaults/env bindings/validation for Redis. |
| src/cmd/server/main.go | Wires server startup to Redis storage instead of MinIO (removes bucket init). |
| src/configs/config.yaml | Updates default config to Redis connection settings. |
| src/go.mod | Swaps dependencies (drop MinIO, add go-redis; promotes some OTel deps). |
| src/go.sum | Updates dependency lockfile for Redis + related transitive deps. |
| src/deployments/docker-compose.yaml | Replaces MinIO with Redis + redis-exporter; adds Grafana + Reposilite. |
| src/deployments/prometheus.yaml | Adds scrape jobs for Redis exporter and Reposilite; normalizes quoting. |
| src/deployments/reposilite/reposilite.shared.json | Adds shared Reposilite proxy configuration. |
| src/deployments/grafana/provisioning/datasources/prometheus.yaml | Adds provisioned Prometheus datasource. |
| src/deployments/grafana/provisioning/dashboards/dashboards.yaml | Adds dashboard provisioning configuration. |
| src/deployments/grafana/dashboards/gradle-build-cache.json | Adds a Grafana dashboard for cache/Redis metrics. |
| chart/Chart.yaml | Bumps chart version to 0.3.0 (breaking change). |
| chart/values.yaml | Replaces MinIO storage values with Redis DB/resources values. |
| chart/templates/_helpers.tpl | Adds standard app.kubernetes.io/* label helpers. |
| chart/templates/configmap.yaml | Updates rendered app config to point at Redis. |
| chart/templates/deployment.yaml | Updates cache-server Deployment to wait for Redis and inject Redis secret. |
| chart/templates/service.yaml | Switches Service labels/selectors to shared helper labels. |
| chart/templates/secrets.yaml | Replaces MinIO creds secret with generated Redis password secret. |
| chart/templates/redis-deployment.yaml | Adds Redis + redis-exporter Deployment. |
| chart/templates/redis-service.yaml | Adds Redis Service exposing Redis and exporter ports. |
| chart/templates/minio-statefulset.yaml | Removes MinIO StatefulSet. |
| chart/templates/minio-service.yaml | Removes MinIO Service. |
| chart/templates/reposilite-shared-config.yaml | Updates labels and formatting for Reposilite shared config. |
| chart/README.md | Updates Helm chart documentation for Redis/Revosilite/monitoring. |
| README.md | Updates repo-level documentation for Redis + monitoring stack. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
No description provided.