Host Inventory: Arch Box

host-inventory-archbox Doc

active inventory

Host Inventory: Arch Box

Audited 2026-02-27. This is the complete state of the host machine before SaltStack management. Salt Phase 2 will codify this as states — if reality doesn't match this doc, something drifted.

Hardware

Component Detail
CPU Intel Core i7-8700K @ 3.70GHz — 12 threads (6 cores HT)
RAM 125Gi total, ~11Gi used, ~114Gi available (no swap)
GPU NVIDIA GeForce GTX 1070, 8192 MiB VRAM, Driver 580.126.09, CUDA 13.0
Storage 1.8TB NVMe (ext4), 250G used (15%). 1GB EFI boot partition (vfat).
Network Intel e1000e (eno2, currently DOWN), Intel WiFi (wlp3s0, 10.0.0.217/24)

OS & Kernel

Property Value
OS Arch Linux (rolling)
Kernel 6.18.9-arch1-2 (SMP PREEMPT_DYNAMIC)
Python 3.14.3 (system), 3.12.12 (python312 package — useful for Salt compatibility)
Hostname archbox

User & Groups

Filesystem

Network Interfaces

Interface Address State Purpose
lo 127.0.0.1/8 UP Loopback
eno2 DOWN Wired ethernet (unused)
wlp3s0 10.0.0.217/24 UP WiFi — primary LAN connection (DHCP)
wlo1 DOWN Secondary WiFi adapter (unused)
tailscale0 100.110.151.59/32 UP Tailscale overlay — all service ingress
docker0 172.17.0.1/16 DOWN Docker bridge (unused, docker installed but idle)
flannel.1 10.42.0.0/32 UP k3s pod CIDR overlay
cni0 10.42.0.1/24 UP k3s CNI bridge — ~40 veth pairs attached (pods)
Default route: 10.0.0.1 via wlp3s0 (WiFi)

Listening Ports

Port Interface Service Security Note
22 0.0.0.0 + [::] sshd Open to all interfaces — should restrict to Tailscale + LAN
443 100.110.151.59 (Tailscale) Tailscale funnel proxy OK — Tailscale only
8443 100.110.151.59 (Tailscale) Tailscale funnel proxy OK — Tailscale only
6443 * (all interfaces) k8s API server EXPOSED — reachable from LAN. Should restrict to localhost + Tailscale
6444 127.0.0.1 k3s internal OK — localhost only
9100 * (all interfaces) node-exporter EXPOSED — Prometheus metrics on LAN
10250 * (all interfaces) kubelet EXPOSED — kubelet API on LAN
11434 * (all interfaces) Ollama EXPOSED — LLM inference API on LAN (OLLAMA_HOST=0.0.0.0)
10248-10259 127.0.0.1 k3s internal (kubelet, kube-proxy, etc.) OK — localhost only
40391 127.0.0.1 k3s internal OK — localhost only
51905 100.110.151.59 Tailscale OK — Tailscale only

Firewall

Kernel Modules (notable)

Module Purpose Loaded by
nvidia, nvidia_drm, nvidia_uvm, nvidia_modeset GPU driver + container runtime System (DKMS)
uinput Virtual input devices (Sunshine game streaming) Palworld/streaming setup
xpad Xbox controller driver Palworld/streaming setup
overlay Container filesystem overlay k3s (ExecStartPre)
br_netfilter Bridge netfilter (k8s networking) k3s (ExecStartPre)
nf_tables, nft_chain_nat, nft_compat nftables framework Kernel (available for firewall)
ip_tables, iptable_filter, iptable_nat, iptable_mangle iptables (k3s kube-router) k3s/kube-router
vxlan VXLAN tunnel (flannel networking) k3s/flannel
bluetooth, btusb, iwlmvm, iwlwifi Bluetooth + WiFi Hardware
kvm, kvm_intel Virtualization Kernel (available)
tun TUN/TAP (Tailscale) Tailscale
snd_* (many) Audio subsystem (HDA Intel + HDMI) Hardware

Running Services

Service Purpose Note
k3s.service Kubernetes cluster Custom unit in /etc/systemd/system/, --disable=traefik
tailscaled.service Tailscale agent System package
containerd.service Container runtime For Docker (k3s has its own embedded containerd)
docker.service Docker engine Installed but not used for k3s — legacy/build tool
ollama.service LLM inference Custom unit + override (OLLAMA_HOST=0.0.0.0, models at /var/lib/ollama)
sshd.service SSH server PermitRootLogin yes — should harden
NetworkManager.service Network management Manages WiFi connection
dbus-broker.service D-Bus message bus System service
wpa_supplicant.service WiFi authentication Used by NetworkManager
systemd-journald/logind/udevd/userdbd Core systemd services Standard
getty@tty1, getty@tty2 Console logins Standard — tty2 used for local Xorg
dirmngr@etc-pacman.d-gnupg GnuPG network cert management For pacman signature verification

Systemd Overrides

Unit Type Detail
k3s.service Custom unit /etc/systemd/system/k3s.service — installed by k3s installer, --disable=traefik
ollama.service Custom unit + drop-in override.conf sets OLLAMA_MODELS=/var/lib/ollama
NM-dispatcher Symlink Standard NetworkManager alias

k3s Configuration

NVIDIA Container Runtime

SSH Configuration

Tailscale

Explicitly Installed Packages (pacman -Qe)

63 packages total. Grouped by purpose:

Base System

base, base-devel, linux, linux-firmware, linux-headers, grub, efibootmgr, sudo, openssh, networkmanager, dhcpcd, cups

GPU / NVIDIA

nvidia-580xx-dkms, nvidia-container-toolkit, opencl-nvidia-580xx, cuda, nvtop

Containers / Kubernetes

docker, docker-buildx, docker-compose, nerdctl, kubectl, helm, skopeo, opentofu

Tailscale

tailscale

CLI / Dev Tools

git, github-cli, neovim-nightly-bin, vim, tmux-git, bat, btop, eza, fd, ripgrep, zoxide, atuin, zsh-git, paru, pacman-contrib, tree-sitter-cli, unzip, xclip, sshpass

Languages / Runtimes

python (3.14), python-pip, python-pipx, python312 (3.12), nodejs (25.6), npm, rust, aws-cli-v2

Desktop / Streaming (Palworld)

xorg-server, xorg-server-xvfb, xorg-xinit, xorg-xrandr, xorg-xset, dwm, moonlight-qt, alsa-lib, usbutils

Networking

ngrok

AI/LLM

Ollama installed at /usr/local/bin/ollama (not via pacman — custom service unit). Listening on 0.0.0.0:11434.

Security Findings

  • No firewall. nft returns empty. iptables chains from kube-router exist but no host-level inbound filtering.
  • k8s API (6443) on all interfaces. Reachable from LAN.
  • kubelet (10250) on all interfaces. Reachable from LAN.
  • node-exporter (9100) on all interfaces. Prometheus metrics exposed to LAN.
  • Ollama (11434) on all interfaces. LLM inference API exposed to LAN.
  • SSH allows root login. PermitRootLogin yes, no key-only enforcement.
  • Secrets in plaintext. ~/secrets/ directory with unencrypted env files.
  • plan-2026-02-26-salt-host-management — Phase 2 will codify this inventory as Salt states
  • plan-2026-02-26-network-security-hardening — addresses the security findings above
  • project-pal-e-platform — parent project page