servers: register nh3-extdev (sudo-less infra-ops manager box)
NH3 manager/external-dev box at 10.100.50.42 (Debian 13 VM on nh3-pve),
successor to the retired nh3-ansible. infra-ops identity here is sudo-LESS
by operator decision (2026-06-17): key-only, no NOPASSWD, not in docker
group — user-level management only. Adds servers/nh3-extdev/{README,
ssh-target,system-details.txt}, the CLAUDE.md inventory row, and a local
ssh alias (nh3-extdev -> infra-ops@10.100.50.42, infra-ops key). Login +
sudo-less posture verified.
This commit is contained in:
@@ -105,6 +105,7 @@ Observed and standardized across servers:
|
||||
| corviduo-dev | 10.250.50.152 | Anaheim | **Worldtree-team dev VM (PFI-hosted)** — runs the demo + personal + pinned Worldtree deployments vor/asset-engine talk to | `servers/corviduo-dev/README.md` |
|
||||
| nh3-docker | 10.100.50.40 | NH3 (`10.100.0.0/16`) | General-purpose Docker host (non-GPU VM on nh3-pve) | `servers/nh3-docker/README.md` |
|
||||
| nh3-dev | 10.100.10.50 | NH3 | Dev box — fleet sidecars (egress SOCKS5 proxy, ttyd seat, mead-hall, volva) + live Claude Code sessions; not a Docker-stack host | `servers/nh3-dev/README.md` |
|
||||
| nh3-extdev | 10.100.50.42 | NH3 | Manager / external-dev box (VM on nh3-pve, Debian 13); **sudo-less** infra-ops identity (user-level only, no Docker); successor to retired nh3-ansible | `servers/nh3-extdev/README.md` |
|
||||
| nh3-pve | 10.100.250.60 | NH3 | Proxmox VE hypervisor | `servers/nh3-pve/README.md` |
|
||||
| nh3-nas | 10.100.50.50 | NH3 | Synology RS2418+ — NFS exports, rest-server-nh3, PBS-NH3 datastore backend | `servers/nh3-nas/README.md` |
|
||||
| pbs-nh3 | 10.100.50.90 | NH3 | Proxmox Backup Server — DR mirror (VM on nh3-pve, NFS datastore on nh3-nas); syncs from pbs-ana | `servers/pbs-nh3/README.md` |
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
# nh3-extdev
|
||||
|
||||
NH3-site **manager / external-dev box** — `10.100.50.42`. Fresh Debian 13
|
||||
(trixie) VM on `nh3-pve` (QEMU: 8 vCPU / 7.8 GB / 250 GB, no GPU). Successor to
|
||||
the retired **nh3-ansible**. Not a Docker-stack host (Docker not installed).
|
||||
|
||||
**Reach:** the dedicated agent identity only —
|
||||
`ssh nh3-extdev` (alias) = `ssh -i ~/.ssh/infra-ops_ed25519 infra-ops@10.100.50.42`.
|
||||
|
||||
The `infra-ops` user here is **sudo-LESS by design** (operator decision
|
||||
2026-06-17): key-only login, password locked, **no NOPASSWD sudo**, **not** in the
|
||||
`docker` group — deliberately tighter than the rest of the fleet's infra-ops
|
||||
identity ([`reference_infra_ops_sudo_identity`] in auto-memory, which is the
|
||||
*sudo* variant). Management here is **user-level only**: files/repos/tooling under
|
||||
the home dir, `systemctl --user`, world-readable system state. No root ops (apt,
|
||||
system services, `/etc`, root-owned files) and **no Docker** unless a later,
|
||||
explicit grant is made (command-scoped sudoers preferred over docker-group, which
|
||||
is root-equivalent).
|
||||
|
||||
## Purpose
|
||||
|
||||
NH3 manager / external-dev box; role being established (2026-06-17). Successor to
|
||||
the retired `nh3-ansible`.
|
||||
<!-- Refine once the workload is settled — e.g. if this becomes the pi/GLM
|
||||
client-agent control node, document the per-client workspace layout here. -->
|
||||
|
||||
## Notes
|
||||
|
||||
- Debian **13** (trixie) — newer than the fleet's Debian-12 baseline; watch for
|
||||
package/behaviour drift vs other hosts.
|
||||
- `sudo` warns `unable to resolve host nh3-extdev` (hostname not in `/etc/hosts`)
|
||||
— cosmetic; add `127.0.1.1 nh3-extdev` to `/etc/hosts` (needs root) to silence.
|
||||
- Stood up 2026-06-17; first `system-details.txt` captured the same day (sudo-less,
|
||||
so docker/root-only sections are necessarily blank).
|
||||
@@ -0,0 +1 @@
|
||||
infra-ops@10.100.50.42
|
||||
@@ -0,0 +1,74 @@
|
||||
|
||||
===== HOST =====
|
||||
|
||||
Hostname: nh3-extdev
|
||||
Date: 2026-06-17T14:55:16-07:00
|
||||
Uptime: up 16 minutes
|
||||
OS: Debian GNU/Linux 13 (trixie)
|
||||
Kernel: 6.12.90+deb13.1-amd64
|
||||
Arch: x86_64
|
||||
|
||||
===== HARDWARE =====
|
||||
|
||||
CPU cores: 8
|
||||
CPU model: QEMU Virtual CPU version 2.5+
|
||||
MemTotal: 7.8 GB
|
||||
MemAvailable: 7.4 GB
|
||||
|
||||
===== GPUS =====
|
||||
|
||||
nvidia-smi not present (no NVIDIA GPUs or driver not installed)
|
||||
|
||||
===== FILESYSTEMS (df) =====
|
||||
|
||||
Filesystem Size Used Avail Use% Mounted on
|
||||
/dev/sda1 250G 3.2G 235G 2% /
|
||||
|
||||
===== PERSISTENT MOUNTS (/etc/fstab, non-comment) =====
|
||||
|
||||
UUID=fabc36b3-459e-4ef1-80a6-8a0f85a1a781 / ext4 errors=remount-ro 0 1
|
||||
UUID=bf3fd6d0-4537-4626-bdcc-551c5603ab98 none swap sw 0 0
|
||||
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
|
||||
|
||||
===== TARGETED DATA PATHS =====
|
||||
|
||||
/opt (total: 4.0K)
|
||||
total 8
|
||||
drwxr-xr-x 2 root root 4096 2024-05-30 19:51 .
|
||||
drwxr-xr-x 18 root root 4096 2026-06-17 14:37 ..
|
||||
|
||||
/srv (total: 4.0K)
|
||||
total 8
|
||||
drwxr-xr-x 2 root root 4096 2024-05-30 19:51 .
|
||||
drwxr-xr-x 18 root root 4096 2026-06-17 14:37 ..
|
||||
|
||||
|
||||
===== DOCKER =====
|
||||
|
||||
docker not installed
|
||||
|
||||
===== COMPOSE FILES (/opt/docker/compose/) =====
|
||||
|
||||
/opt/docker/compose not present
|
||||
|
||||
===== CONFIG LAYOUT (/opt/docker/conf/ — top 200 entries) =====
|
||||
|
||||
/opt/docker/conf not present
|
||||
|
||||
===== LISTENING PORTS =====
|
||||
|
||||
0.0.0.0:22
|
||||
[::1]:25
|
||||
127.0.0.1:25
|
||||
[::]:22
|
||||
|
||||
===== MODEL / HUGGINGFACE CACHES =====
|
||||
|
||||
|
||||
===== DOCKER-ADJACENT SYSTEMD SERVICES =====
|
||||
|
||||
(none matching)
|
||||
|
||||
===== DONE =====
|
||||
|
||||
Paste the above back into the chat, or pass a path as argv[1] to save.
|
||||
Reference in New Issue
Block a user