mirror of
https://github.com/tiennm99/goclaw.git
synced 2026-06-10 06:10:46 +00:00
0d3230b2bf
Add optional Redis cache support via `go build -tags redis`, following the same paired-stub pattern as OTel and Tailscale. The Cache[V] interface is unchanged; Redis and in-memory implementations are injected at startup without altering usage logic. - Add RedisCache[V] implementation with JSON serialization, fail-open on errors - Add gateway_redis.go / gateway_redis_noop.go paired wiring files - Refactor GroupWriterCache and ContextFileInterceptor to accept injected caches - Add GOCLAW_REDIS_DSN env var, docker-compose.redis.yml overlay - Update Dockerfile and GitHub Actions with ENABLE_REDIS build arg - Add Redis variant to CI matrix (5 variants: latest, otel, tsnet, redis, full)
29 lines
591 B
YAML
29 lines
591 B
YAML
# Redis overlay — rebuilds with Redis cache support + adds Redis server.
|
|
#
|
|
# Usage:
|
|
# docker compose -f docker-compose.yml -f docker-compose.postgres.yml -f docker-compose.redis.yml up
|
|
#
|
|
|
|
services:
|
|
redis:
|
|
image: redis:7-alpine
|
|
ports:
|
|
- "6379:6379"
|
|
volumes:
|
|
- redis-data:/data
|
|
command: redis-server --appendonly yes
|
|
restart: unless-stopped
|
|
|
|
goclaw:
|
|
build:
|
|
args:
|
|
ENABLE_REDIS: "true"
|
|
environment:
|
|
- GOCLAW_REDIS_DSN=redis://redis:6379/0
|
|
depends_on:
|
|
redis:
|
|
condition: service_started
|
|
|
|
volumes:
|
|
redis-data:
|