Uh oh!
There was an error while loading. Please reload this page.
feat(policy): establish direct TCP egress foundation - #2711
Conversation
🌿 Preview your docs:https://nvidia-preview-pr-2711.docs.buildwithfern.com/openshell |
johntmyers
left a comment
There was a problem hiding this comment.
gator-agent
PR Review Status
Validation: Project-valid as the explicitly authorized first delivery slice of accepted RFC #2155 and the authoritative policy-DNS/transparent-TCP series plan. This review evaluates only stage-1 responsibilities and does not require DNS, mapping-store, capture, or native transparent-TCP functionality deferred to later PRs.
Head SHA: c9ee490d4c2ea7ae7e93a1eee723425022414fed
Base SHA: 0310cbed6c809e8950fc513d0a25c2ec03946198
Merge base SHA: 0310cbed6c809e8950fc513d0a25c2ec03946198
Patch ID: 64c0cd43a0b601c291aab47f2c53c7bd1a8217f6
Gator payload: 4
Review mode: initial
Previous reviewed SHA: none
Review budget exhausted: no
Maintainer decision required: no
Blocking findings:
GATOR-c9ee490d-01: The authoritative authorization result and ambiguity model must preserve explicit TCP eligibility and a generation-stable matched endpoint identity, even though explicit TCP and omitted protocol remain equivalent for CONNECT.GATOR-c9ee490d-02: A pinned resolved-address destination mode must construct an unopened connector from policy-DNS-pinned addresses without performing connect-time DNS resolution.GATOR-c9ee490d-03: Explicit protocol: tcp must reject fields that promise L7-only enforcement or transformation rather than accepting and silently ignoring them.GATOR-c9ee490d-04: Published policy and CLI reference documentation must list protocol: tcp and accurately describe its current L4-only constraints when the public parser accepts it.
Carried findings:
- None
Non-blocking suggestions:
- None
Docs: Missing canonical Fern updates for the newly accepted public protocol: tcp policy and CLI syntax.
Next state: gator:in-review
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
johntmyers
left a comment
There was a problem hiding this comment.
gator-agent
Re-check After Author Update
Thanks @johntmyers. I reviewed the new implementation commit and your note that the Fern documentation is being deferred to a separate branch. I checked the stage-1 code obligations against the authoritative policy-DNS/transparent-TCP series plan and checked the canonical published policy and CLI pages.
Validation: This remains project-valid as PR 1 of the authorized series. DNS, mapping-store, capture, and native transparent-TCP runtime functionality remain correctly deferred to later PRs.
Head SHA: 2dedd9c4323f4378fac828232bc8c44b3d7a8e5b
Base SHA: 0310cbed6c809e8950fc513d0a25c2ec03946198
Merge base SHA: 0310cbed6c809e8950fc513d0a25c2ec03946198
Patch ID: 544beca42375b85776ff2da0101389b02c7d4998
Gator payload: 4
Review mode: follow_up
Previous reviewed SHA: c9ee490d4c2ea7ae7e93a1eee723425022414fed
Review budget exhausted: no
Maintainer decision required: no
Resolved findings:
GATOR-c9ee490d-01: the authoritative result now preserves matched endpoint identity and explicit TCP eligibility, with ambiguity coverage.GATOR-c9ee490d-02: the pinned-address validation plan now constructs an unopened connector without DNS resolution and is covered by deterministic tests.GATOR-c9ee490d-03: TCP activation now rejects the represented L7-only field family across policy and provider-profile paths.
Blocking findings:
GATOR-c9ee490d-04remains open.docs/reference/policy-schema.mdxstill instructs users to omit the protocol for TCP passthrough, whiledocs/sandboxes/policies.mdxstill omitstcpfrom the values accepted bypolicy update. Because this PR directly ships the public policy and CLI syntax and the stage-1 plan requires documenting its current L4-only semantics, a separate in-flight docs branch does not make this PR's published contract accurate and is not a maintainer waiver. Please update those two existing Fern pages here, or obtain an explicit maintainer waiver for deferring them. No navigation change is needed.
Carried findings:
GATOR-c9ee490d-04: canonical Fern policy and CLI documentation must describe explicitprotocol: tcpand its current L4-only constraints.
Docs: Missing for the direct public policy/CLI syntax change.
Next state: gator:in-review
johntmyers
commented
Aug 11, 2026
@ gator, as mentioned in the reply to your comment we will defer the docs. #2711 (comment) |
Label |
johntmyers
commented
Aug 14, 2026
Maintainer Review NudgeThis PR has been in @NVIDIA/openshell-maintainers @NVIDIA/openshell-codeowners @mrunalp@maxamillion@derekwaynecarr, can someone review and either approve, request changes, or close this out? |
johntmyers
commented
Aug 14, 2026
Author Follow-Up NudgeThis PR has been in @johntmyers, please either update |
johntmyers
commented
Aug 19, 2026
Maintainer Convergence DecisionThanks @johntmyers. I checked the current head after your response to @pimlock's request to require a non-empty host and a valid concrete port for explicit Head SHA: The autonomous Warning budget is exhausted, and a specific maintainer decision is required before review can proceed. Root-cause findings:
Scope growth:
Reviewer-quality signals:
Maintainer action: @pimlock or another OpenShell maintainer, please decide whether this PR should (a) limit the new host/port requirement to explicit Next state: |
johntmyers
commented
Aug 19, 2026
BlockedThanks @pimlock. I checked your maintainer clarification that the existing hostless non-TCP Head SHA: Gator is now blocked because GitHub reports this head as unmergeable with merge conflicts ( Next action: @johntmyers, resolve the conflicts with |
26d10b1 to
808f5fbComparejohntmyers
commented
Aug 19, 2026
Re-check After Author UpdateThanks @johntmyers. I reviewed conflict-resolved head Validation: This remains project-valid as stage 1 of the accepted policy-DNS/transparent-TCP series. It establishes the authoritative generation-consistent authorization boundary, stable endpoint identity, explicit Head SHA: What I checked: the complete authoritative series plan, the durable feedback ledger, the conflict-resolution author delta, the TCP-specific host and port validation boundary, preservation of hostless non-TCP Blocking findings:
Carried findings:
Docs: The canonical Fern policy pages continue to document explicit Checks: The merge-conflict blocker is cleared. Disposition: Review feedback is resolved and the required current-head workflows are dispatched. Next state: |
808f5fb to
062ce26Comparejohntmyers
commented
Aug 19, 2026
BlockedHead SHA: Stage-1 review is complete. The feedback ledger identifies this head as rebase-equivalent to reviewed head Gator is blocked by the required Next action: @NVIDIA/openshell-maintainers, fix or update the shared |
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 <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>
johntmyers
commented
Aug 20, 2026
Re-check After Author UpdateThanks @johntmyers. I reviewed current head Validation: This remains project-valid as stage 1 of the accepted policy-DNS/transparent-TCP series. It establishes the authoritative generation-consistent authorization boundary, stable endpoint identity, explicit Head SHA: What I checked: the complete authoritative series plan, the durable feedback ledger, the author-only range comparison across the rebase, the Podman stop/restart fence conflict resolution, preservation of the stage-1 TCP host/port validation boundary, and current-head workflow dispatch. Blocking findings:
Carried findings:
Docs: The canonical Fern policy pages continue to document explicit Checks: The prior shared E2E bootstrap blocker is cleared by the rebase. Disposition: Review feedback is resolved and the required current-head workflows are dispatched. Next state: |
johntmyers
commented
Aug 20, 2026
Monitoring CompleteMonitoring is complete because this PR has merged. Head SHA: Final status: Gator reached I removed the active |
Summary
Establish the policy and proxy foundations for RFC 0005's direct DNS and transparent TCP work without enabling either runtime path yet. Explicit
protocol: tcpis accepted as the current L4 host/port behavior, while proxy authorization now returns one generation-consistent decision snapshot that later adapters can consume safely.Related Issue
Implements the first delivery slice of the accepted RFC in #2155. The RFC was merged without a separate tracking issue.
Changes
protocol: tcpin policy YAML, profile validation, ambiguity checks, Rego evaluation, and incrementalpolicy updateparsingcredential_binding), exact-host signal, and policy generationTesting
mise run pre-commitpassesmise run docspassesmise run testpassesChecklist