Skip to content

Commit 87e6ddb

Browse files
rgarciaclaude
andcommitted
fix: README treats Linux and macOS as equal platforms
- Requirements: remove "Production"/"Experimental" labels - Quick Start: "Linux and macOS supported" - CLI section: reword for local-first usage, remove "remote" framing - Remove entire "macOS Support" section (platform details belong in DEVELOPMENT.md, not the user-facing README) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 1b45430 commit 87e6ddb

1 file changed

Lines changed: 11 additions & 72 deletions

File tree

README.md

Lines changed: 11 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -21,27 +21,25 @@
2121

2222
## Requirements
2323

24-
### Linux (Production)
25-
Hypeman server runs on **Linux** with **KVM** virtualization support. Supports Cloud Hypervisor and QEMU as hypervisors.
24+
### Linux
25+
**KVM** virtualization support required. Supports Cloud Hypervisor and QEMU as hypervisors.
2626

27-
### macOS (Experimental)
28-
Hypeman also supports **macOS** (11.0+) using Apple's **Virtualization.framework** via the `vz` hypervisor. See [macOS Support](#macos-support) below.
29-
30-
The CLI can run locally on the server or connect remotely from any machine.
27+
### macOS
28+
**macOS 11.0+** on Apple Silicon. Uses Apple's Virtualization.framework via the `vz` hypervisor.
3129

3230
## Quick Start
3331

34-
Install Hypeman on your Linux server:
32+
Install Hypeman (Linux and macOS supported):
3533

3634
```bash
3735
curl -fsSL https://get.hypeman.sh | bash
3836
```
3937

40-
This installs both the Hypeman server and CLI. The installer handles all dependencies, KVM access, and network configuration automatically.
38+
This installs both the Hypeman server and CLI. The installer handles all dependencies and configuration automatically.
4139

42-
## CLI Installation (Remote Access)
40+
## CLI Installation
4341

44-
To connect to a Hypeman server from another machine, install just the CLI:
42+
To use Hypeman via the CLI on a separate machine:
4543

4644
**Homebrew:**
4745
```bash
@@ -53,17 +51,11 @@ brew install kernel/tap/hypeman
5351
go install 'github.com/kernel/hypeman-cli/cmd/hypeman@latest'
5452
```
5553

56-
**Configure remote access:**
57-
58-
1. On the server, generate an API token:
59-
```bash
60-
hypeman-token
61-
```
54+
**Configure CLI access:**
6255

63-
2. On your local machine, set the environment variables:
6456
```bash
65-
export HYPEMAN_API_KEY="<token-from-server>"
66-
export HYPEMAN_BASE_URL="http://<server-ip>:8080"
57+
export HYPEMAN_API_KEY="<token>"
58+
export HYPEMAN_BASE_URL="http://<host>:8080"
6759
```
6860

6961
## Usage
@@ -159,59 +151,6 @@ hypeman logs --source hypeman my-app
159151

160152
For all available commands, run `hypeman --help`.
161153

162-
## macOS Support
163-
164-
Hypeman supports macOS using Apple's Virtualization.framework through the `vz` hypervisor. This provides native virtualization on Apple Silicon Macs (Intel Macs are not supported).
165-
166-
### Requirements
167-
168-
- macOS 11.0+ (macOS 14.0+ required for snapshot/restore on ARM64)
169-
- Apple Silicon (M1/M2/M3) recommended
170-
- Caddy: `brew install caddy`
171-
- e2fsprogs: `brew install e2fsprogs` (for ext4 disk images)
172-
173-
### Quick Start (macOS)
174-
175-
```bash
176-
# Install dependencies
177-
brew install caddy e2fsprogs
178-
179-
# Add e2fsprogs to PATH (it's keg-only)
180-
export PATH="/opt/homebrew/opt/e2fsprogs/bin:/opt/homebrew/opt/e2fsprogs/sbin:$PATH"
181-
182-
# Configure environment
183-
cp .env.darwin.example .env
184-
185-
# Create data directory
186-
mkdir -p ~/Library/Application\ Support/hypeman
187-
188-
# Run with hot reload (auto-detects macOS, builds, signs, and runs)
189-
make dev
190-
```
191-
192-
The `make dev` command automatically detects macOS and handles building with vz support and signing with required entitlements.
193-
194-
### Key Differences from Linux
195-
196-
| Feature | Linux | macOS |
197-
|---------|-------|-------|
198-
| Hypervisors | Cloud Hypervisor, QEMU | vz (Virtualization.framework) |
199-
| Networking | TAP devices, bridges, iptables | NAT (built-in, automatic) |
200-
| Rate Limiting | HTB/tc | Not supported |
201-
| GPU Passthrough | VFIO | Not supported |
202-
| Disk Format | qcow2, raw | raw only |
203-
| Snapshots | Always available | macOS 14+ ARM64 only |
204-
205-
### Limitations
206-
207-
- **Networking**: macOS uses NAT networking automatically. No manual bridge/TAP configuration needed, but ingress requires discovering the VM's NAT IP.
208-
- **Rate Limiting**: Network and disk I/O rate limiting is not available on macOS.
209-
- **GPU**: PCI device passthrough is not supported on macOS.
210-
- **Disk Images**: qcow2 format is not directly supported; use raw disk images.
211-
- **Snapshots**: Requires macOS 14.0+ on Apple Silicon (ARM64).
212-
213-
For detailed development setup, see [DEVELOPMENT.md](DEVELOPMENT.md).
214-
215154
## Development
216155

217156
See [DEVELOPMENT.md](DEVELOPMENT.md) for build instructions, configuration options, and contributing guidelines.

0 commit comments

Comments
 (0)