From a99bf9dadcd514653701295e07171556890ffd45 Mon Sep 17 00:00:00 2001 From: Oskar Kapala Date: Tue, 9 Jun 2026 14:46:01 +0200 Subject: [PATCH] =?UTF-8?q?fix(onboard):=2030-node-agent=20=E2=80=94=20mkd?= =?UTF-8?q?ir=20-p=20deploy=20dir=20before=20rsync?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit rsync fails with "No such file or directory" when intermediate dirs don't exist. /opt/homelab/deploy/ is not created by 20-base.sh. Add rrun mkdir -p before rsync_dir; pi owns /opt/homelab so no sudo. Co-Authored-By: Claude Sonnet 4.6 --- scripts/onboard/steps/30-node-agent.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/onboard/steps/30-node-agent.sh b/scripts/onboard/steps/30-node-agent.sh index afd9a43..a16c0da 100644 --- a/scripts/onboard/steps/30-node-agent.sh +++ b/scripts/onboard/steps/30-node-agent.sh @@ -68,6 +68,10 @@ if [[ "$_running" -eq 0 ]]; then [[ -f "$LOCAL_OVERRIDE" ]] \ || die "Override not found: $LOCAL_OVERRIDE" + # Ensure remote deploy dir exists (rsync does not create intermediate dirs) + # pi owns /opt/homelab, so no sudo needed + rrun mkdir -p "${REMOTE_DEPLOY_DIR}" + # Push base compose + Dockerfile + src/ (rsync_dir handles DRY_RUN) rsync_dir "${LOCAL_SVC_DIR}/" "${REMOTE_DEPLOY_DIR}/"