A Python CLI (typer) that bootstraps Node/pnpm and launches a Next.js 16 web app for running configured shell scripts: YAML config validated by a shared Zod schema, dynamic per-script forms mapped to shadcn controls, argv-safe execa execution with live WebSocket streaming, SQLite/Drizzle run history, and optional argon2 session + API token auth. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
28 lines
558 B
Bash
28 lines
558 B
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
env=""
|
|
replicas=""
|
|
dry_run="false"
|
|
|
|
while [[ $# -gt 0 ]]; do
|
|
case "$1" in
|
|
--env) env="$2"; shift 2 ;;
|
|
--replicas) replicas="$2"; shift 2 ;;
|
|
--dry-run) dry_run="true"; shift ;;
|
|
*) echo "unknown argument: $1" >&2; exit 1 ;;
|
|
esac
|
|
done
|
|
|
|
echo "Deploying to '${env}' with ${replicas} replicas (dry_run=${dry_run})"
|
|
if [[ -n "${SLACK_CHANNEL:-}" ]]; then
|
|
echo "Would notify Slack channel: ${SLACK_CHANNEL}"
|
|
fi
|
|
|
|
for i in $(seq 1 5); do
|
|
echo "[${i}/5] working..."
|
|
sleep 1
|
|
done
|
|
|
|
echo "Deploy complete."
|