Files

6.3 KiB
Executable File

TODO

Infrastructure

cumulonimbus bare-metal cut-over

All clan services are configured. Remaining: wipe Proxmox, install NixOS, import deluge-01 ZFS pool.

rpool issue: 860 QVO caused I/O-stall reboots (detached 2026-07-22). rpool is single-disk on 870 EVO. Need a second healthy TLC/NVMe for a bootable mirror.

  • Remove stale Proxmox PBS storage lenticularis2 (pvesm remove lenticularis2)
  • Revise machines/cumulonimbus/disko.nix for single-disk or new-mirror rpool
  • Install NixOS via clan installer
  • Verify boot.zfs.extraPools = [ "deluge-01" ] imports pool on boot
  • Retarget pixelfed instance from mist to cumulonimbus
  • Full clan machines update cumulonimbus

Nix binary cache on lenticularis

garnix is shutting down. Stand up lenticularis as a durable binary cache.

  • Add lenticularis as @DavHau/nix-cache harmonia server
  • nix.settings.post-build-hook on arcus: nix copy --to ssh-ng://lenticularis
  • Ensure served /nix store lives on the NAS array, not boot media

Monitoring & observability

clan-core monitoring (Mimir/Loki/Grafana)

Instance created, pending deploy.

  • clan machines update fleet-wide to deploy Alloy clients + cumulonimbus server
  • Verify Grafana dashboards at http://cumulonimbus.clouds.eyduh/grafana/
  • Add grafana.clouds.eyduh as a clean mesh DNS alias (pending clan-ingress)

Monitor bot on cirrus

Single omp bot with fleet-wide visibility via Mimir/Loki APIs.

  • Create @eyduh/omp#monitor instance on cirrus with cloud model
  • Write MCP tools for PromQL/LogQL queries
  • SKILL.md describing all clan machines and their services

omp clanService

Mnemopi / Hindsight

The __omp_worker_mnemopi_embed process runs ONNX on CPU (~97% CPU, 1.1GB). omp has native Hindsight support in /settings.

  • Deploy Hindsight on cirrus or cumulonimbus (Postgres + Ollama cloud backend)
  • Write @eyduh/hindsight clanService
  • Switch omp to Hindsight, verify mnemopi embedder stops spawning
  • Test cross-agent memory sharing

clan-rag as MCP

Eliminate corpus role, use clan-rag-mcp as an omp extension.

  • Wire clan-rag-mcp as an extension on the dev bot
  • Verify RAG queries work from within omp

NPU contention

Multiple containers compete for the NPU. Only matters when running multiple local-inference bots on arcus.

  • Investigate: does lemonade HTTP server queue requests or spawn multiple flm processes?
  • Only one local-inference consumer at a time (clan-rag gets the NPU, omp uses cloud)

Module improvements

  • Auto-suffix instance names for tagged deploys (unique Matrix users per machine)
  • Model profile presets (cloud-ollama, local-npu, etc.)
  • Machine role SKILL.md auto-generation from config

Reverse proxy revamp — @eyduh/clan-ingress

Phase A: Mesh ingress (Caddy)

  • New @eyduh/clan-ingress clanService with Caddy on every server/desktop
  • manualProxies option for services that don't export virtualHosts
  • Auto dm-dns entries for clean mesh DNS names
  • @clan/pki certs for mesh TLS

Phase B: Per-service visibility + auth

  • visibility = "public" | "internal" | "both" on exports
  • auth.groups auto-generates Caddy forward_auth + Authelia access rules

Phase C: Public edge migration

  • Caddy public edge on cirrus (replaces nginx proxy)
  • Port Njalla DDNS logic
  • Migrate public virtualHosts from nginx to Caddy

New clanServices

  • @eyduh/headscale — self-hosted Tailscale control server
  • @eyduh/hindsight — Hindsight agent memory server
  • mumble — server + client roles
  • dashy — dashboard (scope TBD: local, remote, or both)

Existing services to finish

  • formbricks — module stubbed, finish and re-enable
  • pixelfed — check secretFile wiring via clan vars
  • syncthing — replace imperative setup with proper clan module
  • hydroxide — write systemd service, promote to clan service
  • searx — add server role (clan-wide), client role (DNS + browser homepage)
  • continuwuity — re-enable bootstrap user creation once admin API wrapper is rewritten
  • blocky — uncomment in imports, set schedule, point router DNS at mist
  • creative-studio — convert to @eyduh/creative-studio clan service with potato/beast roles
  • seerr — API key via clan vars (see inline TODO in arr/default.nix)
  • nextcloud — Photos/Memories app config (go-vod/ffmpeg, VAAPI)

Hardware / bugs

arcus brightness bug

nixos-hardware Framework 16 AI 300 profile causes 100% brightness to be dimmer than lower values.

  • Check /sys/class/backlight/ for competing backlight devices
  • Check KDE ambient light sensor setting
  • Isolate: amdgpu.abmlevel=0, amdgpu.sg_display=0, or cros_ec modules
  • Write kernel patch for DC PWM expansion curve overflow (see machines/arcus/power.nix)

Proton Drive shift-click

  • Investigate: JS event handling, Firefox update, or Proton Drive change

Jetson Nano 2GB — visual dashboard monitor (future)

Stripped JetPack 4.6 image via defunctzombie/jetson-nano-image-maker. SSIM diff + MobileNetV2 TensorRT classifier. Pulls Grafana screenshots over Tailscale.

  • Fork image-maker, add Tailscale + monitoring agent
  • Train MobileNetV2 dashboard classifier
  • Flash and test

Post-Anthropic model allocation (in ~2 weeks)

Role Machine Provider Model
dev (main) arcus ollama-cloud kimi-k3:cloud or qwen3-coder:480b-cloud
dev (smol) arcus ollama-cloud kimi-k2.7-code:cloud
monitor cirrus ollama-cloud kimi-k2.7-code:cloud
clan-rag arcus lemonade (NPU) qwen3.6-moe-35b-a3b-FLM

Open questions

  1. Ollama cloud model limits — rate limit or hard cap? Does smol + main count as 2 of 3?
  2. Mnemopi vs Hindsight — does switching in /settings auto-disable the embedder?
  3. clan-rag MCP — does clan-rag-mcp work directly as an omp extension?
  4. Hindsight + Ollama cloud — does Hindsight's Ollama provider work with remote-model proxying?
  5. data-mesher — check why failing (noted in old TODO)
  6. Authelia email — confirm eyduh@adastra.boo, expand groups from keycloak dump