Repository navigation
Conversation
Phase D of the reservable phone-HITL fleet: bring the Mac mini online as an iOS bench alongside the Linux rigs, driven by the darwin runner (hitl-reserve#7). - reserve/catalog-mac.json — two units, each with its own C6: `ios-phone` (a real iPhone + c6-c; build/install the Capacitor app via devicectl, provision the C6 over real CoreBluetooth) and `ios-sim` (c6-d + the Simulator via simctl, pin_only). No `devices` mounts — the darwin runner has no container, so the iPhone/Simulator/C6 are reached host-native; hardware is selected by env markers (HITL_IOS_UDID, HITL_ESP_PORT). Validated against the real catalog parser (2 units, correct caps/components). - nix/hitl-darwin.nix — the nix-darwin module: a launchd daemon running `hitl-reserved --runner darwin`, the shared key-scoped `hitl` SSH user, the sshd drop-in (AuthorizedKeysFile + PermitUserEnvironment the runner needs), Tailscale, and the iOS toolbox (esptool/python/node/pnpm/cocoapods). Additive (a Mac is hand-managed/multi-tenant — no reprovision). Parses clean. - reserve/README.md — a "Mac mini — the iOS bench" section with the deploy handoff: the flake darwinConfigurations + nix-darwin input to add, the two git_override pins to bump once hitl-reserve#7 lands, the one-time Mac state (Xcode CLT, iPhone/C6 attach), and the placeholders to fill. This module can't be built/evaluated from the Linux container (no darwin stdenv / nix-darwin), so it's authored for `darwin-rebuild switch` ON THE MAC; the flake wiring is documented rather than committed so it can't break the Linux rig eval. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
|
Owner
Author
|
Superseded by #189 (merged), which rebuilt this onto current main with the sshd PermitUserEnvironment lockout fix, the corrected flake.lock re-lock, headless ASC-key signing wiring, and the filled catalog. Closing. |
This branch had an error being deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Phase D of the reservable phone-HITL fleet: bring a Mac mini online as an iOS bench alongside the Linux rigs, using the darwin runner (hitl-reserve#7). Depends on #7 landing + its pin bump.
What's here
reserve/catalog-mac.json— two units, each with its own C6:ios-phone(real iPhone +c6-c) andios-sim(c6-d+ Simulator,pin_only). Nodevicesmounts — the darwin runner has no container, so the iPhone/Simulator/C6 are reached host-native; hardware is selected by env markers (HITL_IOS_UDID,HITL_ESP_PORT). Validated against the realcatalogGo parser (2 units, correct caps/components).nix/hitl-darwin.nix— the nix-darwin module: a launchd daemon (hitl-reserved --runner darwin), the key-scoped sharedhitlSSH user, the sshd drop-in (AuthorizedKeysFile+PermitUserEnvironmentthe runner needs), Tailscale, and the iOS toolbox (esptool/python/node/pnpm/cocoapods). Additive — a Mac is hand-managed/multi-tenant, no reprovision. Parses clean (nix-instantiate --parse).reserve/README.md— a "Mac mini — the iOS bench" section with the full deploy handoff.Verification boundary
This module can't be built/evaluated from the Linux container (no darwin stdenv / nix-darwin module set), so it's authored for
darwin-rebuild switchon the Mac. The flakedarwinConfigurations+ nix-darwin input are documented, not committed, so an un-evaluatable darwin output can't break the Linux rig deploy eval. What was verifiable here is: catalog parses against the real Go parser, nix module parses, JSON/nix/md lint clean.Deploy (on the Mac — see README)
hitl-reservepins (flake input +@hitl_reservegit_override) to its SHA.darwinConfigurations.mac-minitoflake.nix(block in the README).tailscale up.HITL_IOS_UDID+HITL_ESP_PORTs in the catalog.darwin-rebuild switch --flake .#mac-mini.Then reserve
--unit ios-phone/--unit ios-simfrom the tailnet and run the journey suite — the normal remote HITL loop.🤖 Generated with Claude Code