plano/config
Spherrrical 03cb09f47e add tenant-scoped Redis session cache keys and remove dead log_affinity_hit
- Add tenant_header to SessionCacheConfig; when set, cache keys are scoped
  as plano:affinity:{tenant_id}:{session_id} for multi-tenant isolation
- Thread tenant_id through RouterService, routing_service, and llm handlers
- Use Cow<'_, str> in session_key to avoid allocation when no tenant is set
- Remove unused log_affinity_hit (logging was already inlined at call sites)
2026-04-13 16:50:53 -07:00
..
docker-compose.dev.yaml Overhaul demos directory: cleanup, restructure, and standardize configs (#760) 2026-02-17 03:09:28 -08:00
env.list restructure cli (#656) 2025-12-25 14:55:29 -08:00
envoy.template.yaml Add first-class Xiaomi provider support (#863) 2026-04-04 09:58:36 -07:00
plano_config_schema.yaml add tenant-scoped Redis session cache keys and remove dead log_affinity_hit 2026-04-13 16:50:53 -07:00
README.md Adding support for wildcard models in the model_providers config (#696) 2026-01-28 17:47:33 -08:00
requirements.txt restructure cli (#656) 2025-12-25 14:55:29 -08:00
supervisord.conf separate config generation from process startup in supervisord (#838) 2026-03-19 22:37:56 -07:00
test_passthrough.yaml Run plano natively by default (#744) 2026-03-05 07:35:25 -08:00
validate_plano_config.sh model routing: cost/latency ranking with ranked fallback list (#849) 2026-03-30 13:46:52 -07:00

Envoy filter code for gateway

Add toolchain

$ rustup target add wasm32-wasip1

Building

$ cargo build --target wasm32-wasip1 --release

Testing

$ cargo test

Local development

  • Build docker image for Plano. Note this needs to be built once.

    $ sh build_filter_image.sh
    
  • Build filter binary,

    $ cargo build --target wasm32-wasip1 --release
    
  • Start envoy with config.yaml and test,

    $ docker compose -f docker-compose.dev.yaml up plano
    
  • dev version of docker-compose file uses following files that are mounted inside the container. That means no docker rebuild is needed if any of these files change. Just restart the container and chagne will be picked up,

    • envoy.template.yaml
    • intelligent_prompt_gateway.wasm