## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# VAPORA v1.0 - Quick Start Deployment

5-Minute Production Deployment Guide

## Prerequisites Check

    # Verify you have these tools
    kubectl version --client  # Kubernetes CLI
    docker --version          # Docker for building images
    nu --version              # Nushell for scripts

## Step 1: Build Docker Images (5 minutes)

    # From project root

    # Build all images and push to Docker Hub
    nu scripts/build-docker.nu --registry docker.io --tag v0.1.0 --push

    # Or build locally (no push)
    nu scripts/build-docker.nu

Output: 4 Docker images built (~175MB total)

## Step 2: Configure Secrets (2 minutes)

    # Edit secrets file
    nano kubernetes/03-secrets.yaml

    # Replace these values:
    # - jwt-secret: $(openssl rand -base64 32)
    # - anthropic-api-key: sk-ant-xxxxx
    # - openai-api-key: sk-xxxxx
    # - surrealdb-pass: $(openssl rand -base64 32)

NEVER commit this file with real secrets!

## Step 3: Configure Ingress (1 minute)

    # Edit ingress file
    nano kubernetes/08-ingress.yaml

    # Update this line:
    # - host: vapora.yourdomain.com  # Change to your domain

## Step 4: Deploy to Kubernetes (3 minutes)

    # Dry run to validate
    nu scripts/deploy-k8s.nu --dry-run

    # Deploy for real
    nu scripts/deploy-k8s.nu

    # Wait for all pods to be ready
    kubectl wait --for=condition=ready pod -l app -n vapora --timeout=300s

Output: 11 pods running (2 backend, 2 frontend, 3 agents, 1 mcp, 1 db, 1 nats)

## Step 5: Verify Deployment (2 minutes)

    # Check all pods are running
    kubectl get pods -n vapora

    # Check services
    kubectl get svc -n vapora

    # Get ingress IP/hostname
    kubectl get ingress -n vapora

    # Test health endpoints
    kubectl exec -n vapora deploy/vapora-backend -- curl -s http://localhost:8080/health

## Step 6: Access VAPORA

1. Configure DNS: Point your domain to ingress IP
2. Access UI: `https://vapora.yourdomain.com`
3. Check health: `https://vapora.yourdomain.com/api/v1/health`

## Troubleshooting

### Pods not starting?

    kubectl describe pod -n vapora <pod-name>
    kubectl logs -n vapora <pod-name>

### Can't connect to database?

    kubectl logs -n vapora surrealdb-0
    kubectl exec -n vapora deploy/vapora-backend -- curl http://surrealdb:8000/health

### Image pull errors?

    # Check if images exist
    docker images | grep vapora

    # Create registry secret
    kubectl create secret docker-registry regcred \
      -n vapora \
      --docker-server=docker.io \
      --docker-username=<user> \
      --docker-password=<pass>

## Alternative: Provisioning Deployment

For advanced deployment with service mesh and auto-scaling:

    cd provisioning/vapora-wrksp

    # Validate configuration
    nu scripts/validate-provisioning.nu

    # Deploy full stack
    provisioning workflow run workflows/deploy-full-stack.yaml

See: `provisioning-integration/README.md`

## Next Steps

- Set up monitoring (Prometheus + Grafana)
- Configure TLS certificates (cert-manager)
- Set up backups for SurrealDB
- Configure HPA (Horizontal Pod Autoscaler)
- Enable log aggregation
- Test agent workflows

## Full Documentation

- Comprehensive Guide: `DEPLOYMENT.md`
- K8s README: `kubernetes/README.md`
- Provisioning Guide: `provisioning-integration/README.md`
- Project Overview: `PROJECT_COMPLETION_REPORT.md`

## Quick Commands Reference

    # Build images
    nu scripts/build-docker.nu --push

    # Deploy
    nu scripts/deploy-k8s.nu

    # Validate
    nu scripts/validate-deployment.nu

    # Validate Provisioning
    nu scripts/validate-provisioning.nu

    # Check status
    kubectl get all -n vapora

    # View logs
    kubectl logs -n vapora -l app=vapora-backend -f

    # Scale agents
    kubectl scale deployment vapora-agents -n vapora --replicas=5

    # Rollback
    kubectl rollout undo deployment/vapora-backend -n vapora

    # Uninstall
    kubectl delete namespace vapora

VAPORA v1.0 - Production Ready ✅ Total Deployment Time: ~15 minutes Status: All 5 phases completed