1 line
No EOL
7.9 KiB
Markdown
1 line
No EOL
7.9 KiB
Markdown
# Provisioning Platform - Live Demonstration Scripts\n\nComplete, ready-to-run demonstration scripts for presenting the Provisioning Platform to developers and decision makers.\n\n## Overview\n\nThree demonstration scenarios showing core capabilities:\n\n1. **Server Creation** (30 seconds) - Configuration validation and cost estimation\n2. **Kubernetes Deployment** (1 minute) - Type-safe configuration and parallel execution\n3. **Batch Workflow** (2 minutes) - Multi-cloud orchestration with real-time progress\n\n**Total Demo Duration**: ~3.5 minutes introduction + demonstrations\n\n## Prerequisites\n\n- Bash shell (or compatible)\n- `provisioning` CLI installed (or modify scripts to use paths)\n- Optional: Real infrastructure (UpCloud + AWS accounts) for actual deployment\n- **Note**: All scripts use `--check` flag for dry-runs (no actual changes)\n\n## Running the Demonstrations\n\n### Quick Start (Recommended)\n\n```bash\n# Make scripts executable\nchmod +x demos/*.sh\n\n# Run in sequence\n./demos/01-server-creation-demo.sh\n./demos/02-kubernetes-deployment-demo.sh\n./demos/03-batch-workflow-demo.sh\n```\n\n### Individual Demonstrations\n\n**Demo 1: Server Creation**\n\n```bash\n./demos/01-server-creation-demo.sh\n```\n\n- Shows: Configuration validation, cost estimation, deployment planning\n- Time: ~30 seconds\n- Audience: All levels\n\n**Demo 2: Kubernetes Deployment**\n\n```bash\n./demos/02-kubernetes-deployment-demo.sh\n```\n\n- Shows: KCL schema validation, dependency resolution, parallel execution\n- Time: ~1 minute\n- Audience: Developers, DevOps\n\n**Demo 3: Batch Multi-Cloud Workflow**\n\n```bash\n./demos/03-batch-workflow-demo.sh\n```\n\n- Shows: Multi-provider orchestration, real-time monitoring, audit trail\n- Time: ~2 minutes\n- Audience: Architects, DevOps, CTOs\n\n## Demonstration Flow\n\n### For 15-Minute Developer Intro + Live Demo\n\n1. **Show presentation** (demo-intro.md): 10 minutes\n2. **Run live demos** (scripts below): ~3.5 minutes\n3. **Q&A**: 2 minutes\n\n**Total**: 15-17 minutes\n\n### For 30-Minute Technical Talk\n\n1. **Show presentation** (talk.md): 20 minutes\n2. **Run 1-2 live demos**: 5-7 minutes\n3. **Q&A**: 3-5 minutes\n\n**Total**: 28-32 minutes\n\n### For Workshop Sessions\n\n1. **Show presentation** (workshop.md): 60 minutes\n2. **Run all demos with explanation**: 15 minutes\n3. **Hands-on exercises**: 45 minutes\n4. **Q&A and discussion**: 20 minutes\n\n**Total**: 140 minutes (2+ hours)\n\n## How to Use in Presentations\n\n### In Slidev/reveal.js\n\nWhen showing demo slides, you can:\n\n1. **Split screen**: Show presentation on left, run script on right\n2. **Full screen**: Run script with presentation window minimized\n3. **Record**: Run script and record terminal output for video playback\n\n### Terminal Setup\n\nFor best visual effect:\n\n```bash\n# Maximize terminal\n# Increase font size for visibility\n# Light terminal background recommended\n# Run with: bash demos/01-server-creation-demo.sh\n```\n\n### Real-Time Execution\n\nIf you have actual provisioning infrastructure:\n\n```bash\n# Replace simulation with actual command\n# provisioning server create web-01 --check\n\n# Show actual output from your environment\n```\n\n## Customizing Demonstrations\n\n### Modify for Your Infrastructure\n\nEdit scripts to reference your actual:\n\n- Infrastructure names (`--infra demo` → `--infra production`)\n- Server names, zones, plans\n- Provider configurations\n- Cost figures\n\nExample:\n\n```bash\n# Change from\n--infra demo\n# to\n--infra my-company-prod\n```\n\n### Add Your Branding\n\nEdit banner text:\n\n```bash\necho "╔════════════════════════════════════════════════════════╗"\necho "║ Your Company - Demo: Server Creation ║"\n```\n\n### Include Real Examples\n\nReplace simulation data with actual outputs:\n\n```bash\n# Option 1: Redirect real command output\nprovisioning server create web-01 --check >> actual_output.txt\n\n# Option 2: Copy output and paste into script\n# Then comment out simulation sections\n```\n\n## Expected Output\n\n### Demo 1: Server Creation\n\n```plaintext\n✓ Configuration validated (type-safe)\n✓ Dry-run successful (no actual changes)\n✓ Cost estimated: €15/month\n✓ Ready for deployment\n```\n\n### Demo 2: Kubernetes Deployment\n\n```plaintext\n✓ KCL schema validated (type-safe)\n✓ Dependencies resolved automatically\n✓ Pre-flight checks passed\n✓ Deployment plan verified\n```\n\n### Demo 3: Batch Workflow\n\n```plaintext\n✓ Task 1: upcloud_db (100%)\n✓ Task 2: aws_compute (100%)\n✓ Task 3: local_cache (100%)\n\nOverall Progress: 100%\nBatch Workflow: SUCCESS ✓\n```\n\n## Troubleshooting\n\n### Script won't run\n\n```bash\n# Make sure it's executable\nchmod +x demos/01-server-creation-demo.sh\n\n# Run with explicit bash\nbash demos/01-server-creation-demo.sh\n```\n\n### Colors/formatting look wrong\n\n```bash\n# Try different terminal\n# Check terminal encoding: should be UTF-8\n# Increase terminal width for better output\n\nlocale\n# Should show: en_US.UTF-8 (or similar)\n```\n\n### Timing is off\n\n- Scripts use `sleep` for readability\n- Modify sleep durations (default: 2 seconds):\n\n ```bash\n sleep 1 # Faster\n sleep 3 # Slower\n ```\n\n## Advanced: Recording Demonstrations\n\n### Create a video from scripts\n\n```bash\n# Using asciinema (recommended)\nasciinema rec demos/demo-1.cast\n# Run: ./demos/01-server-creation-demo.sh\n# Exit: Ctrl+D\n\n# Convert to video\nasciinema convert demos/demo-1.cast demos/demo-1.gif\n```\n\n### Using ffmpeg\n\n```bash\n# Record screen during script execution\nffmpeg -f x11grab -i :0 -c:v libx264 -preset fast \n -crf 23 demo-video.mp4\n\n# Run script in terminal window\n./demos/01-server-creation-demo.sh\n```\n\n## Accessibility\n\n- ✅ High contrast text (white on dark background)\n- ✅ Large font sizes recommended (18pt+)\n- ✅ Clear section headers\n- ✅ Progress indicators for timing\n- ✅ Summary sections for key points\n\n## Tips for Successful Demonstrations\n\n1. **Test beforehand**: Run each script before presenting\n2. **Know the timings**: Practice with your terminal size\n3. **Have a backup**: Keep these scripts on USB or cloud\n4. **Practice the flow**: Go through presentation + demo once\n5. **Be ready for questions**: Know what each output shows\n6. **Have real credentials**: For actual deployment demos (optional)\n7. **Clear terminal**: `clear` before starting each demo\n8. **Announce transitions**: "Next we'll see a Kubernetes deployment..."\n\n## Integration with Presentations\n\n### Before Demo 1\n>\n> "Let's create a server with type-safe configuration..."\n\n```bash\n./demos/01-server-creation-demo.sh\n```\n\n### Before Demo 2\n>\n> "Notice how Kubernetes dependencies are automatically resolved..."\n\n```bash\n./demos/02-kubernetes-deployment-demo.sh\n```\n\n### Before Demo 3\n>\n> "And finally, a real-world multi-cloud deployment across providers..."\n\n```bash\n./demos/03-batch-workflow-demo.sh\n```\n\n## Questions You'll Likely Get\n\n**Q**: "Can we actually deploy like this?"\n**A**: "Yes, remove the `--check` flag. These demos use `--check` for safety."\n\n**Q**: "How long does this really take?"\n**A**: "Server creation: 30-60 seconds. Kubernetes: 3-5 minutes. Batch: 5-10 minutes depending on infrastructure."\n\n**Q**: "How does this compare to Terraform?"\n**A**: "5-10x faster due to Rust orchestrator and parallel execution."\n\n**Q**: "What if something fails?"\n**A**: "Complete audit trail, can rollback automatically, or fix and retry."\n\n## Feedback & Improvement\n\nAfter presenting, consider:\n\n- Timing: Were pauses too long/short?\n- Clarity: Did each step make sense?\n- Engagement: What questions came up?\n- Customization: What would your audience want to see?\n\nUse feedback to improve your presentation.\n\n---\n\n**Last Updated**: 2025-11-14\n**Version**: 1.0.0\n**License**: MIT |