35 lines
1.1 KiB
Bash
Executable file
35 lines
1.1 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# bin/railiance — generic rail dispatcher; implementation lives in tools/cmd/*
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
PATH="${ROOT}/tools/cmd:${PATH}"
|
|
|
|
usage() {
|
|
cat <<'EOF'
|
|
Usage: bin/railiance <command> [args]
|
|
|
|
Commands:
|
|
create-overlay Scaffold a Railiance overlay repo for an upstream app
|
|
run Run Stage 1 local validation from railiance/app.toml
|
|
deploy Plan/apply Stage 2 canary deployment
|
|
observe Plan/run Stage 2 observation checks
|
|
promote Plan/apply Stage 3 stable promotion
|
|
rollback Plan/apply rollback to previous stable
|
|
help Show this help
|
|
EOF
|
|
}
|
|
|
|
cmd="${1:-help}"
|
|
shift || true
|
|
|
|
case "$cmd" in
|
|
help) usage ;;
|
|
create-overlay) bash "$ROOT/tools/create_railiance_overlay_repo.sh" "$@" ;;
|
|
run) exec railiance-run "$@" ;;
|
|
deploy) exec railiance-stage2 deploy "$@" ;;
|
|
observe) exec railiance-stage2 observe "$@" ;;
|
|
promote) exec railiance-stage3 promote "$@" ;;
|
|
rollback) exec railiance-stage3 rollback "$@" ;;
|
|
*) echo "Unknown command: $cmd" >&2; usage; exit 2 ;;
|
|
esac
|