[object Object]

← back to Tools Dw Hub

start-fleet-persistent.sh: accept optional slug args to (re)start a subset

0a30fa229b97956637f3dc895f9cff8f70580da8 · 2026-07-30 18:16:02 -0700 · steve

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Files touched

Diff

commit 0a30fa229b97956637f3dc895f9cff8f70580da8
Author: steve <steve@designerwallcoverings.com>
Date:   Thu Jul 30 18:16:02 2026 -0700

    start-fleet-persistent.sh: accept optional slug args to (re)start a subset
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
 start-fleet-persistent.sh | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/start-fleet-persistent.sh b/start-fleet-persistent.sh
index 12b35a8..32b6f36 100755
--- a/start-fleet-persistent.sh
+++ b/start-fleet-persistent.sh
@@ -17,11 +17,15 @@ SECRETS="$HOME/Projects/secrets-manager/.env"
 
 # Mac2 startable set = has port + start command + not CLI/missing-source + start is not a
 # remote ssh (scraper-api runs on Kamatera, not here).
-# (bash 3.2 compatible — no mapfile)
+# (bash 3.2 compatible — no mapfile). Optional args = only start those slugs.
 SLUGS=()
-while IFS= read -r s; do [ -n "$s" ] && SLUGS+=("$s"); done < <(node -e '
+if [ "$#" -gt 0 ]; then
+  SLUGS=("$@")
+else
+  while IFS= read -r s; do [ -n "$s" ] && SLUGS+=("$s"); done < <(node -e '
 const t=JSON.parse(require("fs").readFileSync("tools.json","utf8"));
 for(const x of t.tools){ if(x.port && x.start && !x.missingSource && !x.cli && !/^\s*ssh\b/.test(x.start)) console.log(x.slug); }')
+fi
 
 echo "Mac2 startable tools: ${#SLUGS[@]}"
 for slug in "${SLUGS[@]}"; do

← a020519 Add start-fleet-persistent.sh: full Mac2 tool set reboot-per  ·  back to Tools Dw Hub  ·  mood-board-studio: pre-deploy hardening (closes DTD contrari e4ef8df →