Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
539c083
feat: add rust validation middleware sidecar
lucarlig Apr 3, 2026
a3887de
perf: optimize rust validation sidecar matching
lucarlig Apr 3, 2026
f7748db
fix: harden rust validation middleware sidecar
lucarlig Apr 3, 2026
1a6659b
docs: add validation sidecar design spec
lucarlig Apr 3, 2026
3da3714
docs: refine validation sidecar design spec
lucarlig Apr 3, 2026
a9c6621
docs: add validation sidecar implementation plan
lucarlig Apr 3, 2026
2a3d4c3
feat: add validation sidecar client
lucarlig Apr 3, 2026
b19ad38
feat: route validation middleware through sidecar backend
lucarlig Apr 3, 2026
caab8aa
fix: honor strict mode for sidecar validation
lucarlig Apr 3, 2026
28a9a7d
fix: fail closed on malformed sidecar responses
lucarlig Apr 3, 2026
1b1b7d1
feat: add rust validation sidecar
lucarlig Apr 3, 2026
03bb631
chore: wire validation sidecar docs and benchmarks
lucarlig Apr 3, 2026
55c7312
fix: finalize validation sidecar integration
lucarlig Apr 3, 2026
29de871
chore: add validation sidecar docstrings
lucarlig Apr 3, 2026
2c30bf9
perf: reduce validation sidecar overhead
lucarlig Apr 3, 2026
23ada9e
refactor: remove simd validation sidecar path
lucarlig Apr 3, 2026
894edbd
perf: remove sidecar request base64 overhead
lucarlig Apr 3, 2026
65746c7
perf: optimize validation sidecar ok responses
lucarlig Apr 3, 2026
2234418
refactor: trim validation sidecar cleanup leftovers
lucarlig Apr 3, 2026
09525d3
refactor: narrow validation sidecar benchmark scope
lucarlig Apr 3, 2026
bc141d0
chore: remove validation sidecar planning docs
lucarlig Apr 3, 2026
5ad83d3
perf: raise validation sidecar client concurrency
lucarlig Apr 7, 2026
6f9385d
refactor: remove legacy validation middleware sidecar
lucarlig Apr 7, 2026
6f3fc4b
chore: track validation sidecar lockfile
lucarlig Apr 7, 2026
5f88139
fix: harden validation sidecar startup and runtime
lucarlig Apr 7, 2026
2d1b05d
refactor: revert validation path to pyo3
lucarlig Apr 7, 2026
4f9686e
refactor: remove validation sidecar terminology
lucarlig Apr 7, 2026
f908711
refactor: reuse rust validation middleware state
lucarlig Apr 7, 2026
f895b54
perf: validate request bodies in rust
lucarlig Apr 7, 2026
a64e086
chore: refresh rust validation lockfile
lucarlig Apr 7, 2026
d38eee5
perf: batch validation middleware rust request checks
lucarlig Apr 7, 2026
0d3fdf3
perf: serialize validation middleware requests for rust
lucarlig Apr 7, 2026
f575489
perf: call rust validation middleware with split request parts
lucarlig Apr 7, 2026
ee4b508
perf: move validation middleware request path into rust
lucarlig Apr 7, 2026
6abdf6b
test: benchmark safe response sanitization path
lucarlig Apr 7, 2026
86c2af6
fix: close rust validation review findings
lucarlig Apr 7, 2026
8dbb518
fix: address validation middleware ci failures
lucarlig Apr 8, 2026
889655b
fix: generate validation middleware stubs
lucarlig Apr 8, 2026
6fe6291
refactor: move validation middleware rust crate under crates
lucarlig Apr 15, 2026
1c54236
chore: inherit workspace metadata for validation rust crate
lucarlig Apr 15, 2026
0490592
fix: align validation rust stub generator naming
lucarlig Apr 15, 2026
83870cc
fix: address validation rust CI regressions
lucarlig Apr 16, 2026
9734d01
fix: refresh detect-secrets baseline
lucarlig Apr 16, 2026
6772f1c
fix: stabilize detect-secrets pre-commit hook
lucarlig Apr 16, 2026
342ea8e
fix: stabilize pre-commit CI hooks
lucarlig Apr 16, 2026
34201ba
fix: merge main into validation rust branch
lucarlig Apr 16, 2026
b378f38
fix: address merged branch CI failures
lucarlig Apr 16, 2026
242e841
Merge remote-tracking branch 'origin/main' into HEAD
lucarlig Apr 16, 2026
c40e268
fix: resolve rust fmt and detect-secrets ci
lucarlig Apr 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,8 @@ SECURE_COOKIES=false

