# VAPORA Provisioning Quick Start Get VAPORA running in 5 minutes. ## Choose Your Path ### 🚀 Fastest: Copy & Deploy (2 minutes) ```bash cd provisioning # Pick your mode cp config/examples/vapora.solo.example.toml config/runtime/vapora.toml # Done! Deploy with docker-compose docker compose up -d ``` ### 📋 Customizable: Interactive Wizard (3 minutes) ```bash cd provisioning # Answer 50+ questions typedialog --form .typedialog/vapora/forms/vapora-main-form.toml \ --output config/runtime/vapora.toml # Deploy docker compose up -d ``` ### 🔧 Advanced: Nickel Composition (5 minutes) ```bash cd provisioning # Create custom config cat > config/runtime/custom.ncl << 'EOF' let defaults = import "../../schemas/vapora/main.ncl" in let mode = import "../../schemas/platform/defaults/deployment/multiuser.ncl" in std.record.merge defaults { backend.port = 9001, llm_router.providers.ollama_enabled = true, } EOF # Export to JSON nickel export config/runtime/custom.ncl > config/runtime/vapora.json # Deploy with config docker compose up -d ``` ## Configuration Files Your configuration goes in **`config/runtime/vapora.toml`** after generation or copying. | Mode | Description | Best For | |------|-------------|----------| | **solo** | Local dev | Development, testing | | **multiuser** | Shared backend | Team of 5-20 developers | | **enterprise** | HA production | Organizations, production | ## What Gets Generated ```plaintext provisioning/ ├── config/ │ └── runtime/ │ └── vapora.toml ← Your configuration goes here ├── schemas/ │ └── vapora/*.ncl ← Configuration structure (read-only) └── .typedialog/ └── vapora/forms/*.toml ← Interactive forms (read-only) ``` ## Verify Configuration ```bash # TOML syntax check toml-cli validate config/runtime/vapora.toml # Nickel type check nickel typecheck config/examples/vapora.solo.example.ncl # JSON validation jq . config/runtime/vapora.json ``` ## Deploy ### Docker Compose ```bash # Services read from config/runtime/vapora.toml docker compose up -d # Check status docker compose logs -f vapora-backend ``` ### Kubernetes ```bash # Create config from file kubectl create configmap vapora-config \ --from-file=config/runtime/vapora.toml # Deploy (Pod mounts ConfigMap) kubectl apply -f kubernetes/manifests/ ``` ### Custom Script ```bash # Source configuration source <(grep '^\[' config/runtime/vapora.toml | tr -d '[]') # Use in your deployment export VAPORA_CONFIG=$(pwd)/config/runtime/vapora.toml ./deploy.sh ``` ## Common Customizations ### Change Port ```toml [backend] port = 9001 ``` ### Enable Ollama (Local LLMs) ```toml [providers] ollama_enabled = true ollama_url = "http://localhost:11434" ``` ### Set Budget Limits ```toml [llm_router.budget_enforcement.role_limits] architect_cents = 1000000 # $10,000/month developer_cents = 500000 # $5,000/month ``` ### Enable Observability ```toml [monitoring] prometheus_enabled = true log_level = "debug" tracing_enabled = true ``` ## Troubleshooting ### "Port already in use" ```bash # Change port in config [backend] port = 9001 # Instead of 8001 ``` ### "Database connection failed" ```bash # Check SurrealDB is running curl -i http://localhost:8000 # Update config with correct URL [database] url = "ws://surrealdb.example.com:8000" ``` ### "Configuration not loading" ```bash # Ensure file exists ls -l config/runtime/vapora.toml # Check syntax toml-cli validate config/runtime/vapora.toml # Restart services docker compose restart ``` ## Environment Overrides All config can be overridden via environment variables: ```bash export VAPORA_BACKEND_PORT=9001 export VAPORA_BACKEND_WORKERS=8 export SURREAL_URL=ws://surrealdb:8000 export ANTHROPIC_API_KEY=sk-ant-... docker compose up -d ``` ## Next Steps 1. **Read Full Docs**: `README.md` (complete reference) 2. **Understand Modes**: `config/examples/README.md` (all deployment options) 3. **Learn Integration**: `integration.md` (deployment workflows) 4. **Check Examples**: `config/examples/vapora.*.example.toml` (reference configs) ## One-Command Deploy ### Solo (Development) ```bash cd provisioning && \ cp config/examples/vapora.solo.example.toml config/runtime/vapora.toml && \ docker compose up -d ``` ### Multiuser (Team) ```bash cd provisioning && \ cp config/examples/vapora.multiuser.example.toml config/runtime/vapora.toml && \ # Edit config/runtime/vapora.toml with your URLs docker compose up -d ``` ### Enterprise (Production) ```bash cd provisioning && \ cp config/examples/vapora.enterprise.example.toml config/runtime/vapora.toml && \ # Edit config/runtime/vapora.toml with your infrastructure details docker compose up -d ``` --- **That's it!** Your VAPORA instance is running. **Need help?** Check `README.md` for comprehensive documentation.