Skip to content

fix(policy): add tls: skip to brew preset endpoints (#2331) - #2338

Merged
ericksoa merged 1 commit into
NVIDIA:mainfrom
kagura-agent:fix/brew-tls-skip
Apr 24, 2026
Merged

fix(policy): add tls: skip to brew preset endpoints (#2331)#2338
ericksoa merged 1 commit into
NVIDIA:mainfrom
kagura-agent:fix/brew-tls-skip

Conversation

@kagura-agent

@kagura-agent kagura-agent commented Apr 23, 2026

Copy link
Copy Markdown
Contributor

Summary

Add tls: skip to all six endpoints in the brew policy preset so the L7 proxy performs L4 pass-through instead of TLS termination.

Problem

After OpenShell v0.0.15+ began auto-terminating TLS on every detected TLS stream (OpenShell#544), git inside the sandbox fails with:

fatal: unable to access 'https://github.com/Homebrew/brew.git/':
server certificate verification failed. CAfile: none CRLfile: none

curl to the same host through the same proxy succeeds, and git -c http.sslVerify=false also succeeds — isolating the defect to the proxy's TLS termination presenting a certificate that git's OpenSSL cannot validate.

Fix

Add tls: skip to all brew preset endpoints (formulae.brew.sh, github.com, ghcr.io, pkg-containers.githubusercontent.com, objects.githubusercontent.com, raw.githubusercontent.com). This restores L4 pass-through so git validates the real server certificates directly.

This follows the same pattern established in PR #2098 for Discord/Slack WebSocket endpoints.

Test plan

  • npx vitest run test/policies.test.ts — 86 tests pass
  • Nightly E2E: brew preset git ls-remote against whitelisted endpoint succeeds without http.sslVerify=false

Fixes #2331

Signed-off-by: kagura-agent kagura-agent@users.noreply.github.com

Summary by CodeRabbit

  • Chores
    • Updated network policy presets to modify TLS certificate verification behavior for connections to multiple package repository and external service endpoints supporting package management operations.

OpenShell v0.0.15+ auto-terminates TLS on every detected TLS stream.
Without an explicit tls: skip, git inside the sandbox receives the
proxy's MITM certificate instead of the real server certificate and
fails with 'server certificate verification failed. CAfile: none'.

curl succeeds because it picks up the proxy CA from the sandbox
environment, but git's OpenSSL does not — proving the issue is
TLS termination, not network connectivity.

Add tls: skip to all six brew preset endpoints so the proxy performs
L4 pass-through, letting git validate the real server certificates.
This follows the same pattern used for Discord WebSocket endpoints
in PR NVIDIA#2098.

Signed-off-by: kagura-agent <kagura-agent@users.noreply.github.com>
Signed-off-by: kagura-agent <kagura.agent.ai@gmail.com>
@copy-pr-bot

copy-pr-bot Bot commented Apr 23, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@coderabbitai

coderabbitai Bot commented Apr 23, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 9f5ae858-07e8-4f5c-b31e-7fc69c99d454

📥 Commits

Reviewing files that changed from the base of the PR and between d9aced4 and 97db044.

📒 Files selected for processing (1)
  • nemoclaw-blueprint/policies/presets/brew.yaml

📝 Walkthrough

Walkthrough

The brew preset's network policy configuration for six HTTPS endpoints (:443 hosts) has been updated to include tls: skip directives, addressing TLS certificate verification failures encountered during sandboxed git operations against whitelisted repositories.

Changes

Cohort / File(s) Summary
Brew Preset Network Policy Configuration
nemoclaw-blueprint/policies/presets/brew.yaml
Added tls: skip directive to six HTTPS endpoint entries for formulae.brew.sh, github.com, ghcr.io, pkg-containers.githubusercontent.com, objects.githubusercontent.com, and raw.githubusercontent.com to resolve TLS verification failures in git operations.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 A brew so fine, through TLS we hop,
No more cert checks will make our git stop,
Six trusted hosts now skip the SSL dance,
Git and curl together, they prance and advance! 🍻

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: adding tls: skip to brew preset endpoints to fix TLS certificate verification issues.
Linked Issues check ✅ Passed The PR fully addresses issue #2331 by implementing the required fix: adding tls: skip to all six endpoints in the brew policy preset to enable L4 pass-through for TLS, allowing Git to validate real server certificates directly.
Out of Scope Changes check ✅ Passed All changes are directly scoped to resolving issue #2331; only the brew.yaml preset was modified to add tls: skip directives without extraneous modifications.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@wscurran

Copy link
Copy Markdown
Contributor

@ericksoa ericksoa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Straightforward fix. tls: skip on all 6 brew preset endpoints restores L4 pass-through so git validates real server certs instead of the proxy's MITM cert. Follows the established pattern from #2098.

LGTM.

@ericksoa
ericksoa merged commit 4202bdb into NVIDIA:main Apr 24, 2026
2 checks passed
@cv cv added the v0.0.25 label Apr 24, 2026
DemianHeyGen pushed a commit to DemianHeyGen/NemoClaw that referenced this pull request Apr 30, 2026
…IDIA#2338)

## Summary

Add `tls: skip` to all six endpoints in the `brew` policy preset so the
L7 proxy performs L4 pass-through instead of TLS termination.

## Problem

After OpenShell v0.0.15+ began auto-terminating TLS on every detected
TLS stream
([OpenShell#544](NVIDIA/OpenShell#544)), `git`
inside the sandbox fails with:

```
fatal: unable to access 'https://github.com/Homebrew/brew.git/':
server certificate verification failed. CAfile: none CRLfile: none
```

`curl` to the same host through the same proxy succeeds, and `git -c
http.sslVerify=false` also succeeds — isolating the defect to the
proxy's TLS termination presenting a certificate that git's OpenSSL
cannot validate.

## Fix

Add `tls: skip` to all brew preset endpoints (`formulae.brew.sh`,
`github.com`, `ghcr.io`, `pkg-containers.githubusercontent.com`,
`objects.githubusercontent.com`, `raw.githubusercontent.com`). This
restores L4 pass-through so git validates the real server certificates
directly.

This follows the same pattern established in PR NVIDIA#2098 for Discord/Slack
WebSocket endpoints.

## Test plan

- [x] `npx vitest run test/policies.test.ts` — 86 tests pass
- [ ] Nightly E2E: `brew` preset `git ls-remote` against whitelisted
endpoint succeeds without `http.sslVerify=false`

Fixes NVIDIA#2331

Signed-off-by: kagura-agent <kagura-agent@users.noreply.github.com>

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated network policy presets to modify TLS certificate verification
behavior for connections to multiple package repository and external
service endpoints supporting package management operations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Signed-off-by: kagura-agent <kagura-agent@users.noreply.github.com>
Signed-off-by: kagura-agent <kagura.agent.ai@gmail.com>
@wscurran wscurran added area: sandbox OpenShell sandbox lifecycle, runtime, config, or recovery bug-fix PR fixes a bug or regression feature PR adds or expands user-visible functionality and removed enhancement: feature feature PR adds or expands user-visible functionality labels Jun 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: sandbox OpenShell sandbox lifecycle, runtime, config, or recovery bug-fix PR fixes a bug or regression

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Sandbox git HTTPS TLS verify fails for whitelisted endpoints despite /usr/bin/git in brew preset binaries

4 participants