homelab-codex-ws/hosts/lustro/node.yaml
Oskar Kapala adb84079ab feat(onboard): add node onboarding scaffold (bash, idempotent)
- scripts/onboard/onboard.sh: orchestrator with --node/--step/--from/--dry-run flags,
  deploy_autonomy + git_control gates, lexicographic step ordering
- scripts/onboard/lib/common.sh: log/warn/die/step helpers, yaml_get (yq+grep/sed fallback),
  ensure_line, git() wrapper enforcing --no-pager
- scripts/onboard/lib/remote.sh: rrun/rcopy/rsync_dir/rcheck SSH wrappers, dry-run aware
- scripts/onboard/steps/00-preflight.sh: read-only fact collection (arch, RAM, disk, docker,
  tailscale, MagicMirror runtime, swap), human report + machine YAML snippet
- scripts/onboard/steps/10-50: stub files with TODO headers, no mutations
- hosts/lustro/node.yaml: LUSTRO edge node draft (KEN, role=edge, deploy_autonomy=true,
  git_control=false); hardware fields marked TODO for preflight population

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 14:23:21 +02:00

27 lines
859 B
YAML

# hosts/lustro/node.yaml — LUSTRO edge node manifest
# Run scripts/onboard/onboard.sh --node lustro --step 00-preflight
# to auto-populate the TODO fields below.
name: LUSTRO
role: edge
location: KEN
ssh_user: oskar
tailscale:
hostname: lustro
# ip: TODO — fill after tailscale join (step 30)
deploy_autonomy: true # onboard.sh may run mutating steps autonomously
git_control: false # node does NOT pull from Forgejo directly; push-based
hardware:
arch: TODO # populated by 00-preflight (e.g. aarch64, x86_64)
ram_mb: TODO # populated by 00-preflight
swap: TODO # populated by 00-preflight (none / <size>)
mm_runtime: TODO # populated by 00-preflight (systemd / pm2 / process / none)
services:
node-agent:
runtime: TODO # populated by 40-deploy-node-agent (image tag, config hash)