Initial commit: BlackRoad Garage infrastructure documentation

- README.md: Fleet overview and quick access commands
- FLEET.md: Complete device specifications and inventory
- NETWORK.md: IP addresses, Tailscale mesh, network diagram
- SSH_CONFIG.md: SSH configuration reference
- HAILO.md: Hailo-8 AI accelerator documentation

Fleet: 8 devices, 52 TOPS AI compute, 167 Docker containers

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Your Name
2026-02-09 15:53:26 -06:00
commit 8469a27ec1
5 changed files with 477 additions and 0 deletions

137
FLEET.md Normal file
View File

@@ -0,0 +1,137 @@
# BlackRoad Fleet Inventory
Last updated: 2026-02-09
## Human in the Loop
### alexandria (Mac)
- **Role**: Control Center, Human Operator
- **Local IP**: 192.168.4.28
- **Tailscale**: 100.91.90.68
- **User**: alexa
- **Purpose**: Development workstation, fleet orchestration
---
## AI Compute Nodes (Pironman Pi 5 + Hailo-8)
### octavia
- **Hardware**: Raspberry Pi 5 in Pironman 5 case
- **Local IP**: 192.168.4.81
- **Tailscale**: 100.83.149.86
- **User**: pi
- **AI Accelerator**: Hailo-8 (26 TOPS)
- Serial: HLLWM2B233704606
- Firmware: 4.23.0
- **Storage**:
- SD Card: 128GB (boot)
- NVMe: 1TB @ /mnt/nvme (870GB free)
- **RAM**: 8GB
- **Docker**: Yes (v29.1.3)
- **Fan Service**: pironman5 running
### cecilia
- **Hardware**: Raspberry Pi 5 in Pironman 5 case
- **Local IP**: 192.168.4.89
- **Tailscale**: 100.72.180.98
- **User**: cecilia
- **AI Accelerator**: Hailo-8 (26 TOPS)
- Serial: HLLWM2B233704667
- Firmware: 4.23.0
- **Storage**:
- NVMe: 500GB (BOOT DRIVE - 420GB free)
- **RAM**: 8GB
- **Docker**: Yes
- **Services**: Ollama, CECE Net Gateway
- **Fan Service**: pironman5 running
- **Benchmark**: ResNet-50 @ 24 FPS
---
## Compute Cluster (Raspberry Pi)
### alice
- **Hardware**: Raspberry Pi 4
- **Local IP**: 192.168.4.49
- **Tailscale**: 100.77.210.18
- **User**: pi
- **Role**: Headscale mesh server
- **Docker**: 7 containers
- **Disk**: 97% used (NEEDS CLEANUP!)
- **RAM**: 4GB
- **Uptime**: 27+ days
### lucidia
- **Hardware**: Raspberry Pi 4
- **Local IP**: 192.168.4.38
- **Tailscale**: 100.66.235.47
- **User**: pi
- **Role**: Mesh node
- **Docker**: 15 containers
- **Disk**: 92% used
- **RAM**: 8GB
- **Uptime**: 27+ days
### aria
- **Hardware**: Raspberry Pi 5
- **Local IP**: 192.168.4.82
- **Tailscale**: 100.109.14.17
- **User**: pi
- **Role**: PRIMARY Docker host
- **Docker**: 142 containers
- **Disk**: 44% used (16GB free)
- **RAM**: 8GB
- **Uptime**: 27+ days
---
## Cloud Servers (DigitalOcean)
### codex-infinity
- **Provider**: DigitalOcean
- **Region**: NYC3
- **Public IP**: 159.65.43.12
- **Tailscale**: 100.108.132.8
- **User**: root
- **Specs**: 8GB RAM, 4 vCPU, 80GB disk
- **Disk**: 26% used (58GB free)
- **Uptime**: 28+ days
### shellfish
- **Provider**: DigitalOcean
- **Region**: NYC1
- **Public IP**: 174.138.44.45
- **Tailscale**: 100.94.33.37
- **User**: root
- **Specs**: 1GB RAM, 1 vCPU, 25GB disk
- **Disk**: 52% used (13GB free)
- **Uptime**: 44+ days
---
## Offline/Pending
### anastasia
- **Hardware**: Pironman Pi 5 (needs setup)
- **Expected IP**: 192.168.4.90
- **Status**: Not located
### olympia
- **Hardware**: PiKVM V3 HAT on Pi 4B
- **Hostname**: pikvm.local
- **Status**: Unknown
---
## Fleet Totals
| Metric | Value |
|--------|-------|
| Total Devices | 8 (online) |
| Local Pis | 5 |
| Cloud Servers | 2 |
| AI Accelerators | 2x Hailo-8 |
| Total AI TOPS | 52 |
| Docker Containers | 167 |
| Total RAM | ~35GB |
| Tailscale Nodes | 8/8 connected |

89
HAILO.md Normal file
View File

@@ -0,0 +1,89 @@
# Hailo-8 AI Accelerator Setup
## Overview
Two Pironman Pi 5 units equipped with Hailo-8 M.2 AI accelerators.
| Device | Serial Number | Firmware | TOPS |
|--------|---------------|----------|------|
| octavia | HLLWM2B233704606 | 4.23.0 | 26 |
| cecilia | HLLWM2B233704667 | 4.23.0 | 26 |
**Total AI Compute: 52 TOPS**
## Hailo-8 Specifications
- **Architecture**: HAILO8
- **Part Number**: HM218B1C2FAE
- **Product Name**: HAILO-8 AI ACC M.2 M KEY MODULE EXT TEMP
- **Performance**: 26 TOPS (Tera Operations Per Second)
- **Interface**: M.2 M-Key (PCIe)
## Quick Commands
### Check Hailo Status
```bash
# Identify device
ssh octavia "hailortcli fw-control identify"
# Scan for devices
ssh octavia "hailortcli scan"
# Check device exists
ssh octavia "ls -la /dev/hailo0"
```
### Run Benchmark
```bash
# On cecilia (has sample models)
ssh cecilia "hailortcli benchmark /usr/share/hailo-models/resnet_v1_50_h8l.hef -t 5"
```
### Sample Output
```
Network resnet_v1_50/resnet_v1_50: 100% | FPS: 23.98
```
## Available Models
Located at `/usr/share/hailo-models/` on cecilia:
- `resnet_v1_50_h10.hef`
- `resnet_v1_50_h8l.hef`
- `scrfd_2.5g_h8l.hef`
## Pironman 5 Fan Service
Both units run the Pironman 5 fan control service:
```bash
# Check status
ssh octavia "systemctl status pironman5"
# View settings
ssh octavia "pironman5 --help"
# RGB LED control
ssh octavia "pironman5 -rc '#FF1D6C' -rs solid"
```
## HailoRT Service
The Hailo runtime service runs automatically:
```bash
ssh cecilia "systemctl status hailort"
```
## Use Cases
1. **Real-time Object Detection** - YOLO models at 30+ FPS
2. **Image Classification** - ResNet, MobileNet
3. **Face Detection** - SCRFD models
4. **Edge AI Inference** - Low latency local processing
## Integration Notes
- Both devices have Docker installed for containerized AI workloads
- Cecilia runs Ollama for LLM inference
- NVMe storage available for model caching
- Tailscale mesh enables remote AI inference calls

84
NETWORK.md Normal file
View File

@@ -0,0 +1,84 @@
# BlackRoad Network Map
## IP Address Reference
### Local Network (192.168.4.0/24)
| Device | Local IP | MAC Address | Type |
|--------|----------|-------------|------|
| alexandria (Mac) | 192.168.4.28 | b0:be:83:66:cc:10 | Workstation |
| alice | 192.168.4.49 | d8:3a:dd:ff:98:87 | Pi 4 |
| lucidia | 192.168.4.38 | 2c:cf:67:cf:fa:17 | Pi 4 |
| aria | 192.168.4.82 | 88:a2:9e:d:42:7 | Pi 5 |
| octavia | 192.168.4.81 | 88:a2:9e:10:a:3a | Pi 5 |
| cecilia | 192.168.4.89 | 88:a2:9e:3b:eb:72 | Pi 5 |
### Tailscale Mesh (100.x.x.x)
| Device | Tailscale IP | Status |
|--------|--------------|--------|
| alexandria | 100.91.90.68 | Connected |
| alice | 100.77.210.18 | Connected |
| lucidia | 100.66.235.47 | Connected |
| aria | 100.109.14.17 | Connected |
| octavia | 100.83.149.86 | Connected |
| cecilia | 100.72.180.98 | Connected |
| shellfish | 100.94.33.37 | Connected |
| codex-infinity | 100.108.132.8 | Connected |
### Public IPs (Cloud)
| Device | Public IP | Provider | Region |
|--------|-----------|----------|--------|
| codex-infinity | 159.65.43.12 | DigitalOcean | NYC3 |
| shellfish | 174.138.44.45 | DigitalOcean | NYC1 |
## Network Diagram
```
INTERNET
┌───────────────┴───────────────┐
│ │
┌─────┴─────┐ ┌─────┴─────┐
│ shellfish │ │ codex- │
│ (DO NYC1) │ │ infinity │
│174.138.44.│ │(DO NYC3) │
│ 45 │ │159.65.43. │
└─────┬─────┘ │ 12 │
│ └─────┬─────┘
│ TAILSCALE MESH │
└───────────────┬───────────────┘
┌──────┴──────┐
│ ROUTER │
│192.168.4.1 │
└──────┬──────┘
┌───────────────────┼───────────────────┐
│ │ │
┌────┴────┐ ┌─────┴─────┐ ┌────┴────┐
│alexandria│ │ Pi Rack │ │Pironman │
│ (Mac) │ │ │ │ Rack │
│.28 │ │alice .49 │ │octavia │
└──────────┘ │lucidia.38 │ │ .81 │
│aria .82 │ │cecilia │
└───────────┘ │ .89 │
└─────────┘
```
## Port Assignments
| Port | Service | Device |
|------|---------|--------|
| 22 | SSH | All |
| 3000 | BlackRoad Deploy API | aria |
| 5000 | Control Center | alexandria |
| 8080 | Headscale | alice |
## DNS / Hostnames
All devices are accessible via:
1. **Local hostname**: `ssh alice`, `ssh octavia`, etc.
2. **Tailscale hostname**: `ssh alice-ts`, `ssh octavia-ts` (when remote)
3. **IP address**: Direct connection

50
README.md Normal file
View File

@@ -0,0 +1,50 @@
# BlackRoad Garage
Private infrastructure documentation for the BlackRoad fleet.
## Fleet Overview
```
┌─────────────────────────────────────────────────────────────────────┐
│ BLACKROAD INFRASTRUCTURE │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ 👤 HUMAN IN THE LOOP │
│ └── alexandria (Mac) ─── Control Center │
│ │
│ 🤖 AI COMPUTE (Hailo-8) │
│ ├── octavia (Pi 5) ─── 26 TOPS │
│ └── cecilia (Pi 5) ─── 26 TOPS │
│ │
│ 🖥️ COMPUTE CLUSTER │
│ ├── alice (Pi 4) ─── Headscale mesh server │
│ ├── lucidia (Pi 4) ─── 15 containers │
│ └── aria (Pi 5) ─── 142 containers │
│ │
│ ☁️ CLOUD │
│ ├── codex-infinity (DO) ─── 8GB/4vCPU │
│ └── shellfish (DO) ─── 1GB/1vCPU │
│ │
└─────────────────────────────────────────────────────────────────────┘
```
## Quick Access
```bash
# SSH Commands
ssh alexandria # Your Mac
ssh octavia # AI Node 1 (Hailo-8)
ssh cecilia # AI Node 2 (Hailo-8)
ssh alice # Pi cluster
ssh lucidia # Pi cluster
ssh aria # Pi cluster (142 containers!)
ssh codex-infinity # DigitalOcean
ssh shellfish # DigitalOcean
```
## Documentation
- [Fleet Inventory](./FLEET.md) - Complete device specifications
- [Network Map](./NETWORK.md) - IPs, Tailscale, ports
- [SSH Config](./SSH_CONFIG.md) - SSH configuration reference
- [Hailo Setup](./HAILO.md) - AI accelerator documentation

117
SSH_CONFIG.md Normal file
View File

@@ -0,0 +1,117 @@
# SSH Configuration
## Quick Reference
```bash
# Human
ssh alexandria # Your Mac (control center)
# AI Compute (Hailo-8)
ssh octavia # Pi 5 + Hailo-8 (26 TOPS)
ssh cecilia # Pi 5 + Hailo-8 (26 TOPS)
# Compute Cluster
ssh alice # Pi 4 (Headscale)
ssh lucidia # Pi 4
ssh aria # Pi 5 (142 containers)
# Cloud
ssh codex-infinity # DigitalOcean NYC3
ssh shellfish # DigitalOcean NYC1
# Tailscale (remote access)
ssh alice-ts # Via Tailscale mesh
ssh octavia-ts # Via Tailscale mesh
# etc.
```
## Full SSH Config
Location: `~/.ssh/config`
```
# ===== BLACKROAD PI CLUSTER =====
# Updated 2026-02-09
Host alice
HostName 192.168.4.49
# Tailscale: 100.77.210.18
User pi
IdentityFile ~/.ssh/id_ed25519
StrictHostKeyChecking no
Host lucidia
HostName 192.168.4.38
# Tailscale: 100.66.235.47
User pi
IdentityFile ~/.ssh/br_mesh_ed25519
StrictHostKeyChecking no
Host aria
HostName 192.168.4.82
# Tailscale: 100.109.14.17
User pi
IdentityFile ~/.ssh/br_mesh_ed25519
StrictHostKeyChecking no
Host octavia
HostName 192.168.4.81
# Tailscale: 100.83.149.86
User pi
IdentityFile ~/.ssh/id_ed25519
StrictHostKeyChecking no
Host cecilia
HostName 192.168.4.89
# Tailscale: 100.72.180.98
User cecilia
IdentityFile ~/.ssh/id_ed25519
StrictHostKeyChecking no
# ===== REMOTE SERVERS =====
Host shellfish
HostName 174.138.44.45
# Tailscale: 100.94.33.37
User root
IdentityFile ~/.ssh/id_ed25519
StrictHostKeyChecking no
Host codex-infinity
HostName 159.65.43.12
# Tailscale: 100.108.132.8
User root
StrictHostKeyChecking no
# ===== ALEXANDRIA - HUMAN IN THE LOOP =====
Host alexandria
HostName 192.168.4.28
# Tailscale: 100.91.90.68
User alexa
# ===== TAILSCALE ALIASES =====
Host alice-ts
HostName 100.77.210.18
User pi
Host octavia-ts
HostName 100.83.149.86
User pi
Host cecilia-ts
HostName 100.72.180.98
User cecilia
Host codex-infinity-ts
HostName 100.108.132.8
User root
```
## SSH Keys
| Key File | Used For |
|----------|----------|
| `~/.ssh/id_ed25519` | alice, octavia, cecilia, shellfish |
| `~/.ssh/br_mesh_ed25519` | lucidia, aria, anastasia |