- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control. - Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities. - Created .gitmodules to include OpenZeppelin contracts as a submodule. - Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment. - Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks. - Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring. - Created scripts for resource import and usage validation across non-US regions. - Added tests for CCIP error handling and integration to ensure robust functionality. - Included various new files and directories for the orchestration portal and deployment scripts.
131 lines
3.6 KiB
Bash
Executable File
131 lines
3.6 KiB
Bash
Executable File
#!/bin/bash
|
|
# Fix Nginx Proxy Configuration
|
|
# Run this script on the Nginx proxy VM to fix common issues
|
|
|
|
set -euo pipefail
|
|
|
|
echo "=========================================="
|
|
echo "Fixing Nginx Proxy Configuration"
|
|
echo "=========================================="
|
|
echo ""
|
|
|
|
# Check if running as root or with sudo
|
|
if [ "$EUID" -ne 0 ]; then
|
|
echo "This script requires sudo privileges"
|
|
exit 1
|
|
fi
|
|
|
|
# Install missing packages
|
|
echo "1. Installing missing packages..."
|
|
apt-get update -qq
|
|
|
|
# Install Docker if not present
|
|
if ! command -v docker &> /dev/null; then
|
|
echo "Installing Docker..."
|
|
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
|
|
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
|
|
apt-get update -qq
|
|
apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
|
|
systemctl enable docker
|
|
systemctl start docker
|
|
echo "Docker installed"
|
|
else
|
|
echo "Docker already installed"
|
|
fi
|
|
|
|
# Install Cloudflared if not present
|
|
if ! command -v cloudflared &> /dev/null; then
|
|
echo "Installing Cloudflared..."
|
|
curl -L --output /tmp/cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
|
|
dpkg -i /tmp/cloudflared.deb || apt-get install -f -y
|
|
rm /tmp/cloudflared.deb
|
|
echo "Cloudflared installed"
|
|
else
|
|
echo "Cloudflared already installed"
|
|
fi
|
|
|
|
# Fix Nginx configuration
|
|
echo ""
|
|
echo "2. Fixing Nginx configuration..."
|
|
|
|
# Create directories
|
|
mkdir -p /var/www/html
|
|
mkdir -p /etc/nginx/conf.d
|
|
|
|
# Check Nginx config
|
|
if nginx -t 2>&1 | grep -q "syntax is ok"; then
|
|
echo "Nginx configuration is valid"
|
|
|
|
# Try to start Nginx
|
|
if systemctl start nginx 2>/dev/null; then
|
|
echo "Nginx started successfully"
|
|
systemctl enable nginx
|
|
else
|
|
echo "Nginx failed to start. Checking logs..."
|
|
journalctl -u nginx --no-pager -n 20
|
|
fi
|
|
else
|
|
echo "Nginx configuration has errors:"
|
|
nginx -t
|
|
echo ""
|
|
echo "Creating minimal working configuration..."
|
|
|
|
# Create minimal Nginx config
|
|
cat > /etc/nginx/nginx.conf <<'EOF'
|
|
user www-data;
|
|
worker_processes auto;
|
|
pid /run/nginx.pid;
|
|
|
|
events {
|
|
worker_connections 1024;
|
|
}
|
|
|
|
http {
|
|
include /etc/nginx/mime.types;
|
|
default_type application/octet-stream;
|
|
|
|
access_log /var/log/nginx/access.log;
|
|
error_log /var/log/nginx/error.log;
|
|
|
|
sendfile on;
|
|
keepalive_timeout 65;
|
|
|
|
server {
|
|
listen 80;
|
|
server_name _;
|
|
|
|
location / {
|
|
return 200 "Nginx Proxy - Phase 1\n";
|
|
add_header Content-Type text/plain;
|
|
}
|
|
|
|
location /health {
|
|
return 200 "healthy\n";
|
|
add_header Content-Type text/plain;
|
|
}
|
|
}
|
|
}
|
|
EOF
|
|
|
|
if nginx -t; then
|
|
systemctl start nginx
|
|
systemctl enable nginx
|
|
echo "Nginx started with minimal configuration"
|
|
else
|
|
echo "Failed to create valid Nginx configuration"
|
|
fi
|
|
fi
|
|
|
|
# Check service status
|
|
echo ""
|
|
echo "3. Service Status:"
|
|
systemctl is-active nginx && echo "✓ Nginx: active" || echo "✗ Nginx: inactive"
|
|
systemctl is-active docker && echo "✓ Docker: active" || echo "✗ Docker: inactive"
|
|
systemctl is-active cloudflared && echo "✓ Cloudflared: active" || echo "⊘ Cloudflared: inactive (not configured)"
|
|
|
|
echo ""
|
|
echo "=========================================="
|
|
echo "Nginx Proxy Fix Complete"
|
|
echo "=========================================="
|
|
|