-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdeploy-azure-sql.sh
More file actions
executable file
·120 lines (107 loc) · 3.79 KB
/
deploy-azure-sql.sh
File metadata and controls
executable file
·120 lines (107 loc) · 3.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#!/bin/bash
# Azure Deployment Script for AI Security Monitor (SQL Database Version)
# This script sets up the complete Azure infrastructure
set -e
echo "🚀 Setting up Azure infrastructure for AI Security Monitor..."
# Configuration
RESOURCE_GROUP="websecurity-prod-rg"
LOCATION="eastus"
APP_NAME="ai-security-monitor"
SQL_SERVER_NAME="cloudhealthoffice-sql-$(date +%s)"
ADMIN_USER="securityadmin"
ADMIN_PASSWORD="SecurePass$(date +%s)!"
DB_NAME="websecurity_prod"
CUSTOM_DOMAIN="cloudhealthoffice.com"
echo "📋 Configuration:"
echo " Resource Group: $RESOURCE_GROUP"
echo " Location: $LOCATION"
echo " App Name: $APP_NAME"
echo " SQL Server: $SQL_SERVER_NAME"
echo ""
# Create SQL Server
echo "🗄️ Creating SQL Server..."
az sql server create \
--resource-group $RESOURCE_GROUP \
--name $SQL_SERVER_NAME \
--location $LOCATION \
--admin-user $ADMIN_USER \
--admin-password "$ADMIN_PASSWORD"
# Configure firewall to allow Azure services
echo "🔥 Configuring firewall..."
az sql server firewall-rule create \
--resource-group $RESOURCE_GROUP \
--server $SQL_SERVER_NAME \
--name AllowAzureServices \
--start-ip-address 0.0.0.0 \
--end-ip-address 0.0.0.0
# Create database
echo "💾 Creating database..."
az sql db create \
--resource-group $RESOURCE_GROUP \
--server $SQL_SERVER_NAME \
--name $DB_NAME \
--edition Basic \
--capacity 5
# Create App Service plan
echo "⚙️ Creating App Service plan..."
az appservice plan create \
--name "${APP_NAME}-plan" \
--resource-group $RESOURCE_GROUP \
--sku B1 \
--is-linux
# Create Web App
echo "🌐 Creating Web App..."
az webapp create \
--resource-group $RESOURCE_GROUP \
--plan "${APP_NAME}-plan" \
--name $APP_NAME \
--runtime "NODE:20-lts" \
--deployment-source-url https://github.com/aurelianware/ai-security-monitoring-app
# Generate connection string for SQL Server
DB_CONNECTION_STRING="sqlserver://$SQL_SERVER_NAME.database.windows.net:1433;database=$DB_NAME;user=$ADMIN_USER;password=$ADMIN_PASSWORD;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;"
# Configure app settings
echo "🔧 Configuring app settings..."
az webapp config appsettings set \
--resource-group $RESOURCE_GROUP \
--name $APP_NAME \
--settings \
NODE_ENV=production \
NEXTAUTH_URL="https://$CUSTOM_DOMAIN" \
NEXTAUTH_SECRET="$(openssl rand -base64 32)" \
DATABASE_URL="$DB_CONNECTION_STRING" \
STRIPE_PUBLISHABLE_KEY="pk_live_REPLACE_WITH_ACTUAL_KEY" \
STRIPE_SECRET_KEY="sk_live_REPLACE_WITH_ACTUAL_KEY" \
STRIPE_WEBHOOK_SECRET="whsec_REPLACE_WITH_ACTUAL_SECRET" \
GOOGLE_CLIENT_ID="REPLACE_WITH_ACTUAL_CLIENT_ID" \
GOOGLE_CLIENT_SECRET="REPLACE_WITH_ACTUAL_CLIENT_SECRET" \
GITHUB_CLIENT_ID="REPLACE_WITH_ACTUAL_CLIENT_ID" \
GITHUB_CLIENT_SECRET="REPLACE_WITH_ACTUAL_CLIENT_SECRET"
echo ""
echo "✅ Azure infrastructure setup complete!"
echo ""
echo "📄 Summary:"
echo " Resource Group: $RESOURCE_GROUP"
echo " Web App URL: https://$APP_NAME.azurewebsites.net"
echo " Custom Domain: https://$CUSTOM_DOMAIN (configure DNS)"
echo " SQL Server: $SQL_SERVER_NAME.database.windows.net"
echo " Database Name: $DB_NAME"
echo ""
echo "🔐 Database Credentials:"
echo " Username: $ADMIN_USER"
echo " Password: $ADMIN_PASSWORD"
echo ""
echo "🌐 DNS Configuration Required:"
echo " Add CNAME record in GoDaddy:"
echo " Type: CNAME"
echo " Name: @ (or www)"
echo " Value: $APP_NAME.azurewebsites.net"
echo " TTL: 3600"
echo ""
echo "📝 Next Steps:"
echo " 1. Configure DNS in GoDaddy (above)"
echo " 2. Add custom domain to Azure App Service"
echo " 3. Set up Stripe production keys"
echo " 4. Configure OAuth production credentials"
echo " 5. Deploy your application"
echo ""
echo "💰 Estimated monthly cost: ~$25 USD (well under your $150 credit!)"