Commit Graph
70 Commits
Author SHA1 Message Date
kyle 62e57955eb straylight: persist Tailscale HTTPS for llama-server
OpenCode talks to https://straylight.scylla-hammerhead.ts.net/v1, which is
Tailscale Serve on :443 proxying localhost:11434. Re-apply the serve
config on a timer so  cannot leave the API dark.
2026-09-16 13:18:09 -07:00
kyle 1e94e6638e straylight: local Whisper ASR and Qwen3.8-Flash-Next uncensored
whisper.cpp large-v3-turbo on :11435 (CPU, OpenAI transcriptions path)
so ASR does not take GTT from llama-server. Flash-Next is the cygnal
IQ4_XS-NGQ4 GGUF (~98 GB, gfx1151), qwen4exp, mmproj pinned; unload
Laguna before loading.
2026-09-16 07:18:28 -07:00
kyle 927eff0c98 straylight: treat Ornith 1.5 9B as a VLM
Loaded instance reports image input; llama.cpp attaches mmproj-Q8_0
from the HF cache. Mark it vision in OpenCode and drop the old
text-only comment.
2026-09-16 06:41:01 -07:00
kyle 56b233afb6 straylight: add Qwen3-VL-8B abliterated as the small VLM
Ornith 1.5 9B is a dense text model, not vision. Replace that role with
prithivMLmods Qwen3-VL-8B Instruct abliterated v2 (mradermacher Q4_K_M)
and pin mmproj-url so router mode actually loads the projector.
2026-09-16 06:03:51 -07:00
kyle 85d216fce3 straylight: add Ornith 1.5 35B-A3B MoE to llama-server
Official ornith-ai Q4_K_M GGUF (~22 GB). Multimodal 35B MoE with ~3B
active; llama-server fetches weights and mmproj on first load.
2026-09-16 05:56:27 -07:00
kyle 5a734118b0 straylight: add Ornith 1.5 9B uncensored to llama-server
mradermacher Q4_K_M of junafinity/Ornith-1.5-9B-uncensored. Multimodal
9B; llama-server fetches weights and mmproj on first load.
2026-09-16 05:53:31 -07:00
kyle c03dbd0a51 straylight: add Qwen 3.8 27B uncensored to llama-server
huihui Q4_K_L of Qwen3.8-27B (orcarouter GGUF is gated). Dense 27B
coding agent, loaded on demand like Ornith.
2026-09-16 00:40:47 -07:00
kyle 7b3af4cb13 straylight: expose llama-server on the tailnet
Bind 0.0.0.0 and open 11434 on tailscale0 only, so localhost and
other tailnet machines can reach the OpenAI-compatible API. LAN
stays closed. rebuild-nixos deploys committed master, not the
working tree.
2026-09-15 23:57:23 -07:00
kyle 35f8d81ab6 models update 2026-09-15 21:03:01 -07:00
kyleandClaude Fable 5.1 1714600aab straylight: llama-server router mode on llama.cpp 0.4.0
Drop the b9828 source pin and take llama.cpp from a refreshed
nixpkgs-unstable (0.4.0), which supports the Laguna and Gemma 4
architectures. Run llama-server in router mode with a preset file:
abliterated Qwen3.6-35B-A3B and Gemma 4 26B-A4B for benchmarking,
Poolside Laguna S 2.1 as the primary coding agent, and Ornith kept for
comparison. At most two models stay resident; idle models unload after
six hours. Add llama-models and llama-unload helper commands.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-15 19:54:51 -07:00
kyleandClaude Fable 5.1 ec1e2efbba straylight: raise the GPU memory ceiling to 104 GiB
The TTM default caps GTT at half of RAM (~62 GiB), which is too small for
the 118B-parameter model straylight will serve. Set ttm.pages_limit and
ttm.page_pool_size to 27262976 pages (104 GiB); takes effect on reboot.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-15 19:54:51 -07:00
kyleandClaude Fable 5.1 ac7a0b20fe straylight: add herdr
Pin herdr v0.9.0 from the upstream flake (nixpkgs-unstable only has
0.7.1) and install it on straylight to host coding-agent terminals.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-15 17:41:39 -07:00
kyle 5da03f8ba4 protontricks 2026-07-26 19:04:51 -07:00
kyle 28ede0cd3e Cleanups 2026-07-08 02:42:38 -07:00
kyle a7095408cd Add fido2 instructions. 2026-07-08 01:09:47 -07:00
kyleandClaude Sonnet 5 467eb1b60d enable steam on straylight
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-05 21:55:05 -07:00
kyle d3954901a1 enable bluez on straylight 2026-06-30 10:24:40 -07:00
kyle 5ea4890313 try switching from ollama to llama.cpp 2026-06-27 23:02:39 -07:00
kyleandClaude Sonnet 4.6 1df8e46bcf straylight: add open-webui with Ollama and RAG
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-06-25 11:10:51 -07:00
kyle db96bd1ac7 dedicated ollama user/group 2026-06-24 14:04:09 -07:00
kyle 6ff6c997fd ollama -> vulkan 2026-06-24 11:23:23 -07:00
Kyle IsomandClaude Opus 4.8 86c7afa080 straylight: KillMode=process for mcp-agent so unikernel VMs survive restarts
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 12:59:50 -07:00
Kyle IsomandClaude Opus 4.8 92b39fc031 straylight: add isolated mcp-br0 bridge for unikernel VMs
Host-only 10.99.0.0/24 bridge with no uplink/NAT; firewall drops VM
traffic leaving the bridge so unikernel VMs can reach only the gateway
(mc-proxy). Implements Phase 2 mandatory-mediation networking.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 01:04:57 -07:00
Kyle IsomandClaude Opus 4.8 5ffe206f72 straylight: grant mcp-agent KVM + tun access for unikernels
Override the shared mcp.nix sandbox (PrivateDevices) on straylight so the
MCP agent can boot Nanos unikernel VMs under QEMU/KVM and manage TAP
devices for isolated networking.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 00:47:17 -07:00
Kyle IsomandClaude Opus 4.8 f2a76df239 straylight: enable MCP agent (becoming core host)
Add configs/mcp.nix (mcp user UID 850 + mcp-agent service) and open
firewall ports for DNS/mc-proxy/agent/master as straylight takes over
the master + MCIAS + MCNS core role from rift.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 17:12:47 -07:00
kyleandClaude Opus 4.6 768e9a61dc Add svc host: NixOS config for TornadoVPS edge node
BIOS boot with GRUB on /dev/xvda, MCP agent via systemd,
mc-proxy and MCNS as containers via MCP agent.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:21:01 -07:00
kyleandClaude Opus 4.6 6fd8ab61ed Fix orion build: remove nonexistent "crypted" LUKS device reference
The LUKS device is named "luks-5c5e94fc-..." in hardware-configuration.nix
which already has the FIDO2 options. The "crypted" reference caused a build
error. Also fix duplicate attribute definitions and unnecessary config wrapper.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:30:04 -07:00
kyleandClaude Opus 4.6 3be5613120 Fix deprecated NixOS options for 25.11
- Use nixpkgs.hostPlatform module instead of deprecated system arg to lib.nixosSystem
- Rename services.logind.powerKey to services.logind.settings.Login.HandlePowerKey

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 09:53:25 -07:00
kyleandClaude Opus 4.6 5d82e27ba4 Add fallback DNS resolvers to all nodes
All nodes now list 1.1.1.1 and 8.8.8.8 as fallback nameservers after
MCNS. When MCNS is down, internal names (.svc.mcp.metacircular.net)
fail but external DNS (google.com, github.com, etc.) keeps working.

