# VM / macOSAMD

## Description

This VM is for running macOS via dedicated hardware so I have something faster than my laptop.

## Configuration

### Resources

| Hostname     |   CPU   | Memory |
|--------------|---------|--------|
| MiMac        | 12 vCPU | 16GB   |

### Storage

| Disk                                | Controller  | Size  | Purpose         |
|-------------------------------------|-------------|-------|-----------------|
| local-zfs:vm-100-disk-1             | ide0        | 1M    | NVRAM           |
| local-zfs:vm-100-disk-0             | virtio      | 200MB | EFI boot loader |
| local-zfs:vm-100-disk-2             | virtio      | 1TB   | boot disk       |

### PCI Passthrough

| Name                      | BDF    | Settings       |
|---------------------------|--------|----------------|
| Fresco USB 3.0 Controller | 04:00  | n/a            |
| AMD RX 560 GPU            | 08:00  | pcie=1,x-vga=1 |
| Intel 10GbE SFP+ NIC      | 06:00  | n/a            |

### Networking

#### Interfaces

| ID | Name  | Bridge | IP Address            | Comments
|----|-------|--------|-----------------------|-----
| eno0 | n/a | vmbr0  | 10.0.2.5/21 (DHCP)    | 1GbE 
| eno1 | n/a | --     | 10.0.10.5/24 (manual) | 10GbE

#### Configuration

Because we want macOS to route all traffic destined for [blackbox.hermz](https://bookstack.swigg.net/books/blackboxhermz) over our 10GbE network we need to adjust our routing table to redirect all traffic to [LXC / Routeman](https://bookstack.swigg.net/books/blackboxhermz/page/lxc-routeman) first.

Knowing that blackbox.hermz has ip addresses `10.0.2.2`, and `10.0.2.3` and all of its services run with `10.0.4.x` we can easily setup some updated routes.

```bash
# 10.0.2.2 (main interface) and 10.0.2.3 (admin interface)
ip route add 10.0.2.2/31 dev en1 via 10.0.10.6

# 10.0.4.x (services running on blackbox)
ip route add 10.0.4.0/24 dev en1 via 10.0.10.6
```

This works perfectly except it isn't persistent.