Aller au contenu

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
1
2
3
4
5
# 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
1
2
3
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.