Compare commits

..
Author SHA1 Message Date
beatzaplenty 77db51a88f Fix formatting in pxe-boot host.nix 2026-07-30 17:28:37 +10:00
beatzaplenty ad0b4a14e6 Fix codex-maintenance.sh path prefix when run from mono-repo subtree 2026-07-30 17:27:48 +10:00
beatzaplenty c9dbb03e31 Merge commit 'e812169e521abeccf3903c0ab6ac00538de8b9dc' as 'nixos' 2026-07-30 17:07:01 +10:00
beatzaplenty b6ed0c6007 Remove nixos scaffold placeholder to allow git subtree add 2026-07-30 17:06:30 +10:00
beatzaplentyandClaude Sonnet 4.6 78fdf3d94c Update network topology: Tailscale routing and DNS proxy, remove Pi-hole
- Document bidirectional LAN ↔ Tailscale routing via tailscale-router
  (static route on router for 100.64.0.0/10, subnet advertisement into Tailnet)
- Document DNS proxy chain: FreeIPA conditional forwarder for *.ts.net
  → tailscale-router → MagicDNS; reverse for *.sweet.home from Tailscale clients
- Remove stale pihole.sweet.home from IP table (decommissioned)
- Fix freeipa role: remove Pi-hole IP from ipa_dns_forwarder, document
  ts.net conditional forwarder as a post-install step
- Fix inventory: remove Pi-hole forwarder IP, add ts.net forwarder note

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UvNjoxTWEDkhXsd1Dq2ETP
2026-07-30 07:10:03 +10:00
beatzaplentyandClaude Sonnet 4.6 f85c65870f Initial infrastructure mono-repo scaffold
Consolidates nixos, docker, raspi, and debian-configuration into a single
infrastructure-as-code repo. Includes:

- ansible/: full inventory + proxmox-hardening, freeipa, and raspberrypi
  roles (converted from debian-configuration bash scripts)
- terraform/: Proxmox VMs, Dynu DNS, Pi-hole (decommissioned stub),
  Docker container catalog — migrated from docker/infrastructure/terraform/
- stacks/docker/, stacks/raspi/, nixos/: placeholder READMEs pending
  git subtree population (see implementation plan)
- docs/: internal MkDocs site with architecture, network topology, runbooks,
  and drift-detection guide; external sanitized site
- scripts/: drift-detect.sh, docs-build.sh, install-hooks.sh, check-secrets.sh
- CI: secret-scan (push/PR), drift-detect (daily), docs-build (on change)
- Pi-hole removed throughout — DNS is FreeIPA, DHCP is router

See docs/internal/implementation-plan.md for the phased rollout after
pushing to Gitea.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UvNjoxTWEDkhXsd1Dq2ETP
2026-07-30 07:07:47 +10:00
beatzaplenty 97c9353fa8 Merge pull request 'refactor: full repo sweep — variables, docs, and comment cleanup' (#108) from worktree-reflective-puzzling-frog into main
Check NixOS configurations / eval-hosts (push) Successful in 10m32s
Reviewed-on: #108
2026-07-29 20:29:33 +00:00
2 changed files with 13 additions and 4 deletions
+1 -3
View File
@@ -11,9 +11,7 @@
defaultGateway = { address = vars.lanGateway; interface = vars.lxcLanInterface; };
nameservers = [ vars.domainControllerIp ];
};
services.beszel.agent.environment = {
# KEY = "";
};
services.beszel.agent.environment = { };
# Preserved from the pre-refactor `pxe-boot` target — stateVersion must
# never be bumped on an already-installed machine.
system.stateVersion = "25.05";
+12 -1
View File
@@ -37,6 +37,17 @@ source "${script_dir}/lib/nix-parallel.sh"
repo_root="$(cd "${script_dir}/.." && pwd)"
cd "$repo_root"
# When this repo is a subdirectory of a larger git repo (e.g. a mono-repo
# subtree), `git diff --name-only` outputs paths relative to the outer git
# root, not this directory. Compute a prefix to strip so pattern matching
# below works correctly regardless of nesting depth.
_git_root="$(git rev-parse --show-toplevel 2>/dev/null || echo "$repo_root")"
if [[ "$repo_root" != "$_git_root" ]]; then
_subtree_prefix="${repo_root#"$_git_root"/}/"
else
_subtree_prefix=""
fi
full_check=false
dry_run=false
@@ -120,7 +131,7 @@ if ! $full_check; then
base_ref="$(resolve_base_ref)"
echo
echo "Changed-files scope: diffing against ${base_ref}"
mapfile -t changed_files < <(git diff --name-only --diff-filter=ACMR "$base_ref" -- . | sort -u)
mapfile -t changed_files < <(git diff --name-only --diff-filter=ACMR "$base_ref" -- . | sort -u | sed "s|^${_subtree_prefix}||")
if [[ ${#changed_files[@]} -eq 0 ]]; then
echo "No changed files detected."