#!/bin/bash # Demo 1: Server Creation with Provisioning Platform # Time: ~30 seconds # Shows: Configuration validation, dry-run preview, cost estimation set -e echo "╔════════════════════════════════════════════════════════╗" echo "║ Demo 1: Server Creation with Provisioning Platform ║" echo "║ Time: ~30 seconds ║" echo "╚════════════════════════════════════════════════════════╝" echo "" # Step 1: Show command echo "Step 1️⃣ Type-safe server creation command" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "" echo "$ provisioning server create web-01 \\" echo " --provider upcloud \\" echo " --plan 2xCPU-4GB \\" echo " --zone de-fra1 \\" echo " --infra demo \\" echo " --check" echo "" sleep 2 # Step 2: Configuration validation echo "Step 2️⃣ Configuration validation (KCL schema checking)" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "✓ Server name: 'web-01' (valid)" echo "✓ Provider: 'upcloud' (supported)" echo "✓ Plan: '2xCPU-4GB' (valid configuration)" echo "✓ Zone: 'de-fra1' (valid region)" echo "✓ Infrastructure: 'demo' (exists)" echo "✓ All validations passed!" echo "" sleep 2 # Step 3: Dry-run output echo "Step 3️⃣ Dry-run preview (--check mode, no actual changes)" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "" echo "┌─────────────────────────────────────────┐" echo "│ Server Configuration Preview (Dry-Run) │" echo "├─────────────────────────────────────────┤" echo "│ │" echo "│ Name: web-01 │" echo "│ Provider: UpCloud │" echo "│ Plan: 2xCPU-4GB │" echo "│ Zone: de-fra1 │" echo "│ Estimated Cost: €15/month │" echo "│ Deployment Time: ~45 seconds │" echo "│ │" echo "│ Status: ✓ Ready to deploy │" echo "│ (No changes made - dry-run mode) │" echo "│ │" echo "└─────────────────────────────────────────┘" echo "" sleep 2 # Step 4: Cost estimation echo "Step 4️⃣ Cost estimation and impact analysis" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "" echo "Resource Cost Breakdown:" echo " • Compute (2 CPU): €8.50/month" echo " • Memory (4GB): €4.20/month" echo " • Storage (50GB): €2.30/month" echo " ───────────" echo " TOTAL MONTHLY COST: €15.00/month" echo "" echo "Infrastructure Impact:" echo " • Total servers in 'demo': 1 → 2" echo " • Total cost in 'demo': €10 → €25/month" echo " • Additional monthly cost: +€15.00" echo "" sleep 2 # Step 5: Summary echo "Step 5️⃣ Summary" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "" echo "✓ Configuration validated (type-safe)" echo "✓ Dry-run successful (no actual changes)" echo "✓ Cost estimated: €15/month" echo "✓ Ready for deployment" echo "" echo "To actually deploy, run:" echo " $ provisioning server create web-01 --infra demo" echo "" echo "To rollback after deployment:" echo " $ provisioning server delete web-01" echo "" echo "╔════════════════════════════════════════════════════════╗" echo "║ Key Insight: Validation BEFORE deployment = 0 errors ║" echo "╚════════════════════════════════════════════════════════╝"