No description
  • Go 90.4%
  • Makefile 7.3%
  • Dockerfile 2.3%
Find a file
zemdregon 555ddd68c0
Some checks are pending
CI / lint (push) Waiting to run
CI / test (push) Waiting to run
CI / build (push) Waiting to run
CI / docker (push) Blocked by required conditions
chore(deps): bump actions/setup-go to v7 (#22)
* chore(deps): bump actions/setup-go to v7

Self-hosted CI workflows.

* ci: disable setup-go cache on self-hosted

* ci: clean retrigger

* ci: drop redis service container on self-hosted

Actions service containers need Docker; tests already use miniredis.

* ci: unset REDIS_ADDR so tests use miniredis
2026-08-10 19:28:37 -05:00
.github chore(deps): bump actions/setup-go to v7 (#22) 2026-08-10 19:28:37 -05:00
cmd/module feat: cache tests and module template/CI alignment 2026-07-22 19:09:18 -05:00
deploy feat: cache tests and module template/CI alignment 2026-07-22 19:09:18 -05:00
internal fix(ci): self-hosted runners with local Redis coverage. 2026-08-10 10:41:50 -05:00
test feat: cache-redis module — Redis cache following starter template 2026-06-12 09:20:55 -05:00
.dockerignore feat: cache-redis module — Redis cache following starter template 2026-06-12 09:20:55 -05:00
.env.example feat: cache tests and module template/CI alignment 2026-07-22 19:09:18 -05:00
.gitignore feat: cache tests and module template/CI alignment 2026-07-22 19:09:18 -05:00
.golangci.yml ci: Redis service-container live test and cut v0.1.0 (#14) 2026-08-09 20:12:04 -05:00
CHANGELOG.md fix(ci): self-hosted runners with local Redis coverage. 2026-08-10 10:41:50 -05:00
COMPATIBILITY.md fix(ci): self-hosted runners with local Redis coverage. 2026-08-10 10:41:50 -05:00
CONTRIBUTING.md feat: cache tests and module template/CI alignment 2026-07-22 19:09:18 -05:00
Dockerfile feat: cache-redis module — Redis cache following starter template 2026-06-12 09:20:55 -05:00
go.mod Expose Redis connection settings via RegisterSettings mesh. 2026-08-10 02:37:32 -05:00
go.sum Expose Redis connection settings via RegisterSettings mesh. 2026-08-10 02:37:32 -05:00
LICENSE feat: cache-redis module — Redis cache following starter template 2026-06-12 09:20:55 -05:00
Makefile feat: cache tests and module template/CI alignment 2026-07-22 19:09:18 -05:00
muxcore.json fix(ci): self-hosted runners with local Redis coverage. 2026-08-10 10:41:50 -05:00
README.md fix(ci): self-hosted runners with local Redis coverage. 2026-08-10 10:41:50 -05:00
SECURITY.md feat: cache tests and module template/CI alignment 2026-07-22 19:09:18 -05:00

Cache Redis

CI Go Version License: GPL-3.0

Redis-backed distributed cache provider.

A MuxCore sidecar module that implements the cache / cache.redis capabilities over Redis.

gRPC surface: Get, Set (optional TTL), Delete, Exists, Incr, CompareAndSwap, Lock / Unlock, Publish / Subscribe.


How It Works

Module request ──→ cache-redis (gRPC) ──→ Redis

Requires a reachable Redis instance. Values are opaque bytes; TTL is honored on Set and Lock.

Tests: unit tests use miniredis (no Docker). Self-hosted CI also starts redis:7-alpine and runs a live round-trip when Redis is reachable; otherwise the live test skips.

Laptop demos that do not need a shared Redis should prefer cache-local (spool default). Opt into this module with spool tag cache-redis.


Configuration

Variable Default Description
REDIS_ADDR localhost:6379 Redis host:port
REDIS_PASSWORD `` Redis password (optional)
REDIS_DB 0 Redis database index
CACHE_GRPC_ADDR :9600 gRPC listen address
MUXCORE_GRPC_ADDR Core mesh address (or --muxcore-mesh-addr)
MUXCORE_MODULE_ID cache-redis Module ID override (or --muxcore-module-id)

Quick Start

make build

export REDIS_ADDR=localhost:6379
./cache-redis --muxcore-mesh-addr localhost:9090

Core must be reachable (dev: MUXCORE_INSECURE_DISABLE_TLS=true ./muxcored in ../core).


Capability

cache — Distributed cache (Redis)

License

GPL-3.0