Files
the_order/scripts/deploy/setup-azure-cdn-complete.sh
defiQUG 92cc41d26d Add Legal Office seal and complete Azure CDN deployment
- Add Legal Office of the Master seal (SVG design with Maltese Cross, scales of justice, legal scroll)
- Create legal-office-manifest-template.json for Legal Office credentials
- Update SEAL_MAPPING.md and DESIGN_GUIDE.md with Legal Office seal documentation
- Complete Azure CDN infrastructure deployment:
  - Resource group, storage account, and container created
  - 17 PNG seal files uploaded to Azure Blob Storage
  - All manifest templates updated with Azure URLs
  - Configuration files generated (azure-cdn-config.env)
- Add comprehensive Azure CDN setup scripts and documentation
- Fix manifest URL generation to prevent double slashes
- Verify all seals accessible via HTTPS
2025-11-12 22:03:42 -08:00

122 lines
3.7 KiB
Bash
Executable File

#!/bin/bash
# Complete Azure CDN Setup for Credential Seals
# Orchestrates quota check, infrastructure setup, and file upload
set -euo pipefail
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m'
log_info() { echo -e "${BLUE}[SETUP]${NC} $1"; }
log_success() { echo -e "${GREEN}[✓]${NC} $1"; }
log_warning() { echo -e "${YELLOW}[!]${NC} $1"; }
log_error() { echo -e "${RED}[✗]${NC} $1"; }
cd "$(dirname "$0")/../.."
echo ""
log_info "=== Complete Azure CDN Setup for Credential Seals ==="
echo ""
# Step 1: Check quotas
log_info "Step 1: Checking Azure quotas..."
if ./infra/scripts/azure-check-cdn-quotas.sh; then
log_success "Quota check passed"
else
log_warning "Quota check found issues (review azure-cdn-quota-report.txt)"
log_info "Continuing with setup (review quotas manually if needed)..."
fi
echo ""
# Step 2: Set up Azure infrastructure
log_info "Step 2: Setting up Azure infrastructure..."
if ./infra/scripts/azure-cdn-setup.sh; then
log_success "Azure infrastructure setup complete"
else
log_error "Azure infrastructure setup failed"
exit 1
fi
echo ""
# Step 3: Load configuration
log_info "Step 3: Loading configuration..."
if [ -f "azure-cdn-config.env" ]; then
source azure-cdn-config.env
log_success "Configuration loaded"
else
log_error "Configuration file not found: azure-cdn-config.env"
exit 1
fi
echo ""
# Step 4: Prepare PNG files (if not already done)
log_info "Step 4: Checking PNG files..."
PNG_COUNT=$(find assets/credential-images/png -name "*.png" -type f 2>/dev/null | wc -l)
if [ "${PNG_COUNT}" -eq 0 ]; then
log_info "PNG files not found, generating..."
./scripts/deploy/prepare-all-credential-seals.sh
else
log_success "PNG files found: ${PNG_COUNT}"
fi
echo ""
# Step 5: Upload files to Azure
log_info "Step 5: Uploading files to Azure Blob Storage..."
if ./scripts/deploy/upload-seals-to-azure.sh; then
log_success "Files uploaded successfully"
else
log_error "File upload failed"
exit 1
fi
echo ""
# Step 6: Update manifest URLs
log_info "Step 6: Updating manifest templates with CDN URLs..."
if [ -n "${CDN_BASE_URL_CDN:-}" ] && [ "${CDN_BASE_URL_CDN}" != "https://.azureedge.net/images/" ]; then
CDN_BASE_URL="${CDN_BASE_URL_CDN}" ./scripts/deploy/update-manifest-seal-urls.sh
log_success "Manifest templates updated with CDN URLs"
elif [ -n "${CDN_BASE_URL_BLOB:-}" ]; then
CDN_BASE_URL="${CDN_BASE_URL_BLOB}" ./scripts/deploy/update-manifest-seal-urls.sh
log_success "Manifest templates updated with Blob Storage URLs"
log_warning "CDN endpoint may still be provisioning. Update URLs later when CDN is ready."
else
log_warning "CDN URLs not available, skipping manifest update"
fi
echo ""
# Step 7: Verify setup
log_info "Step 7: Verifying setup..."
if [ -n "${AZURE_STORAGE_ACCOUNT:-}" ]; then
TEST_URL="${CDN_BASE_URL_BLOB}digital-bank-seal.png"
if curl -s -o /dev/null -w "%{http_code}" "${TEST_URL}" | grep -q "200"; then
log_success "Files are accessible at: ${TEST_URL}"
else
log_warning "Files may not be accessible yet (CDN may still be provisioning)"
fi
fi
echo ""
# Summary
log_info "=== Setup Complete ==="
echo ""
log_success "Azure CDN infrastructure created"
log_success "Credential seal images uploaded"
log_success "Manifest templates updated"
echo ""
log_info "Configuration saved in: azure-cdn-config.env"
log_info "CDN URLs:"
if [ -n "${CDN_BASE_URL_BLOB:-}" ]; then
echo " Blob Storage: ${CDN_BASE_URL_BLOB}"
fi
if [ -n "${CDN_BASE_URL_CDN:-}" ] && [ "${CDN_BASE_URL_CDN}" != "https://.azureedge.net/images/" ]; then
echo " CDN: ${CDN_BASE_URL_CDN}"
echo ""
log_info "Note: CDN endpoint may take 10-15 minutes to fully propagate"
fi
echo ""
log_success "Azure CDN setup complete!"