Commit Graph

4 Commits

Author SHA1 Message Date
didericis-codex a8043be394 fix(types): annotate inspect settings fixture
tracker-policy-pr / check-pr (pull_request) Successful in 11s
test / integration-docker (pull_request) Successful in 18s
test / unit (pull_request) Successful in 1m41s
test / integration-firecracker (pull_request) Successful in 3m27s
test / coverage (pull_request) Successful in 22s
test / publish-infra (pull_request) Has been skipped
test / integration-docker (push) Successful in 34s
test / unit (push) Successful in 45s
Update Quality Badges / update-badges (push) Successful in 45s
lint / lint (push) Successful in 53s
test / integration-firecracker (push) Successful in 5m5s
test / coverage (push) Successful in 42s
test / publish-infra (push) Successful in 1m44s
2026-07-23 21:28:39 +00:00
didericis-codex 7d401a68c5 refactor(egress): make TLS inspection explicit 2026-07-23 21:28:39 +00:00
didericis-claude 83aa6768fc feat: add dlp: false passthrough option for egress routes
Routes with `dlp: false` skip all DLP scanning (including CRLF injection,
which cannot be disabled via `dlp.outbound_detectors: false`) and tunnel
HTTPS connections without TLS interception so the client sees the server's
real certificate. Fixes Docker image pulls, which fail when the proxy MITM's
the TLS handshake and the container doesn't trust the per-bottle CA.

Closes #462
2026-07-23 21:28:22 +00:00
didericis f289b6382c test(egress): ratchet egress_addon_core coverage to >=90%
test / unit (pull_request) Successful in 44s
test / integration (pull_request) Successful in 16s
test / coverage (pull_request) Successful in 57s
lint / lint (push) Successful in 2m17s
test / unit (push) Successful in 57s
test / integration (push) Successful in 28s
test / coverage (push) Successful in 1m17s
Update Quality Badges / update-badges (push) Failing after 2m8s
Third per-module ratchet under ADR 0004. Add a parsing/serialization
suite for the egress engine's core:

- route validation rejections: payload/route shape, host, auth pairing,
  git block, every matches sub-field (paths/methods/headers type +
  regex-compile + unknown-key), and the dlp block (detector type/name,
  outbound_on_match, unknown key)
- a full valid route round-trips; detectors:false disables
- parse_config log-level validation + load_config invalid-YAML
- route_to_yaml_dict: minimal/auth/git/dlp/matches with default-omission
- evaluate_matches: exact/prefix/regex paths, method filter, exact +
  regex header matching (match and non-match)

egress_addon_core.py: 84% -> 99%. The two remaining missed statements
are defensive guards (an unreachable separator-return and a
no-matching-path-type fallthrough).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NkwFXLFff9PYPy4wgVBJp9
2026-06-25 22:04:27 -04:00