41 lines
1009 B
Bash
41 lines
1009 B
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# Bootstrap script for provisioning
|
|
# Usage: curl -fsSL https://git.sdf.org/jchenry/provision/raw/branch/main/bootstrap | bash
|
|
|
|
REPO_URL="https://git.sdf.org/jchenry/provision.git"
|
|
CLONE_DIR="$HOME/.workspace/src/git.sdf.org/jchenry/provision"
|
|
|
|
echo "=== Provision Bootstrap ==="
|
|
echo ""
|
|
|
|
# Ensure workspace directory exists
|
|
if [ ! -d "$HOME/.workspace" ]; then
|
|
echo "Creating workspace directory..."
|
|
mkdir -p "$HOME/.workspace/src/git.sdf.org/jchenry"
|
|
fi
|
|
|
|
# Clone or update repository
|
|
if [ -d "$CLONE_DIR" ]; then
|
|
echo "Updating existing provision repository..."
|
|
cd "$CLONE_DIR"
|
|
git pull
|
|
else
|
|
echo "Cloning provision repository..."
|
|
git clone "$REPO_URL" "$CLONE_DIR"
|
|
cd "$CLONE_DIR"
|
|
fi
|
|
|
|
echo ""
|
|
echo "Repository ready at $CLONE_DIR"
|
|
echo ""
|
|
|
|
# Make provision script executable
|
|
chmod +x "$CLONE_DIR/provision"
|
|
|
|
# Run provision with any arguments passed to this script
|
|
echo "Starting provision..."
|
|
echo ""
|
|
exec "$CLONE_DIR/provision" "$@"
|