API: Phoenix railing proxy, API key auth for /api/v1/*, schema export, docs, migrations, tests
- Phoenix API Railing: proxy to PHOENIX_RAILING_URL, tenant me routes - Tenant-auth: X-API-Key support for /api/v1/* (api_keys table) - Migration 026: api_keys table; 025 sovereign stack marketplace - GET /graphql/schema, GET /graphql-playground, api/docs OpenAPI - Integration tests: phoenix-railing.test.ts - docs/api/API_VERSIONING: /api/v1/ railing alignment - docs/phoenix/PORTAL_RAILING_WIRING Made-with: Cursor
This commit is contained in:
93
api/scripts/setup-sovereign-stack.sh
Executable file
93
api/scripts/setup-sovereign-stack.sh
Executable file
@@ -0,0 +1,93 @@
|
||||
#!/bin/bash
|
||||
# Setup script for Sovereign Stack marketplace services
|
||||
# This script runs migrations and seeds the marketplace
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
API_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||
|
||||
cd "$API_DIR"
|
||||
|
||||
echo "=========================================="
|
||||
echo "Sovereign Stack Marketplace Setup"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "This script will:"
|
||||
echo " 1. Run database migrations (adds new categories)"
|
||||
echo " 2. Seed all 9 Sovereign Stack services"
|
||||
echo " 3. Verify the setup"
|
||||
echo ""
|
||||
|
||||
# Check if .env exists
|
||||
if [ ! -f .env ]; then
|
||||
echo "⚠ Warning: .env file not found."
|
||||
echo ""
|
||||
echo "Would you like to create one from .env.example? (y/N)"
|
||||
read -p "> " -n 1 -r
|
||||
echo
|
||||
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||
if [ -f .env.example ]; then
|
||||
./scripts/create-env.sh
|
||||
echo ""
|
||||
echo "⚠ Please edit .env and set your database password before continuing."
|
||||
echo "Press Enter when ready, or Ctrl+C to exit..."
|
||||
read
|
||||
else
|
||||
echo "❌ .env.example not found. Please create .env manually."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo ""
|
||||
echo "Please create a .env file with the following variables:"
|
||||
echo " DB_HOST=localhost"
|
||||
echo " DB_PORT=5432"
|
||||
echo " DB_NAME=sankofa"
|
||||
echo " DB_USER=postgres"
|
||||
echo " DB_PASSWORD=your_password_here"
|
||||
echo ""
|
||||
echo "For development, DB_PASSWORD must be at least 8 characters."
|
||||
echo "For production, DB_PASSWORD must be at least 32 characters with uppercase, lowercase, numbers, and special characters."
|
||||
echo ""
|
||||
read -p "Press Enter when .env is ready, or Ctrl+C to exit..."
|
||||
fi
|
||||
fi
|
||||
|
||||
# Step 1: Run migrations
|
||||
echo "Step 1: Running database migrations..."
|
||||
echo "----------------------------------------"
|
||||
pnpm db:migrate:up || {
|
||||
echo "❌ Migration failed. Please check database connection and try again."
|
||||
exit 1
|
||||
}
|
||||
echo "✅ Migrations completed"
|
||||
echo ""
|
||||
|
||||
# Step 2: Seed Sovereign Stack services
|
||||
echo "Step 2: Seeding Sovereign Stack services..."
|
||||
echo "----------------------------------------"
|
||||
pnpm db:seed:sovereign-stack || {
|
||||
echo "❌ Seeding failed. Please check the error above."
|
||||
exit 1
|
||||
}
|
||||
echo "✅ Services seeded"
|
||||
echo ""
|
||||
|
||||
# Step 3: Verify setup
|
||||
echo "Step 3: Verifying setup..."
|
||||
echo "----------------------------------------"
|
||||
pnpm verify:sovereign-stack || {
|
||||
echo "⚠ Verification found issues. Please review the output above."
|
||||
exit 1
|
||||
}
|
||||
echo ""
|
||||
|
||||
echo "=========================================="
|
||||
echo "✅ Sovereign Stack setup complete!"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "Next steps:"
|
||||
echo "1. Access the marketplace at: https://portal.sankofa.nexus/marketplace"
|
||||
echo "2. Browse Phoenix Cloud Services offerings"
|
||||
echo "3. Subscribe to services as needed"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user