Skip to content

feat(aws): run macOS images on EC2 Mac#97

Merged
vincentkoc merged 105 commits into
mainfrom
feat/macos-aws-images
May 16, 2026
Merged

feat(aws): run macOS images on EC2 Mac#97
vincentkoc merged 105 commits into
mainfrom
feat/macos-aws-images

Conversation

@vincentkoc
Copy link
Copy Markdown
Member

@vincentkoc vincentkoc commented May 14, 2026

Summary

This PR runs AWS macOS images end to end in Crabbox: EC2 Mac host lifecycle, brokered macOS leases, WebVNC screenshots/portal, native checkpoint snapshots/forks, AMI create/promote, and promoted-image fallback.

  • Adds provider-neutral admin/provider/host APIs and CRABBOX_HOST_ID, keeping AWS/mac-host compatibility aliases.
  • Adds AWS EC2 Mac host quota/offering/dry-run/allocation/release controls, IAM discovery/policy helpers, and guarded lifecycle smoke scripts.
  • Supports macOS native checkpoints and forks without pinning forks to the busy source Dedicated Host.
  • Scopes promoted AWS macOS AMIs by target, architecture, server type, and region, and passes scoped promoted images through fallback candidate selection.
  • Hardens macOS WebVNC/RFB capture, no-auth VNC, M-series AMI queries, Mac host discovery, and selected-region warmups.
  • Keeps all release notes in 0.14.1 - Unreleased.

Validation

Head: e6b2dc9370344f461d84519cc8a1e581c906188e.

  • codex review --base origin/main - clean, no accepted/actionable findings.
  • go test ./internal/cli ./cmd/crabbox
  • npm run check
  • npm test --prefix worker -- --run test/aws.test.ts test/fleet.test.ts
  • npm run format:check --prefix worker
  • npm run lint --prefix worker
  • npm run check --prefix worker
  • git diff --check
  • Exact-head CI run 25969259091: Go, Worker, Plugin, Docs, Release Check, and CodeQL passed.

Comment thread internal/cli/rfb_screenshot.go Fixed
Comment thread internal/cli/rfb_screenshot.go Fixed
vincentkoc added 26 commits May 15, 2026 07:50
* origin/main:
  feat: add AWS checkpoint lifecycle

# Conflicts:
#	docs/commands/image.md
#	internal/cli/coordinator.go
#	internal/cli/coordinator_test.go
#	internal/cli/image.go
#	worker/src/fleet.ts
#	worker/src/types.ts
vincentkoc added 27 commits May 16, 2026 19:02
* origin/main:
  feat: add webvnc take-control handoffs

# Conflicts:
#	CHANGELOG.md
* origin/main:
  fix: retry WebVNC take-control handoffs

# Conflicts:
#	CHANGELOG.md
* origin/main:
  fix: preserve broker Azure OS disk defaults
  fix(azure): default to checkpointable OS disks

# Conflicts:
#	CHANGELOG.md
#	docs/features/configuration.md
#	internal/cli/checkpoint.go
#	internal/cli/config.go
#	internal/cli/coordinator_test.go
* origin/main:
  fix: share opened WebVNC portal leases
  docs: update Windows bootstrap docs
  fix: split Windows bootstrap profiles

# Conflicts:
#	docs/features/providers.md
* origin/main:
  fix: harden capsule uniqueness
  fix: keep capsule signatures scoped
  fix: tighten capsule replay accuracy
  fix: harden capsule log signatures
  fix: simplify capsule replay oracle fallback
  fix: verify capsule replay signatures
  feat: add actions-first failure capsules
@vincentkoc vincentkoc changed the title feat(aws): run macOS images with WebVNC feat(aws): run macOS images on EC2 Mac May 16, 2026
@vincentkoc vincentkoc marked this pull request as ready for review May 16, 2026 18:24
@vincentkoc vincentkoc merged commit 103559e into main May 16, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants