mirror of
https://github.com/blackboxprogramming/blackroad-garage.git
synced 2026-03-18 00:04:03 -05:00
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:
137
FLEET.md
Normal file
137
FLEET.md
Normal 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
89
HAILO.md
Normal 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
84
NETWORK.md
Normal 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
50
README.md
Normal 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
117
SSH_CONFIG.md
Normal 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 |
|
||||||
Reference in New Issue
Block a user