provisioning-outreach/presentations/rust-laspalmas-250926/docs/rust-meetup-k8s-setup.md

1 line
47 KiB
Markdown
Raw Normal View History

# Rust Meetup 2025 - Complete Kubernetes Setup\n\n## Open Source Event Management Stack with Istio Service Mesh\n\nThis document provides a complete production-ready Kubernetes deployment for the Rust Meetup 2025 event management system using open-source tools.\n\n---\n\n## 🏗️ **Architecture Overview**\n\n```plaintext\n┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐\n│ Attendees │ │ Presenters │ │ Organizers │\n└─────┬───────────┘ └─────┬───────────┘ └─────┬───────────┘\n │ │ │\n ▼ ▼ ▼\n┌─────────────────────────────────────────────────────────────────┐\n│ Istio Gateway │\n│ typebot.rustmeetup.com │ surveys.rustmeetup.com │ claper... │\n└─────────────────────────────────────────────────────────────────┘\n │ │ │\n ▼ ▼ ▼\n┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐\n│ Typebot │ │ Formbricks │ │ Claper │\n│ (Conversational │ │ (Surveys) │ │ (Live Polls) │\n│ Forms) │ │ │ │ │\n└─────────────────┘ └─────────────────┘ └─────────────────┘\n │ │ │\n └──────────────────────┼──────────────────────┘\n ▼\n ┌─────────────────┐\n │ Baserow │\n │ (Database) │\n └─────────────────┘\n │\n ▼\n ┌─────────────────┐\n │ PostgreSQL │\n │ (Persistence) │\n └─────────────────┘\n```\n\n---\n\n## 📦 **Complete Stack Components**\n\n| Component | Purpose | Technology | Replicas |\n|-----------|---------|------------|----------|\n| **Typebot** | Pre/Post conversational forms | Node.js/React | 2-10 (HPA) |\n| **Formbricks** | Privacy-first surveys | Next.js | 2-8 (HPA) |\n| **Claper** | Live polling during event | Elixir/Phoenix | 2-6 (HPA) |\n| **Baserow** | Open-source Airtable alternative | Django/Vue.js | 2-4 (HPA) |\n| **PostgreSQL** | Primary database | PostgreSQL 15 | 3 (HA) |\n| **Redis** | Session/cache storage | Redis 7 | 3 (Sentinel) |\n| **Istio** | Service mesh | Istio 1.20+ | Control plane |\n\n---\n\n## 🔧 **Prerequisites Setup**\n\n### **1. Kubernetes Cluster Requirements**\n\n```bash\n# Minimum cluster specifications\nNodes: 3 worker nodes\nCPU: 8 vCPU per node (24 total)\nMemory: 16GB RAM per node (48GB total)\nStorage: 100GB SSD per node\nNetwork: CNI plugin (Calico/Cilium recommended)\n```\n\n### **2. Install Istio**\n\n```bash\n# Download and install Istio\ncurl -L https://istio.io/downloadIstio | sh -\ncd istio-*\nexport PATH=$PWD/bin:$PATH\n\n# Install Isti