Lesson from 2026-04-03 incident: without fallbacks, MCNS failure
caused total DNS blackout including external services, forcing
Tailscale to be disabled to restore any DNS resolution.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 09:30:09 -07:00
kyleandClaude Opus 4.6 755450e72e fix orion: remove bogus "crypted" LUKS device reference
The FIDO2 crypttab options are already on the correct UUID-named device
in hardware-configuration.nix; the "crypted" name only applies to
disko-provisioned hosts (rift).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 01:00:19 -07:00
kyleandClaude Opus 4.6 5fd00af73c fix orion: remove duplicate top-level networking/services attrs
The module used explicit `config = { ... }` but also had duplicate
networking.nameservers and services.resolved.domains at the top level,
causing a NixOS module evaluation error. Merged the Tailscale nameserver
into the config block and removed the duplicates.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 00:03:58 -07:00
kyleandClaude Opus 4.6 453947ac7b fix straylight /home LUKS: use initrd instead of crypttab
Replace fragile environment.etc.crypttab.text with
boot.initrd.luks.devices for the second SSD, matching
the pattern used for the root drive.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 00:12:14 -07:00
kyle a8e43936cf pass #2
following random blogs doesn't always work
2026-04-01 23:53:00 -07:00
kyle 0e9f6d890e straylight hardware 2026-04-01 20:32:08 -07:00
kyle 0f1f0dcc78 Adding straylight. 2026-04-01 12:39:44 -07:00
kyle c26f5b9a87 ignore power key on vade 2026-03-30 13:04:53 -07:00
kyleandClaude Opus 4.6 a1c59deb0b Disable Tailscale DNS management on vade to fix DNS timeout
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 21:54:00 -07:00
kyle c0d16c97e0 revert dns bugs 2026-03-26 21:38:05 -07:00
kyleandClaude Opus 4.6 8c9d8f4ff5 Fix DNS: restore Tailscale catch-all removal service
The previous commit removed the systemd service that stripped Tailscale's
~. DNS catch-all, breaking all DNS resolution — even when Tailscale is
disconnected. Restore it as fix-tailscale-dns, which restricts tailscale0
to only route ~scylla-hammerhead.ts.net queries.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 21:32:15 -07:00
kyle 0e54bd5fe7 Use /etc/hosts for internal Metacircular names (Tailscale DNS workaround) 2026-03-26 15:41:30 -07:00
kyle ad3b6b949b Fix: add pkgs to vade module arguments 2026-03-26 15:37:53 -07:00
kyle c8b271d6b9 Fix DNS routing: override Tailscale catch-all for mcp.metacircular.net 2026-03-26 15:35:47 -07:00
kyle 276cfc48a9 Add mcp system user for MCP agent 2026-03-26 13:01:33 -07:00
kyleandClaude Opus 4.6 170c4ab67d orion: route mcp.metacircular.net zone to rift via resolved
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 09:04:37 -07:00
kyle 0d1fe5536f Enable fido2 luks on orion/rift. 2026-03-26 08:56:02 -07:00
kyle 7be8a4c5e6 orion/rift -> systemd initrd
Allows for FIDO2 LUKS unlock.
2026-03-26 08:48:53 -07:00
kyle 56621710dd update rift dns resolver 2026-03-25 22:51:34 -07:00
kyleandClaude Opus 4.6 71702dfb06 Add metacircular control programs to rift, orion, and vade
Install mciasctl, mciasgrpcctl, mcrctl, and mcproxyctl via new
configs/mcpkg.nix module. Adds flake inputs for mcias, mcr, and
mc-proxy from git.wntrmute.dev.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 21:11:25 -07:00
kyleandClaude Opus 4.6 a09dd925ac rift: open firewall for mc-proxy (443, 8443, 9443) and exod (8080, 9090)
Remove implicit reliance on temp iptables rules. All externally
accessible ports are now declared in NixOS config.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 19:51:38 -07:00
kyleandClaude Opus 4.6 73be02eaae vade: route mcp.metacircular.net zone to rift via resolved
Link-level DNS from DHCP and Tailscale takes priority over global
nameservers in systemd-resolved. Use domain routing (~mcp.metacircular.net)
so resolved sends only internal zone queries to rift's CoreDNS.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 19:22:35 -07:00