- 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>
17 lines
764 B
Bash
Executable file
17 lines
764 B
Bash
Executable file
#!/usr/bin/env bash
|
|
# scripts/onboard/steps/40-deploy-node-agent.sh — deploy node-agent to remote node
|
|
#
|
|
# TODO: rsync services/node-agent/ and hosts/<node>/runtime/node-agent/ to remote
|
|
# TODO: populate /opt/homelab/config/node-agent/.env from env.example + operator-provided secrets
|
|
# TODO: docker compose up -d (or docker-compose for CHELSTY nodes using v1)
|
|
# TODO: wait for healthcheck to pass
|
|
# TODO: emit deployment_completed event via scripts/lib/events.sh
|
|
# TODO: gate on git_control flag — if false, skip and print manual instructions
|
|
|
|
set -euo pipefail
|
|
: "${REPO_ROOT:?REPO_ROOT is not set — run via onboard.sh}"
|
|
source "${REPO_ROOT}/scripts/onboard/lib/remote.sh"
|
|
|
|
STEP_NAME="40-deploy-node-agent"
|
|
step "[$STEP_NAME] TODO — not yet implemented"
|