mirror of
https://github.com/taylanbakircioglu/flowfish.git
synced 2026-09-16 15:45:14 +00:00
d7ca50b387
Multi-cluster dependency mapping, real-time network monitoring, impact analysis, and CI/CD integration capabilities. Made-with: Cursor
8.1 KiB
8.1 KiB
🚀 Flowfish - Mevcut Durum ve Erişim Bilgileri
✅ Kurulum Durumu
Tarih: 21 Kasım 2025
Mevcut Sprint: Sprint 5-6 (Analysis Wizard & Communication Discovery) - BAŞLAYACAK
Tamamlanan Sprintler: Sprint 1-4 ✅
🌐 Erişim Bilgileri
🔗 Web Arayüzü
URL: http://localhost/
veya
URL: http://flowfish.local (eğer hosts dosyasına eklediyseniz)
🔐 Login Bilgileri
Username: admin
Password: admin123
📡 Backend API
Base URL: http://localhost/api/v1/
Health Check: http://localhost/api/v1/health
API Docs (Swagger): http://localhost/api/v1/docs
📊 Test Senaryosu
1️⃣ Login ve Ana Sayfa
# 1. Tarayıcıda açın
open http://localhost/
# 2. Login sayfası açılacak
# Giriş bilgileri:
Username: admin
Password: admin123
# 3. Login olduğunuzda "Home" sayfası açılacak
# Burada 4 adet metrik kartı göreceksiniz:
- Total Clusters: 1
- Active Analyses: 0
- Active Anomalies: 0
- Risk Score: 0
2️⃣ Cluster Management (Tamamlanmış ✅)
# Sol menüden: Management → Clusters
İşlemler:
✅ Cluster listesi görme
✅ Yeni cluster ekleme (Add Cluster butonu)
✅ Cluster düzenleme (Edit butonu)
✅ Cluster silme (Delete butonu)
✅ Health status kontrolü
Test için:
1. "Add Cluster" butonuna tıklayın
2. Cluster bilgilerini doldurun:
- Name: test-cluster
- Type: kubernetes
- API URL: https://kubernetes.default.svc
- Description: Test cluster
3. "Create" butonuna tıklayın
3️⃣ Application Inventory (Tamamlanmış ✅)
# Sol menüden: Discovery → Application Inventory
Özellikler:
✅ Workload listesi (Pods, Deployments, Services, StatefulSets)
✅ Namespace filtreleme
✅ Workload type filtreleme
✅ Search functionality
✅ İstatistik kartları
✅ Discover Workloads butonu
Not: Şu anda workload verileri boş olabilir çünkü
gerçek bir Kubernetes cluster'a bağlanmadık.
4️⃣ Diğer Sayfalar (Placeholder - Sprint 5+ için)
Şu anki durumları:
📊 Analysis → Analysis Wizard
Status: "Coming Soon" (Sprint 5-6'da implement edilecek)
🌐 Discovery → Live Map
Status: "Coming Soon" (Sprint 7-8'de implement edilecek)
⚠️ Security → Anomaly Detection
Status: "Coming Soon" (Sprint 15-16'da implement edilecek)
🔄 Security → Change Detection
Status: "Coming Soon" (Sprint 13-14'te implement edilecek)
🎯 Şu Anda Çalışan Özellikler (Sprint 1-4)
✅ Backend
- Authentication: JWT login çalışıyor
- Health Check:
/api/v1/healthendpoint aktif - Cluster Management: Full CRUD operations
- Database: PostgreSQL, Redis, ClickHouse, Neo4j bağlantıları
- Kubernetes Integration: K8s API client hazır
- Workload Discovery: Pod, Deployment, Service, StatefulSet discovery
✅ Frontend
- Login Page: Beautiful login interface
- Dashboard Layout: Header + Sidebar + Content
- Navigation: Tüm menü yapısı
- Cluster Management: Full CRUD interface
- Application Inventory: Workload explorer
- TypeScript: Full type safety
- State Management: Redux Toolkit + RTK Query
✅ DevOps
- Docker Containers: Backend + Frontend
- Kubernetes Deployment: All pods running
- Nginx Ingress: Routing configured
- Local Development: Node.js + npm installed
🧪 API Test Komutları
Health Check
curl http://localhost/api/v1/health | jq .
Login
curl -X POST http://localhost/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"admin123"}' | jq .
Get Clusters
# Login yapıp token alın
TOKEN=$(curl -s -X POST http://localhost/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"admin123"}' | jq -r '.access_token')
# Cluster listesini çekin
curl -H "Authorization: Bearer $TOKEN" \
http://localhost/api/v1/clusters | jq .
Create Cluster
curl -X POST http://localhost/api/v1/clusters \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "test-cluster",
"cluster_type": "kubernetes",
"api_url": "https://kubernetes.default.svc",
"description": "Test cluster"
}' | jq .
📋 Kubernetes Pod Durumu
# Tüm pod'ları kontrol et
kubectl get pods -n flowfish
Beklenen Çıktı:
NAME READY STATUS RESTARTS AGE
backend-xxx 1/1 Running 0 30m
frontend-xxx 1/1 Running 0 30m
postgresql-0 1/1 Running 0 30m
redis-xxx 1/1 Running 0 30m
clickhouse-0 1/1 Running 0 30m
🎨 UI Sayfaları ve Durumları
| Sayfa | URL | Durum | Sprint |
|---|---|---|---|
| Login | /login |
✅ Çalışıyor | 1-2 |
| Home | /dashboard |
✅ Çalışıyor | 1-2 |
| Cluster Management | /clusters |
✅ Çalışıyor | 3-4 |
| Application Inventory | /inventory |
✅ Çalışıyor | 3-4 |
| Analysis Wizard | /analysis/wizard |
⏳ Placeholder | 5-6 |
| Live Map | /discovery/live-map |
⏳ Placeholder | 7-8 |
| Historical Map | /discovery/historical |
⏳ Placeholder | 11-12 |
| Anomaly Detection | /security/anomalies |
⏳ Placeholder | 15-16 |
| Change Detection | /security/changes |
⏳ Placeholder | 13-14 |
🚀 Sıradaki Geliştirmeler (Sprint 5-6)
Sprint 5-6: Analysis Wizard & Communication Discovery
Backend Görevleri:
- Analysis wizard API (4-step workflow)
- Gadget module configuration
- Analysis execution engine
- Communication discovery logic
- ClickHouse integration (gerçek veri)
- Data enricher (K8s metadata)
Frontend Görevleri:
- Analysis wizard (4 steps):
- Scope Selection (Cluster, Namespace, Workload seçimi)
- Gadget Modules (Network, DNS, TCP, Process, Syscall)
- Time & Profile (Continuous, Time Range, Periodic)
- Output & Integration (Dashboard, LLM, Alarms, Webhooks)
- Analysis list page
- Analysis detail page
- Communication list view
Deliverables:
- Create analysis via wizard
- Start/stop analysis
- View discovered communications
- Data flowing to databases
Tahmini Süre: 4 hafta (2 sprint)
📝 Sorun Giderme
Frontend 404 Hatası
# Nginx ingress çalışıyor mu kontrol et
kubectl get svc -n ingress-nginx
# Ingress'i kontrol et
kubectl get ingress -n flowfish
Backend Bağlanamıyor
# Backend pod logları
kubectl logs -n flowfish deployment/backend --tail=50
# Health check
curl http://localhost/api/v1/health
Login Çalışmıyor
# PostgreSQL bağlantısı kontrol et
kubectl exec -it -n flowfish postgresql-0 -- psql -U flowfish -d flowfish -c "SELECT * FROM users;"
# Backend log kontrol et
kubectl logs -n flowfish deployment/backend | grep -i "login\|auth"
🎯 Development Workflow
Local Development
# Frontend development (hot reload)
cd /Users/U05395/Documents/flowfish/frontend
npm start # http://localhost:3000
# Backend development
cd /Users/U05395/Documents/flowfish/backend
uvicorn main:app --reload # http://localhost:8000
Kubernetes Deployment
# Build new images
cd /Users/U05395/Documents/flowfish
docker build -t flowfish/backend:local backend/
docker build -f frontend/Dockerfile.production -t flowfish/frontend:local frontend/
# Update deployments
kubectl set image deployment/backend -n flowfish backend=flowfish/backend:local
kubectl set image deployment/frontend -n flowfish frontend=flowfish/frontend:local
✅ Ready Status
Status: 🟢 READY FOR SPRINT 5-6
- ✅ Infrastructure (Sprint 1-2)
- ✅ Cluster Management (Sprint 3-4)
- ✅ Local Development Environment
- ✅ TypeScript IDE Support
- ✅ All Pods Running
- ✅ API Accessible
- ✅ UI Accessible
Next: Analysis Wizard implementation başlıyor! 🚀
Last Updated: 21 Kasım 2025, 21:30
Environment: Docker Desktop Kubernetes
Namespace: flowfish