Some checks failed
CI/CD Pipeline / Code Quality & Linting (push) Has been cancelled
CI/CD Pipeline / Policy Validation (push) Has been cancelled
CI/CD Pipeline / Test Suite (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-coverage) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-extract) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-firm-connectors) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-forms) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-hmrc) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-ingestion) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-kg) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-normalize-map) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-ocr) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-rag-indexer) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-rag-retriever) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-reason) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-rpa) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (ui-review) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-coverage) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-extract) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-kg) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-rag-retriever) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (ui-review) (push) Has been cancelled
CI/CD Pipeline / Generate SBOM (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / Notifications (push) Has been cancelled
102 lines
3.6 KiB
Bash
Executable File
102 lines
3.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Comprehensive Deployment Script with Fixes
|
|
# Handles the complete deployment process with all discovered fixes
|
|
|
|
set -e
|
|
|
|
COMPOSE_FILE="infra/compose/docker-compose.local.yml"
|
|
|
|
echo "🚀 Starting comprehensive deployment with fixes..."
|
|
|
|
# Step 1: Create networks
|
|
echo "🌐 Creating Docker networks..."
|
|
./scripts/create-networks.sh
|
|
|
|
# Step 2: Generate certificates
|
|
echo "🔐 Generating development certificates..."
|
|
./scripts/generate-dev-certs.sh
|
|
|
|
# Step 3: Start core infrastructure first
|
|
echo "🏗️ Starting core infrastructure..."
|
|
cd infra/compose
|
|
docker compose -f docker-compose.local.yml up -d ata-traefik ata-postgres ata-redis
|
|
cd ../..
|
|
|
|
# Step 4: Wait for core services and fix database issues
|
|
echo "⏳ Waiting for core services..."
|
|
sleep 15
|
|
./scripts/fix-database-issues.sh
|
|
|
|
# Step 5: Start Authentik components in order
|
|
echo "🔐 Starting Authentik components..."
|
|
cd infra/compose
|
|
docker compose -f docker-compose.local.yml up -d ata-authentik-db ata-authentik-redis
|
|
sleep 10
|
|
docker compose -f docker-compose.local.yml up -d ata-authentik-server
|
|
sleep 15
|
|
docker compose -f docker-compose.local.yml up -d ata-authentik-worker ata-authentik-outpost
|
|
cd ../..
|
|
|
|
# Step 6: Start remaining infrastructure
|
|
echo "🏗️ Starting remaining infrastructure..."
|
|
cd infra/compose
|
|
docker compose -f docker-compose.local.yml up -d ata-vault ata-neo4j ata-qdrant ata-minio ata-prometheus ata-grafana ata-loki
|
|
cd ../..
|
|
|
|
# Step 7: Wait and verify Authentik is healthy
|
|
echo "⏳ Waiting for Authentik to be healthy..."
|
|
timeout=120
|
|
counter=0
|
|
while [ "$(docker inspect --format='{{.State.Health.Status}}' ata-authentik-server 2>/dev/null)" != "healthy" ]; do
|
|
if [ $counter -ge $timeout ]; then
|
|
echo "❌ Authentik server failed to become healthy within $timeout seconds"
|
|
echo "📋 Checking logs..."
|
|
docker compose -f infra/compose/docker-compose.local.yml logs --tail=10 ata-authentik-server
|
|
exit 1
|
|
fi
|
|
sleep 2
|
|
counter=$((counter + 2))
|
|
echo "⏳ Waiting for Authentik... ($counter/$timeout seconds)"
|
|
done
|
|
echo "✅ Authentik is healthy"
|
|
|
|
# Step 8: Start application services
|
|
echo "🚀 Starting application services..."
|
|
cd infra/compose
|
|
docker compose -f docker-compose.local.yml up -d \
|
|
ata-svc-ingestion ata-svc-extract ata-svc-forms ata-svc-hmrc ata-svc-kg \
|
|
ata-svc-normalize-map ata-svc-ocr ata-svc-rag-indexer ata-svc-rag-retriever \
|
|
ata-svc-reason ata-svc-rpa ata-svc-firm-connectors ata-svc-coverage ata-ui-review
|
|
cd ../..
|
|
|
|
# Step 9: Start Unleash (may fail, but that's OK)
|
|
echo "📊 Starting Unleash (may require manual configuration)..."
|
|
cd infra/compose
|
|
docker compose -f docker-compose.local.yml up -d ata-unleash || echo "⚠️ Unleash failed to start - may need manual token configuration"
|
|
cd ../..
|
|
|
|
# Step 10: Final verification
|
|
echo "🔍 Running final verification..."
|
|
sleep 10
|
|
./scripts/verify-infra.sh || echo "⚠️ Some services may need additional configuration"
|
|
|
|
echo ""
|
|
echo "🎉 Deployment complete!"
|
|
echo ""
|
|
echo "📋 Next steps:"
|
|
echo " 1. Complete Authentik setup: https://auth.local/if/flow/initial-setup/"
|
|
echo " 2. Configure applications in Authentik admin panel"
|
|
echo " 3. Test protected services redirect to Authentik"
|
|
echo ""
|
|
echo "🌐 Available endpoints:"
|
|
echo " • Traefik Dashboard: http://localhost:8080"
|
|
echo " • Authentik: https://auth.local"
|
|
echo " • Grafana: https://grafana.local"
|
|
echo " • Review UI: https://review.local (requires Authentik setup)"
|
|
echo ""
|
|
echo "🔧 Troubleshooting:"
|
|
echo " • Check logs: make logs"
|
|
echo " • Check status: make status"
|
|
echo " • Restart services: make restart"
|