Capability Cache
Cache technique pour JWKS, idempotency et résolution tenant.
Objectif
Partager les données techniques courtes entre API, MCP, agent et workers quand
ils tournent dans plusieurs processus.
Adapters
| Adapter |
Usage |
memory |
développement, tests, mono-processus |
redis |
production, multi-worker, Kubernetes |
Commande
| Bash |
|---|
| arclith-cli add-adapter --capability cache --adapter redis --yes
|
Configuration Générée
| YAML |
|---|
| # config/adapters/inbound/cache.yaml
backend: redis
redis_url: ""
jwks_ttl: 3600
tenant_uri_ttl: 300
|
redis_url doit être résolu par secrets ou par REDIS_URL.
Usages
| Usage |
Clé De Décision |
| JWKS Keycloak |
réduire les appels à Keycloak |
| Idempotency-Key |
rejouer une réponse POST déjà traitée |
| Tenant URI |
éviter un appel Vault à chaque requête |
Règles
- Utiliser Redis dès que plusieurs processus partagent le trafic.
- Définir un TTL court et explicite par usage.
- Préfixer les clés par service et environnement.
- Ne pas stocker de secret brut dans le cache.
- Surveiller erreurs, latence et saturation Redis.
Validation
| Bash |
|---|
| docker run --rm -d --name arclith-redis -p 6379:6379 redis:7-alpine
REDIS_URL=redis://127.0.0.1:6379 uv run pytest
docker stop arclith-redis
|
Suite
Lire Cache production, puis HTTP.