# Enable validation middleware and experimental IO validation for visibility
EXPERIMENTAL_VALIDATE_IO=true
# Optional: enable the Rust JSON validation extension after `make rust-validation-install`
# EXPERIMENTAL_RUST_VALIDATION_MIDDLEWARE_ENABLED=false
VALIDATION_MIDDLEWARE_ENABLED=true

# Permission audit logging (RBAC checks) - disabled by default for performance
Expand Down Expand Up @@ -805,10 +807,15 @@ OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
# Phase 0: EXPERIMENTAL_VALIDATE_IO=false (disabled, default)
# Phase 1: EXPERIMENTAL_VALIDATE_IO=true, VALIDATION_STRICT=false (log-only)
# Phase 2: EXPERIMENTAL_VALIDATE_IO=true, VALIDATION_STRICT=true (enforce in staging)
# Optional accelerator: EXPERIMENTAL_RUST_VALIDATION_MIDDLEWARE_ENABLED=true after `make rust-validation-install`
# Phase 3: Production deployment with all features enabled
# Project defaults block enables EXPERIMENTAL_VALIDATE_IO for local dev
# EXPERIMENTAL_VALIDATE_IO=false

# Enable the experimental in-process Rust validator for recursive JSON validation checks
# Requires `make rust-validation-install` before enabling.
# EXPERIMENTAL_RUST_VALIDATION_MIDDLEWARE_ENABLED=false

# Enable validation middleware for all requests
# When enabled, validates all incoming request parameters and paths
# Options: true, false (default)
Expand Down
5 changes: 4 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -350,7 +350,7 @@ repos:
description: Verifies test files in tests/ directories start with `test_`.
language: python
files: (^|/)tests/.+\.py$
exclude: ^tests/(.*/)?(pages|helpers|fuzzers|scripts|fixtures|migration|utils|manual|async|load.*|populate)/.*\.py$|^tests/e2e/mcp_test_helpers\.py$
exclude: ^tests/(.*/)?(pages|helpers|fuzzers|scripts|fixtures|migration|utils|manual|async|load.*|populate|client|jmeter)/.*\.py$|^tests/e2e/mcp_test_helpers\.py$
args: [--pytest-test-first] # `test_.*\.py`


Expand Down Expand Up @@ -401,6 +401,7 @@ repos:
name: 🐍 Black - Python Code Formatter
description: The uncompromising Python code formatter.
language_version: python3
files: ^mcpgateway/

# - repo: https://github.com/pycqa/isort
# rev: 6.0.1
Expand Down Expand Up @@ -513,6 +514,7 @@ repos:
- id: interrogate
args: [--quiet, --fail-under=100]
files: ^mcpgateway/
exclude: ^mcpgateway/plugins/framework/external/grpc/proto/.*_pb2.*\.py$

# -----------------------------------------------------------------------------
# πŸ” Security - Detect Secrets
Expand All @@ -527,4 +529,5 @@ repos:
name: πŸ” IBM Detect Secrets
description: Detects secrets within a repository using IBM's detect-secrets.
args: ['--baseline', '.secrets.baseline', --use-all-plugins, --fail-on-unaudited]
pass_filenames: false
types: [text]
1 change: 1 addition & 0 deletions .pre-commit-lite.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -531,4 +531,5 @@ repos:
name: πŸ” IBM Detect Secrets
description: Detects secrets within a repository using IBM's detect-secrets.
args: ['--baseline', '.secrets.baseline', --use-all-plugins, --fail-on-unaudited]
pass_filenames: false
types: [text]
Loading
Loading