The orchestrator's flake now builds the machine it shares with the cc-ci CI
server: `nixosConfigurations.cc-ci` composes cc-ci's nixosModules.cc-ci-server
(new flake input, nixpkgs + sops-nix follow ours), this repo's orchestrator
module (nix/modules/cc-ci.nix, exported as cc-ci-orchestrator, `cc-ci` kept
as an alias for notplants-nix) and the new nix/modules/orchestrator-host.nix
— the host contract those units always assumed (loops user, claude/opencode
CLIs, opencode web server + tailnet-only UI on 8443 since traefik owns
80/443, nix-ld, tool set, `ssh cc-ci` → loopback).
nix/hosts/cc-ci/{hardware,networking}.nix are PROVISIONAL copies of the old
server's layout so the flake evaluates; they get replaced by the
nixos-infect output of 195.201.88.249.
README.md is the deploy guide (Hetzner Debian → nixos-infect → this flake →
staging → data restore → cutover). archive/ holds the retired Incus/Hetzner
orchestrator host configs, the old terraform and the migration plans;
references updated. cc-ci-plan/plan-cc-ci-combined-host.md is the working
plan for the move.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FqkQq3CDmFWcQ7u1LzoyRz
28 lines
1.5 KiB
Markdown
28 lines
1.5 KiB
Markdown
---
|
|
name: orchestrator-host-hetzner
|
|
description: The cc-ci orchestrator runs on a Hetzner cpx22; key host facts + the git-identity gotcha
|
|
metadata:
|
|
node_type: memory
|
|
type: project
|
|
originSessionId: cd772f12-1978-47c3-894b-0ebbe0d2987f
|
|
---
|
|
|
|
The cc-ci orchestrator (loops + watchdog + this session) runs on a **Hetzner cpx22** as of
|
|
2026-05-31, replacing the Incus VM (100.116.55.106).
|
|
|
|
- Since 2026-09-07: ONE Hetzner host for CI server + orchestrator, public **195.201.88.249**,
|
|
tailnet **cc-ci**, flake host **`.#cc-ci`** (this repo). Before: orchestrator on Hetzner
|
|
134487234 (168.119.126.100 / 100.84.190.30, `cc-ci-orchestrator-hetzner`), shared with notplants.
|
|
- Rebuild: `sudo nixos-rebuild switch --flake .#cc-ci` from `/srv/cc-ci-orch`
|
|
(`/srv/cc-ci` is a symlink to it). The Bash tool runs as user **loops** (uid 1000, passwordless
|
|
sudo) — plain `nixos-rebuild switch` fails on the profile symlink; use `sudo`.
|
|
- Reboot-resilience: `cc-ci-loops.service` is **enabled** (wantedBy multi-user.target); ExecStartPre
|
|
`reboot-log.sh` auto-logs reboots to REBOOTS.md. Its `script` runs `launch.sh start`, which
|
|
**stops+restarts the loops** — so any rebuild that (re)starts the unit bounces the loops (they
|
|
re-orient from git; harmless but noticeable).
|
|
- **Git-identity gotcha:** the box had no git user.name/email configured; commits fail with "Author
|
|
identity unknown". Set per-repo to match prior commits: `autonomic-bot
|
|
<autonomic-bot@git.autonomic.zone>`.
|
|
|
|
Full record: `archive/plans/plan-orchestrator-hetzner-migration.md`.
|