← 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
M start-fleet-persistent.sh
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 →