Apply Composer changes: comprehensive API updates, migrations, middleware, and infrastructure improvements
- Add comprehensive database migrations (001-024) for schema evolution - Enhance API schema with expanded type definitions and resolvers - Add new middleware: audit logging, rate limiting, MFA enforcement, security, tenant auth - Implement new services: AI optimization, billing, blockchain, compliance, marketplace - Add adapter layer for cloud integrations (Cloudflare, Kubernetes, Proxmox, storage) - Update Crossplane provider with enhanced VM management capabilities - Add comprehensive test suite for API endpoints and services - Update frontend components with improved GraphQL subscriptions and real-time updates - Enhance security configurations and headers (CSP, CORS, etc.) - Update documentation and configuration files - Add new CI/CD workflows and validation scripts - Implement design system improvements and UI enhancements
This commit is contained in:
101
scripts/deploy-all.sh
Executable file
101
scripts/deploy-all.sh
Executable file
@@ -0,0 +1,101 @@
|
||||
#!/bin/bash
|
||||
# Deploy all components in parallel where possible
|
||||
# Full parallel deployment script
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||
|
||||
echo "=== Sankofa Phoenix - Parallel Deployment ==="
|
||||
echo ""
|
||||
|
||||
# Color codes
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Function to run command and capture output
|
||||
run_parallel() {
|
||||
local name=$1
|
||||
shift
|
||||
local cmd="$@"
|
||||
|
||||
echo -e "${YELLOW}[$name]${NC} Starting..."
|
||||
if eval "$cmd" > "/tmp/deploy_${name}.log" 2>&1; then
|
||||
echo -e "${GREEN}[$name]${NC} ✓ Completed"
|
||||
return 0
|
||||
else
|
||||
echo -e "${RED}[$name]${NC} ✗ Failed (check /tmp/deploy_${name}.log)"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Check prerequisites
|
||||
echo "Checking prerequisites..."
|
||||
MISSING_DEPS=()
|
||||
|
||||
if ! command -v kubectl &> /dev/null; then MISSING_DEPS+=("kubectl"); fi
|
||||
if ! command -v go &> /dev/null; then MISSING_DEPS+=("go"); fi
|
||||
if ! command -v docker &> /dev/null; then
|
||||
echo "⚠ Docker not found, will skip Docker builds"
|
||||
fi
|
||||
|
||||
if [ ${#MISSING_DEPS[@]} -gt 0 ]; then
|
||||
echo "✗ Missing dependencies: ${MISSING_DEPS[*]}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✓ All prerequisites met"
|
||||
echo ""
|
||||
|
||||
# Step 1: Build provider (can run independently)
|
||||
echo "=== Step 1: Building Crossplane Provider ==="
|
||||
"$SCRIPT_DIR/build-crossplane-provider.sh" &
|
||||
BUILD_PID=$!
|
||||
|
||||
# Step 2: Deploy Keycloak (can run independently)
|
||||
echo "=== Step 2: Deploying Keycloak ==="
|
||||
"$SCRIPT_DIR/deploy-keycloak.sh" &
|
||||
KEYCLOAK_PID=$!
|
||||
|
||||
# Wait for builds to complete
|
||||
echo ""
|
||||
echo "Waiting for parallel tasks to complete..."
|
||||
wait $BUILD_PID && echo "✓ Provider build complete" || echo "✗ Provider build failed"
|
||||
wait $KEYCLOAK_PID && echo "✓ Keycloak deployment complete" || echo "✗ Keycloak deployment failed"
|
||||
|
||||
# Step 3: Deploy provider (requires build to complete)
|
||||
echo ""
|
||||
echo "=== Step 3: Deploying Crossplane Provider ==="
|
||||
"$SCRIPT_DIR/deploy-crossplane-provider.sh"
|
||||
|
||||
# Step 4: Test connectivity
|
||||
echo ""
|
||||
echo "=== Step 4: Testing Proxmox Connectivity ==="
|
||||
if "$SCRIPT_DIR/test-proxmox-connectivity.sh"; then
|
||||
echo "✓ Proxmox connectivity verified"
|
||||
else
|
||||
echo "⚠ Proxmox connectivity test failed (may be expected if instances are not reachable)"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=== Deployment Summary ==="
|
||||
echo ""
|
||||
echo "Keycloak:"
|
||||
kubectl get pods -n keycloak 2>/dev/null || echo " Not deployed"
|
||||
|
||||
echo ""
|
||||
echo "Crossplane Provider:"
|
||||
kubectl get providers 2>/dev/null || echo " Not deployed"
|
||||
kubectl get pods -n crossplane-system -l app=crossplane-provider-proxmox 2>/dev/null || echo " Not deployed"
|
||||
|
||||
echo ""
|
||||
echo "=== Next Steps ==="
|
||||
echo "1. Configure Keycloak clients (see deploy-keycloak.sh output)"
|
||||
echo "2. Create ProviderConfig with Proxmox credentials"
|
||||
echo "3. Test VM provisioning via Crossplane"
|
||||
echo ""
|
||||
echo "For detailed logs, check: /tmp/deploy_*.log"
|
||||
|
||||
Reference in New Issue
Block a user