docs: format deployment and Poudriere plans (Sam & Codex)

This commit is contained in:
Sam & Claude 2026-06-04 19:53:27 +02:00
parent 4426776b67
commit 96b52baca5
2 changed files with 36 additions and 25 deletions

View file

@ -11,16 +11,16 @@
## Target machine
| Detail | Value |
|---|---|
| **Make / Model** | HPE ProLiant ML350p Gen8 tower |
| **Serial** | `CZ22160QQY` |
| **Product ID** | `646676-421` |
| **Management** | iLO 4 (firmware 2.76 → needs 2.82 update) |
| **iLO License** | Advanced (remote console + virtual media) |
| **iLO IP** | `10.0.0.2` (dedicated iLO management port) |
| **Server NICs** | 4× onboard GbE (MAC 9c:8e:99:4c:43:e6e9) |
| **Server IP** | DHCP from LAN port 1 (currently no OS booted) |
| Detail | Value |
| ---------------- | -------------------------------------------------- |
| **Make / Model** | HPE ProLiant ML350p Gen8 tower |
| **Serial** | `CZ22160QQY` |
| **Product ID** | `646676-421` |
| **Management** | iLO 4 (firmware 2.76 → needs 2.82 update) |
| **iLO License** | Advanced (remote console + virtual media) |
| **iLO IP** | `10.0.0.2` (dedicated iLO management port) |
| **Server NICs** | 4× onboard GbE (MAC 9c:8e:99:4c:43:e6e9) |
| **Server IP** | DHCP from LAN port 1 (currently no OS booted) |
| **iLO password** | Physical pull-tab tag on chassis (factory default) |
## Network layout (sanitised)
@ -63,6 +63,7 @@ ipmitool -H 10.0.0.2 -U Administrator -P <tag-password> chassis power reset
### Phase 2 — USB live boots on server
Once the ISO boots on the server hardware:
1. Server gets DHCP on its LAN port (visible in ARP)
2. `colibri-daemon` starts, skills catalog loaded
3. `service clawdie health` passes
@ -106,6 +107,7 @@ Target: 2.82 (Aug 2023)
Download: https://support.hpe.com/ → ProLiant ML350p Gen8 → Firmware → iLO 4
**Method A (from USB live):**
```sh
# Upload firmware via iLO REST API
curl -sk -u Administrator:<pw> -X POST \
@ -114,6 +116,7 @@ curl -sk -u Administrator:<pw> -X POST \
```
**Method B (via iLO web UI):**
1. Log into `https://10.0.0.2/`
2. Administration → Firmware → Upload
3. Select `ilo4_282.bin`, apply, iLO reboots (~2 min)
@ -121,6 +124,7 @@ curl -sk -u Administrator:<pw> -X POST \
## System ROM / BIOS
Check version after iLO login:
```sh
curl -sk -u Administrator:<pw> https://10.0.0.2/xmldata?item=all | grep -i rom
```
@ -129,13 +133,13 @@ Likely needs update — Gen8 latest is 2019.05.00 (P79). Check HPE support.
## Required packages on ISO
| Package | Purpose |
|---|---|
| Package | Purpose |
| ---------- | ------------------------------------------------ |
| `ipmitool` | IPMI/BMC management (power, sensors, boot order) |
| `freeipmi` | Alternative IPMI toolset (optional, heavier) |
| `curl` | iLO REST API calls ✅ already included |
| `openssl` | Certificate handling ✅ already included |
| `python3` | Scripting + JSON ✅ already included |
| `freeipmi` | Alternative IPMI toolset (optional, heavier) |
| `curl` | iLO REST API calls ✅ already included |
| `openssl` | Certificate handling ✅ already included |
| `python3` | Scripting + JSON ✅ already included |
## Notes

View file

@ -31,6 +31,7 @@ ml350p build server (Poudriere)
```
Benefits:
- Versioned packages with dependencies
- Clean-room builds (no host contamination)
- `pkg upgrade colibri` on deployed machines
@ -158,6 +159,7 @@ sysutils/colibri/
```
**Makefile** (Rust port pattern):
```makefile
PORTNAME= colibri
PORTVERSION= 0.0.1
@ -205,6 +207,7 @@ service nginx start
### 3.2 Client config
On ISO builds and deployed machines:
```sh
# /usr/local/etc/pkg/repos/clawdie.conf
clawdie: {
@ -223,6 +226,7 @@ pkg -r ${MOUNT_POINT} install colibri
```
This gives us:
- `colibri`
- `colibri-daemon`
- `colibri-tui`
@ -270,6 +274,7 @@ zfs create zroot/bhyve/freebsd-test
### 6.4 Test VMs
**FreeBSD ISO test VM** (boots clawdie-iso after each build):
```sh
vm create -t freebsd iso-test
vm install iso-test clawdie-iso.iso
@ -278,12 +283,14 @@ vm start iso-test
```
**Linux cross-compile test VM** (validates non-FreeBSD targets):
```sh
vm create -t linux linux-test
# → test colibri builds on Linux target
```
**FreeBSD Poudriere test jail VM** (full pkg build validation):
```sh
vm create -t freebsd freebsd-test
# → clone poudriere setup, run bulk build as validation
@ -301,15 +308,15 @@ vm-bhyve
## Timeline
| Step | Effort | Depends on |
|---|---|---|
| 1. Server provision (ZFS, base system) | ~1h | iLO password, ISO boots |
| 2. Poudriere setup | ~30m | base system running |
| 3. colibri port creation | ~1h | Poudriere running |
| 4. First pkg build | ~30m (compile) | port ready |
| 5. pkg repo + nginx | ~15m | packages built |
| 6. ISO integration | ~15m | repo hosted |
| 7. bhyve + test VMs | ~30m | base system + ZFS |
| Step | Effort | Depends on |
| -------------------------------------- | -------------- | ----------------------- |
| 1. Server provision (ZFS, base system) | ~1h | iLO password, ISO boots |
| 2. Poudriere setup | ~30m | base system running |
| 3. colibri port creation | ~1h | Poudriere running |
| 4. First pkg build | ~30m (compile) | port ready |
| 5. pkg repo + nginx | ~15m | packages built |
| 6. ISO integration | ~15m | repo hosted |
| 7. bhyve + test VMs | ~30m | base system + ZFS |
**Total: ~4h** once iLO password is available.