Getting closer
soaricarus_api CI / Check (pull_request) Successful in 6m2s
soaricarus_api CI / Rustfmt (pull_request) Successful in 6m11s
soaricarus_api CI / Test Suite (pull_request) Successful in 8m25s
soaricarus_api CI / Clippy (pull_request) Successful in 3m12s
soaricarus_api CI / build (pull_request) Successful in 4m34s

This commit is contained in:
2026-07-28 13:08:33 -04:00
parent e2a5e02aad
commit f07e0108cd
2 changed files with 83 additions and 47 deletions
+16 -16
View File
@@ -42,22 +42,22 @@ services:
# - ./path/to/your/web-api-repo:/app
# --- songparser service ---
songparser:
build:
context: ../songparser
ssh: ["default"]
dockerfile: Dockerfile
container_name: songparser
restart: unless-stopped
env_file:
- ../songparser/.env
depends_on:
- api
- main_db
- auth_api
- auth_db
networks:
- soaricarus-network
# songparser:
# build:
# context: ../songparser
# ssh: ["default"]
# dockerfile: Dockerfile
# container_name: songparser
# restart: unless-stopped
# env_file:
# - ../songparser/.env
# depends_on:
# - api
# - main_db
# - auth_api
# - auth_db
# networks:
# - soaricarus-network
# --- storage service ---
maze:
build:
+61 -25
View File
@@ -21,66 +21,101 @@ EOF
echo "✅ Credentials saved to $CREDENTIALS_FILE"
}
echo "Sleeping for a bit"
sleep 5
GARAGE_COMMAND_EXEC="$GARAGE_BIN -c /etc/garage.toml server"
# Check if setup already completed
if [ -f "$SETUP_DONE" ]; then
echo "️ Setup already completed. Starting Garage..."
exec $GARAGE_BIN "$@"
exec $GARAGE_COMMANDS_EXEC
fi
echo "🔧 First-time setup - initializing Garage..."
# Start Garage in background for setup (just the binary, no daemon subcommand)
echo "⏳ Starting Garage in background..."
$GARAGE_BIN "$@" &
GARAGE_PID=$!
echo "GARAGE_BIN: $GARAGE_COMMAND_EXEC"
# $GARAGE_BIN "$@" &
# GARAGE_PID=$!
# $GARAGE_BIN -c /etc/garage.toml & GARAGE_PID=$!
$GARAGE_COMMAND_EXEC & GARAGE_PID=$!
# Wait for Garage to be ready
echo "⏳ Waiting for Garage API..."
until curl -s -f "http://localhost:3901/v0/status" > /dev/null 2>&1; do
echo " Not ready yet, sleeping 2s..."
sleep 2
done
echo "✅ Garage API is responding!"
echo "GARAGE_PID: $GARAGE_PID"
# echo "Command: $GARAGE_BIN $@"
# Apply cluster layout
if ! $GARAGE_BIN layout show 2>/dev/null | grep -q "Current cluster layout"; then
echo "📦 Applying cluster layout..."
NODE_ID=$($GARAGE_BIN node id | head -n1)
$GARAGE_BIN layout assign --version 1 "$NODE_ID"
echo "Node ID: $NODE_ID"
sleep 5
echo "Assigning layout"
# $GARAGE_BIN layout assign --version 1 -z ny1 -c 4G $NODE_ID
$GARAGE_BIN layout assign -z ny1 -c 4G $NODE_ID
# $GARAGE_BIN status
sleep 5
# $GARAGE_BIN status
echo "Show layout"
$GARAGE_BIN layout show
sleep 5
echo "Applying layout"
$GARAGE_BIN layout apply --version 1
echo " ✅ Layout applied"
sleep 2
sleep 10
else
echo "️ Layout already applied"
fi
# Create bucket
echo "Bucket: $BUCKET_NAME"
if ! $GARAGE_BIN bucket info "$BUCKET_NAME" 2>/dev/null; then
echo "📦 Creating bucket: $BUCKET_NAME"
$GARAGE_BIN bucket create "$BUCKET_NAME"
sleep 10
else
echo "️ Bucket $BUCKET_NAME already exists"
fi
# Handle key
if [ -n "$AWS_ACCESS_KEY_ID" ] && [ -n "$AWS_SECRET_ACCESS_KEY" ]; then
echo "🔑 Using pre-defined credentials from .env"
if ! $GARAGE_BIN key info "$AWS_ACCESS_KEY_ID" 2>/dev/null; then
$GARAGE_BIN key import "$AWS_ACCESS_KEY_ID" "$AWS_SECRET_ACCESS_KEY" "app-key"
echo " ✅ Key imported: $AWS_ACCESS_KEY_ID"
else
echo " ️ Key already exists: $AWS_ACCESS_KEY_ID"
fi
ACCESS_KEY="$AWS_ACCESS_KEY_ID"
SECRET_KEY="$AWS_SECRET_ACCESS_KEY"
else
#if [ -n "$AWS_ACCESS_KEY_ID" ] && [ -n "$AWS_SECRET_ACCESS_KEY" ]; then
# echo "🔑 Using pre-defined credentials from .env"
# if ! $GARAGE_BIN key info "$AWS_ACCESS_KEY_ID" 2>/dev/null; then
# $GARAGE_BIN key import "$AWS_ACCESS_KEY_ID" "$AWS_SECRET_ACCESS_KEY" "app-key"
# echo " ✅ Key imported: $AWS_ACCESS_KEY_ID"
# else
# echo " ️ Key already exists: $AWS_ACCESS_KEY_ID"
# fi
# ACCESS_KEY="$AWS_ACCESS_KEY_ID"
# SECRET_KEY="$AWS_SECRET_ACCESS_KEY"
#else
# echo "🔑 Generating new key..."
# KEY_OUTPUT=$($GARAGE_BIN key create --name "app-key")
# echo "$KEY_OUTPUT"
# ACCESS_KEY=$(echo "$KEY_OUTPUT" | grep 'Key ID:' | awk '{print $3}')
# SECRET_KEY=$(echo "$KEY_OUTPUT" | grep 'Secret key:' | awk '{print $3}')
# echo " ✅ Key generated: $ACCESS_KEY"
#fi
sleep 15
echo "🔑 Generating new key..."
KEY_OUTPUT=$($GARAGE_BIN key create --name "app-key")
echo "$KEY_OUTPUT"
ACCESS_KEY=$(echo "$KEY_OUTPUT" | grep 'Key ID:' | awk '{print $3}')
SECRET_KEY=$(echo "$KEY_OUTPUT" | grep 'Secret key:' | awk '{print $3}')
echo " ✅ Key generated: $ACCESS_KEY"
fi
# Wait for Garage to be ready
echo "⏳ Waiting for Garage API..."
until curl -s -f "http://localhost:3900/v0/status" > /dev/null 2>&1; do
echo " Not ready yet, sleeping 2s..."
sleep 2
done
echo "✅ Garage API is responding!"
# Grant permissions
$GARAGE_BIN bucket allow --read --write --owner "$BUCKET_NAME" --key "$ACCESS_KEY"
@@ -100,4 +135,5 @@ wait "$GARAGE_PID" 2>/dev/null || true
# Start Garage in foreground
echo "🚀 Starting Garage in foreground..."
exec $GARAGE_BIN "$@"
# exec $GARAGE_BIN "$@"
exec $GARAGE_COMMANDS_EXEC