Use Cases & Examples
Real-world scenarios and workflows demonstrating how to use noBGP to manage infrastructure through AI conversation.
Development Workflows
Rapid Prototyping Environment
Scenario: You need a clean environment to test a new feature without cluttering your local machine.
Conversation:
You: I need to test my new API feature. Can you set up a fresh Ubuntu server?
AI: I'll provision a new Ubuntu server for you.
Creating server...
✓ Server "api-test-1" is online (Ubuntu 22.04, 2 vCPU, 4GB RAM)
You: Install Node.js 20 and PostgreSQL
AI: Installing Node.js 20 and PostgreSQL...
✓ Node.js v20.9.0 installed
✓ PostgreSQL 15 installed and running
You: Clone my repo from github.com/username/api-project and install dependencies
AI: [Clones repo and runs npm install]
✓ Dependencies installed (234 packages)
You: Start the API on port 3000 and publish it as a web service
AI: [Starts the API]
✓ API running on port 3000
✓ Published at https://api-test-abc.nobgp.com
Your API is now accessible for testing!
[After testing...]
You: I'm done. Tear everything down.
AI: Deprovisioning api-test-1...
✓ Server terminated
Time saved: 30+ minutes of manual setup
Multi-Environment Testing
Scenario: Test your app on different operating systems simultaneously.
Conversation:
You: I need to test my Python script on Ubuntu, Debian, and Alpine
AI: I'll provision three servers for you.
Creating servers...
✓ test-ubuntu (Ubuntu 22.04)
✓ test-debian (Debian 12)
✓ test-alpine (Alpine 3.19)
You: Install Python 3.11 on all of them
AI: Installing Python 3.11...
✓ test-ubuntu: Python 3.11.5
✓ test-debian: Python 3.11.4
✓ test-alpine: Python 3.11.6
You: Copy my script to all servers and run it
AI: [Copies script and executes on all servers]
Results:
✓ test-ubuntu: Script completed (exit code 0)
✓ test-debian: Script completed (exit code 0)
✗ test-alpine: Error - missing libssl dependency
You: Install libssl on Alpine and retry
AI: [Installs dependency and reruns]
✓ test-alpine: Script completed (exit code 0)
All tests passed! Your script works on all three distributions.
Benefit: Parallel testing across multiple OS versions
DevOps & Automation
Emergency Debugging
Scenario: Production server is having issues at 2 AM.
Conversation:
You: My production web server is running slow. Help me diagnose it.
AI: I'll check the server health.
Checking prod-web-1...
CPU: 95% (high!)
Memory: 89% (high)
Disk: 45% (normal)
Top processes:
1. nginx: 2% CPU
2. node (app.js): 87% CPU ← Problem here!
3. postgres: 6% CPU
Your Node.js application is consuming most CPU. Let me check what it's doing...
You: Show me the app logs from the last 10 minutes
AI: [Retrieves logs]
[ERROR] Infinite loop detected in user authentication
[ERROR] Database connection pool exhausted
[ERROR] Too many concurrent requests
I see the issue - there's an infinite loop in the authentication code causing
excessive database connections.
You: Restart the app and temporarily reduce max connections
AI: [Restarts application with new settings]
✓ Application restarted
✓ Max connections: 100 → 50
✓ CPU usage: 95% → 12%
✓ Memory usage: 89% → 45%
Server is stable now. I recommend fixing the authentication bug before
increasing connections again.
Impact: Incident resolved in minutes, not hours
Automated Deployments
Scenario: Deploy a new version of your application.
Conversation:
You: Deploy version 2.5.0 of my app to all production servers
AI: I'll deploy version 2.5.0 to your production servers.
Target servers: prod-web-1, prod-web-2, prod-web-3
Step 1: Backing up current version...
✓ Backups created
Step 2: Pulling v2.5.0 from GitHub...
✓ Code updated on all servers
Step 3: Installing dependencies...
✓ Dependencies installed
Step 4: Running database migrations...
✓ Migrations complete (3 migrations applied)
Step 5: Running tests...
✓ All tests passed (142/142)
Step 6: Performing rolling restart...
✓ prod-web-1 restarted (health check: OK)
✓ prod-web-2 restarted (health check: OK)
✓ prod-web-3 restarted (health check: OK)
Deployment complete! Version 2.5.0 is now live on all servers.
You: Monitor the error rate for the next 5 minutes
AI: Monitoring error rates...
Minute 1: 0.1% (normal)
Minute 2: 0.1% (normal)
Minute 3: 0.0% (normal)
Minute 4: 0.1% (normal)
Minute 5: 0.0% (normal)
Error rates are normal. Deployment successful!
Reliability: Consistent, repeatable deployments
Home Lab & Personal Projects
Home Media Server
Scenario: Set up a Plex media server on a Raspberry Pi.
Conversation:
You: Help me set up Plex on my Raspberry Pi
AI: I'll install and configure Plex Media Server on your raspberry-pi.
Step 1: Updating system packages...
✓ System updated
Step 2: Installing Plex Media Server...
✓ Plex installed
Step 3: Starting Plex service...
✓ Plex running on port 32400
Step 4: Publishing web interface...
✓ Plex dashboard: https://plex-abc123.nobgp.com
Your Plex server is ready! Open the URL above to complete setup.
You: Mount my external hard drive at /dev/sda1 to /media/movies
AI: [Mounts drive]
✓ Mounted 2TB drive to /media/movies
✓ Added to /etc/fstab for persistence
You: Add /media/movies as a library in Plex
AI: [Configures Plex library]
✓ Library added
✓ Scanning for media...
Found 247 movies. Plex is now indexing metadata.
Result: Media server running in 10 minutes
Network-Wide Ad Blocking
Scenario: Install Pi-hole for network-wide ad blocking.
Conversation:
You: Install Pi-hole on my raspberry-pi and set it up as my network DNS
AI: I'll install Pi-hole and configure it for network-wide ad blocking.
Installing Pi-hole...
✓ Pi-hole installed
Configuring...
✓ DNS configured (blocking ads)
✓ DHCP disabled (using router DHCP)
✓ Web interface enabled
Publishing admin dashboard...
✓ Admin URL: https://pihole-def456.nobgp.com
Pi-hole is running! To use it:
1. Set your router's DNS to: 192.168.1.42 (raspberry-pi's IP)
2. Or manually set DNS on each device
You: What's the current ad blocking stats?
AI: [Queries Pi-hole]
Today's stats:
- Queries: 12,847
- Blocked: 3,241 (25.2%)
- Domains on blocklist: 1,245,678
Top blocked domain: doubleclick.net
Benefit: Ad-free browsing across all devices
IoT & Edge Computing
Weather Station
Scenario: Collect and monitor data from IoT sensors.
Conversation:
You: My Raspberry Pi has a temperature sensor. Help me log data to a database.
AI: I'll set up a data logging system for your sensor.
Installing dependencies...
✓ PostgreSQL installed
✓ Python libraries installed
Creating database...
✓ Database 'weather_data' created
✓ Table 'readings' created
Would you like me to write a Python script to read the sensor?
You: Yes, read from GPIO pin 4 every 5 minutes
AI: [Creates Python script]
Script created at /home/pi/weather_logger.py
Features:
- Reads temperature/humidity from DHT22 sensor
- Logs to PostgreSQL every 5 minutes
- Handles errors gracefully
Installing as a systemd service...
✓ Service installed and started
Data logging is active. Want me to create a dashboard?
You: Yes, create a simple web dashboard
AI: [Creates dashboard with Flask]
✓ Dashboard created
✓ Published at https://weather-ghi789.nobgp.com
Your dashboard shows:
- Current temperature
- Current humidity
- 24-hour graph
- 7-day trends
Result: Complete IoT data logging system in minutes
Learning & Education
Docker Learning Environment
Scenario: Learn Docker without cluttering your laptop.
Conversation:
You: I want to learn Docker. Set up a practice environment for me.
AI: I'll create a server with Docker installed for you to practice.
Provisioning server...
✓ Server "docker-practice" ready (Ubuntu 22.04, 2GB RAM)
Installing Docker...
✓ Docker Engine installed
✓ Docker Compose installed
Creating browser terminal...
✓ Terminal: https://docker-term-jkl012.nobgp.com
You can now practice Docker! Try these beginner exercises:
1. Run your first container:
docker run hello-world
2. Run an interactive container:
docker run -it ubuntu bash
3. Run a web server:
docker run -d -p 80:80 nginx
You: Run nginx and show me how to access it
AI: [Runs nginx container]
✓ nginx running on port 80
Publishing nginx...
✓ Web server: https://nginx-mno345.nobgp.com
You can now see nginx running! The default page is live.
Next steps to try:
- Modify the default page
- Create your own Dockerfile
- Set up a multi-container app with Docker Compose
Advantage: Safe experimentation without local setup
Security & Compliance
Security Audit
Scenario: Audit servers for security issues.
Conversation:
You: Run a security audit on all my production servers
AI: I'll perform a security audit on your production servers.
Checking prod-web-1, prod-api-1, prod-db-1...
✓ Operating System:
- All servers updated to latest patches
- No EOL OS versions detected
✓ SSH Configuration:
- Root login disabled ✓
- Password authentication disabled ✓
- Key-only authentication enabled ✓
⚠ Firewall:
- prod-db-1: Port 5432 open to internet (should be internal only)
⚠ Services:
- prod-web-1: Elasticsearch running on default port (security risk)
✓ SSL Certificates:
- All certificates valid
- No expiring certificates in next 30 days
✗ User Accounts:
- prod-api-1: User 'temp_dev' still has sudo access (should be removed)
I found 3 issues. Should I fix them?
You: Yes, fix all issues
AI: Applying security fixes...
✓ Restricted PostgreSQL to internal network only
✓ Configured Elasticsearch authentication
✓ Removed 'temp_dev' user account
All issues resolved. Your servers are more secure now.
Compliance: Regular automated security checks
Cost Optimization
Resource Cleanup
Scenario: Find and remove unused resources to reduce costs.
Conversation:
You: I think I have servers I'm not using anymore. Help me find them.
AI: I'll analyze your infrastructure for unused resources.
Scanning all networks...
Potentially unused servers:
1. dev-test-server (offline for 15 days)
2. staging-old (online but 0% CPU for 30 days)
3. experiment-1 (created 60 days ago, never used)
4. temp-build-server (created for CI, no longer needed)
Estimated monthly cost: $287
You: Can you verify these are actually not needed?
AI: Let me check for dependencies and recent activity...
dev-test-server:
- No published services
- No active cron jobs
- No incoming connections (last 30 days)
→ Safe to remove
staging-old:
- Running nginx but no traffic
- SSL cert expired (not renewed)
- Replaced by staging-new
→ Safe to remove
experiment-1:
- Empty server, nothing installed
→ Safe to remove
temp-build-server:
- Was used for CI builds
- CI moved to GitHub Actions
→ Safe to remove
All four can be safely deprovisioned. Proceed?
You: Yes, remove them all
AI: Deprovisioning servers...
✓ dev-test-server terminated
✓ staging-old terminated
✓ experiment-1 terminated
✓ temp-build-server terminated
Estimated savings: $287/month ($3,444/year)
Savings: Significant cost reduction through cleanup
Collaborative Workflows
Pair Programming
Scenario: Collaborate with a remote colleague on a shared environment.
Conversation:
You: I need to pair program with my colleague. Set up a shared server.
AI: I'll create a shared development environment.
Provisioning server...
✓ Server "pair-dev-1" ready
Installing development tools...
✓ VS Code Server installed
✓ tmux installed (for terminal sharing)
Publishing access points...
✓ VS Code: https://vscode-pqr678.nobgp.com
✓ Terminal: https://term-stu901.nobgp.com
Both URLs require authentication. Share these links with your colleague.
You: My colleague is in. Now clone our project repo
AI: [Clones repository]
✓ Repository cloned to /home/dev/project
Your colleague can now access the same files through the VS Code URL.
Any changes either of you make will be instantly visible to the other.
You: Start a tmux session so we can both see the terminal
AI: [Starts tmux session]
✓ tmux session 'pair-session' started
Both of you can now see and interact with the same terminal through the
terminal URL. Perfect for collaborative debugging!
Collaboration: Real-time shared development environment
Sample Prompts Library
Discovery & Monitoring
- Show me all my networks and nodes
- What's the status of my production servers?
- Check disk space on all servers
- Monitor CPU usage on web-server-1
- Show me which services are published
- List all offline nodes
- What processes are using the most memory on my-server?
Infrastructure Management
- Provision an Ubuntu server with 4GB RAM
- Install Docker on all my development servers
- Update all packages on production-web-1
- Restart nginx on web-server-1
- Create a new network called "staging"
- Add my existing server to the production network
Deployment & CI/CD
- Deploy my app from the main branch to production
- Run tests on staging-server before deploying
- Create a backup of the database before updating
- Rollback to the previous version
- Deploy version 2.1.0 to all web servers
Troubleshooting
- Why is my web server slow?
- Check if postgres is running on db-server
- Show me error logs from the last hour
- Is port 443 accessible from the internet?
- Test connectivity between web-server and db-server
Security
- Run a security audit on all servers
- Check which ports are open on my-server
- List all users with sudo access
- Update SSL certificates
- Enable firewall on all production servers
Service Publishing
- Publish my app running on port 8080
- Create a browser terminal for my raspberry-pi
- Make the service at abc123.nobgp.com public
- Disable the staging-app service temporarily
- Delete all services from old-test-server
Tips for Effective Conversations
Be Specific
❌ "Check my server" ✅ "Check CPU and memory usage on web-server-1"
Provide Context
❌ "Something is broken" ✅ "My web app on port 3000 is returning 502 errors. Help me debug it."
Ask Follow-up Questions
Don't understand the output? Ask!
- "What does this error mean?"
- "Why is the CPU so high?"
- "Is this normal?"
Use Natural Language
You don't need to know exact commands:
- "I want to see if my database is running" (not "check if postgres process exists")
- "Make my web app accessible from the internet" (not "create a reverse proxy")
Confirm Before Destructive Actions
The AI will usually ask, but you can be explicit:
- "Delete old-server, but confirm with me first"
- "Update packages but don't restart services without asking"
Next Steps
- First Steps - Beginner-friendly walkthrough
- Core Concepts - Understand the architecture
- MCP Tools Reference - Technical documentation
- Publishing Services - Advanced service configuration
Share Your Use Case
Have an interesting use case? We'd love to hear about it! Share your workflow on: