-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdeploy-azure.sh
More file actions
70 lines (55 loc) · 1.97 KB
/
deploy-azure.sh
File metadata and controls
70 lines (55 loc) · 1.97 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
#!/bin/bash
# Azure Container Instances Deployment Script
# Prerequisites: Azure CLI installed and logged in
set -e
# Configuration
RESOURCE_GROUP="desomonitor-rg"
CONTAINER_NAME="desomonitor"
LOCATION="eastus"
IMAGE_NAME="desomonitor:latest"
echo "🚀 Deploying DesoMonitor to Azure Container Instances"
# Check if Azure CLI is installed
if ! command -v az &> /dev/null; then
echo "❌ Azure CLI not found. Please install: https://docs.microsoft.com/en-us/cli/azure/install-azure-cli"
exit 1
fi
# Check if logged in
if ! az account show &> /dev/null; then
echo "❌ Not logged into Azure. Run: az login"
exit 1
fi
echo "✅ Azure CLI ready"
# Create resource group
echo "📦 Creating resource group: $RESOURCE_GROUP"
az group create --name $RESOURCE_GROUP --location $LOCATION
# Build and run locally first (optional test)
echo "🔨 Building Docker image..."
docker build -t $IMAGE_NAME .
# Prompt for environment variables
echo "🔐 Please provide your DeSo credentials:"
read -p "DESO_PUBLIC_KEY: " DESO_PUBLIC_KEY
read -s -p "DESO_SEED_HEX: " DESO_SEED_HEX
echo
# Deploy to Azure Container Instances
echo "☁️ Deploying to Azure Container Instances..."
az container create \
--resource-group $RESOURCE_GROUP \
--name $CONTAINER_NAME \
--image $IMAGE_NAME \
--cpu 1 \
--memory 1 \
--restart-policy Always \
--environment-variables \
DESO_PUBLIC_KEY="$DESO_PUBLIC_KEY" \
DESO_SEED_HEX="$DESO_SEED_HEX" \
--location $LOCATION
echo "✅ Deployment complete!"
# Show container status
echo "📊 Container status:"
az container show --resource-group $RESOURCE_GROUP --name $CONTAINER_NAME --query "{FQDN:ipAddress.fqdn,ProvisioningState:provisioningState}" --out table
# Show logs command
echo "📋 To view logs, run:"
echo "az container logs --resource-group $RESOURCE_GROUP --name $CONTAINER_NAME --follow"
# Show cleanup command
echo "🧹 To delete resources, run:"
echo "az group delete --name $RESOURCE_GROUP --yes --no-wait"