Fallback macos ssh bootstrap to nsc
All checks were successful
Build Site / Next.js Build (push) Successful in 1m39s
Build Rust / Cargo Test (push) Successful in 4m17s
Build Apple / Build App (iOS Simulator) (push) Successful in 2m14s
Build Apple / Build App (macOS) (push) Successful in 2m40s

This commit is contained in:
Conrad Kramer 2026-03-19 14:11:40 -07:00
parent a4cabf9fb7
commit b0e4351a9d
3 changed files with 145 additions and 6 deletions

View file

@ -45,9 +45,10 @@ profile. The important knobs are:
- `namespace.machine_type` / `namespace.duration` shape + TTL for the ephemeral
Namespace environment. The dispatcher destroys the instance after a job so the
TTL acts as a hard cap, not an idle timeout.
- macOS fallback launches still use `nsc create`, but bootstrap runs over the
Compute SSH config endpoint instead of `nsc ssh` so the dispatcher can always
destroy the instance itself instead of relying on a websocket SSH proxy handoff.
- macOS fallback launches still use `nsc create`. Bootstrap prefers the
Compute SSH config endpoint, and falls back to keychain-backed `nsc ssh`
only when the Compute bearer is rejected. That keeps the fast path on direct
TCP while preserving a working fallback when tenant auth drifts.
- `namespace.linux_cache_*` / `namespace.macos_cache_*` persistent cache
volumes mounted into runners so Linux can keep `/nix` plus shared build
caches warm and macOS can reuse Rust toolchains, Xcode package caches, and