refactor(network): consolidate proxy egress pipeline - #2373
Conversation
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
|
🌿 Preview your docs: https://nvidia-preview-pr-2373.docs.buildwithfern.com/openshell |
96addbc to
0c67990
Compare
|
/ok to test 0c67990 |
|
Label |
|
/ok to test 79d2123 |
|
/ok to test 1d568e3 |
|
/ok to test 92efd90 |
|
/ok to test 344a2eb |
|
/ok to test 0f9a6bf |
There was a problem hiding this comment.
[agent-review]
Agent infrastructure also needs a companion update: .agents/skills/generate-sandbox-policy/SKILL.md:442 still says all overlapping endpoint coverage causes OPA evaluation errors. This PR permits compatible overlaps and adds rejected-generation quarantine behavior, so the policy-generation, CLI, and cluster-debugging skills should reflect the new semantics.
Focused verification passed: 11 ambiguity tests, 4 relay-generation tests, and 4 validation-failure posture tests.
0f9a6bf to
b913aa0
Compare
b2e79aa to
a09cefc
Compare
|
/ok to test 9a4dd3a |
9a4dd3a to
a981d67
Compare
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
Signed-off-by: John Myers <johntmyers@users.noreply.github.com>
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
f7b8219 to
04c16b0
Compare
johntmyers
left a comment
There was a problem hiding this comment.
gator-agent
PR Review Status
Validation: Project-valid maintainer-authored implementation of the open RFC #2155 foundation for a shared proxy-egress pipeline.
Head SHA: 04c16b08142f9de132b86bc01f59baf7c41ea1c3
Base SHA: 596d729e3fbe4f828424cadbe0bf1b3c5b307ada
Merge base SHA: 596d729e3fbe4f828424cadbe0bf1b3c5b307ada
Patch ID: 2405a7f7baf6960ad6784158d7ad68b7b1efefc2
Gator payload: 2
Review mode: initial
Previous reviewed SHA: none
Thanks @pimlock. I checked the endpoint-glob, gateway-preflight, generation-pinning, WebSocket-classification, and agent-skill concerns you raised against the rebased head; those fixes are present. @krishicks, I also checked your JSON-RPC/MCP classification point; the current comparison now requires an exact protocol match before comparing the shared body limit.
Blocking findings:
GATOR-04c16b08-01: Transient middleware-registry preparation failures incorrectly enter rejected-policy quarantine instead of preserving the last-known-good runtime.GATOR-04c16b08-02: Global activation of provider composition can persist before affected effective policies are ambiguity-checked.
Carried findings:
- None
Non-blocking suggestions:
- None
Docs: Fern, architecture, Helm, policy, and agent-skill documentation are updated.
Next state: gator:in-review
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
johntmyers
left a comment
There was a problem hiding this comment.
gator-agent
PR Review Status
Validation: Project-valid maintainer-authored implementation of the open RFC #2155 foundation for a shared proxy-egress pipeline.
Head SHA: 286d02719e3ecb7e0126aa5934c535c72b0567b3
Base SHA: 596d729e3fbe4f828424cadbe0bf1b3c5b307ada
Merge base SHA: 596d729e3fbe4f828424cadbe0bf1b3c5b307ada
Patch ID: 547e500de34791f5040b2f66f9c6bd8326e574e2
Gator payload: 2
Review mode: follow_up
Previous reviewed SHA: 04c16b08142f9de132b86bc01f59baf7c41ea1c3
Thanks @johntmyers. I checked the middleware-outage and provider-composition preflight fixes in the two-commit delta. GATOR-04c16b08-01 and GATOR-04c16b08-02 are resolved by the new classification/preflight code and regression coverage.
Blocking findings:
GATOR-286d0271-01: Revision-only failure deduplication suppresses a later policy-rejection disposition when an initially unavailable middleware becomes reachable for the same candidate.
Carried findings:
- None
Docs: No new direct UX change in this remediation delta; the already-reviewed Fern and architecture documentation remains applicable.
Next state: gator:in-review
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
johntmyers
left a comment
There was a problem hiding this comment.
gator-agent
PR Review Status
Validation: Project-valid maintainer-authored implementation of the open RFC #2155 foundation for a shared proxy-egress pipeline.
Head SHA: 9f4447f4a9cb2e914bd33619bb1820ce431d4b4f
Base SHA: 596d729e3fbe4f828424cadbe0bf1b3c5b307ada
Merge base SHA: 596d729e3fbe4f828424cadbe0bf1b3c5b307ada
Patch ID: 96ade727c4c42a3c2c050df5ad84bcbbc146222d
Gator payload: 2
Review mode: follow_up
Previous reviewed SHA: 286d02719e3ecb7e0126aa5934c535c72b0567b3
Thanks @johntmyers. I checked the same-candidate failure-transition fix in the latest author delta. The deduplication identity now includes the runtime failure class, so a middleware outage followed by policy rejection is handled as a changed disposition. The focused regression coverage exercises that transition.
Blocking findings:
- No blocking findings remain.
Carried findings:
GATOR-286d0271-01: Resolved by failure-class-aware deduplication and transition coverage.
Docs: No new direct UX change in this remediation delta; the already-reviewed Fern and architecture documentation remains applicable.
Next state: gator:watch-pipeline
Monitoring CompleteMonitoring is complete because this PR has merged. Head SHA: Final status: Gator review completed with no blocking findings remaining, required checks passed, and maintainer approval was present before merge. I removed the active |
Summary
Refactor sandbox proxy egress so CONNECT and forward-proxy traffic share explicit destination authorization and relay primitives while preserving the existing user-facing network behavior. This establishes the RFC #2155 foundation without introducing the later DNS or arbitrary TCP features, and keeps the shared path compatible with the middleware framework from #2027.
User-facing behavior
policy_validation_failure_mode = "retain_last_valid"under[openshell.gateway]ingateway.toml.Related Issue
Related design: #2155
Related middleware implementation: #2027
Changes
[openshell.gateway] policy_validation_failure_modeingateway.toml; default tofail_closedand allow the explicitretain_last_validavailability mode.Testing
mise run pre-commitpasses after rebasing onto currentmainmise run helm:lintmise run helm:test(64 passed)Checklist