xbp 0.9.3

XBP is a zero-config build pack that can also interact with proxies, kafka, sockets, synthetic monitors.
Documentation
{
  "project_name": "my-application",
  "port": 3000,
  "build_dir": "/home/user/projects/my-app",
  "app_type": "rust",
  "build_command": "cargo build --release",
  "start_command": "./target/release/my-app",
  "install_command": "cargo fetch",
  
  "services": [
    {
      "name": "api",
      "target": "rust",
      "port": 3000,
      "branch": "main",
      "build_dir": "/home/user/projects/api",
      "url": "https://api.example.com"
    },
    {
      "name": "frontend",
      "target": "nextjs",
      "port": 3001,
      "branch": "main",
      "build_dir": "/home/user/projects/frontend",
      "url": "https://app.example.com",
      "npm_script": "start"
    },
    {
      "name": "worker",
      "target": "python",
      "port": 3002,
      "branch": "main",
      "build_dir": "/home/user/projects/worker"
    }
  ],
  
  "monitor_url": "https://api.example.com/health",
  "monitor_method": "GET",
  "monitor_expected_code": 200,
  "monitor_interval": 60,
  
  "log_files": [
    "/var/log/app/api.log",
    "/var/log/app/frontend.log",
    "/var/log/app/worker.log",
    "/home/user/.pm2/logs/api-out.log",
    "/home/user/.pm2/logs/api-error.log"
  ],
  
  "kafka_brokers": "localhost:9092",
  "kafka_topic": "application-logs",
  "kafka_public_url": "https://kafka.example.com:9092",
  
  "environment": {
    "NODE_ENV": "production",
    "RUST_LOG": "info",
    "DATABASE_URL": "postgresql://localhost/mydb"
  }
}