Admin paneli /admin adresindedir. Keycloak'ta kullanıcıya zelthio-owner veya zelthio-admin rolü atanmış olmalıdır. Demo ortamında mehmet@sirket.com (owner) veya yelda@sirket.com (admin) hesaplarını kullanabilirsin.
Tenant yönetimi
Çok kiracılı kurulumda (cloud/dedicated) her müşteri organizasyonu bir tenant olarak yönetilir. Operator rolü tenant oluşturabilir.
- /admin/tenants sayfasına git.
- "Yeni Tenant" butonuna tıkla — organizasyon adı ve slug gir.
- Tenant oluşturma adımları otomatik çalışır: Postgres şema hazırlama, Keycloak realm oluşturma, admin kullanıcı daveti.
- Oluşturma sonrası sistem ilk admin kimlik bilgilerini ekranda gösterir; bu bilgileri güvenli bir yerde sakla, tekrar gösterilmez.
Kullanıcı ve rol yönetimi
Kullanıcı veritabanı Keycloak'tır. Zelthio, Keycloak'tan gelen JWT token'daki rolleri okur.
Kullanıcı ekleme (on-prem)
- Keycloak admin paneline git:
http://<sunucu>:8080/admin - zelthio realm'ini seç → Users → Add User
- Email, ad-soyad gir → "Create"
- Credentials sekmesinde geçici parola belirle (Temporary: ON → kullanıcı ilk girişte değiştirir)
- Role Mappings → Client Roles → zelthio-web → istenen rolü ekle
Roller
| Rol | Yetki |
|---|---|
zelthio-owner | Tam yetki — tenant yönetimi, lisans, her şey |
zelthio-admin | Admin paneli, kullanıcı yönetimi (tenant silme hariç) |
zelthio-manager | Proje/görev yönetimi, departman raporları |
zelthio-hr | İK modülü — izin, çalışan profili |
zelthio-user | Standart kullanıcı — görev, chat, dosya |
Departmanlar
/admin/departments sayfasından departman oluşturulur, düzenlenir, silinir. Her departmanın bir yöneticisi ve renk kodu vardır. Kullanıcılar birden fazla departmana atanabilir.
- Departman oluştur → Ad, simge, renk seç
- Üye ekle / çıkar
- Departman bazlı raporları Insights'tan görüntüle
İzinler (RBAC + OPA)
Zelthio iki katmanlı yetkilendirme kullanır:
- Rol tabanlı (RBAC) — Keycloak rolleri, hangi modüle erişileceğini belirler.
- OPA Policy — Daha ince taneli kurallar. Örneğin "sadece proje sahibi kendi projesini silebilir".
Özel izin kuralı yazmak için infra/docker/opa/policies/korion.rego dosyasını düzenle, CI'da syntax kontrolü otomatik çalışır.
Denetim kayıtları
/admin/audit sayfasında tüm admin/sistem olayları listelenir:
- Kullanıcı giriş / çıkış
- Görev silme, toplu güncelleme
- AI rate-limit aşımı
- KVKK veri silme talepleri
- Admin işlemleri (tenant oluşturma, rol atama)
- Connector token oluşturma / iptal etme
Kayıtlar filtrelenebilir (tarih, aksiyon tipi, kullanıcı) ve CSV olarak dışa aktarılabilir.
Sistem sağlığı
/admin/system sayfasında anlık sistem durumu görünür: servis yanıt süreleri, DB bağlantısı, AI provider durumu, rate-limit istatistikleri.
Detaylı metrikler için Grafana: http://<sunucu>:3001— önceden kurulu dashboard'lar:
- Zelthio Overview — istek/dakika, hata oranı, P99 gecikme
- AI Usage — token tüketimi, maliyet tahmini, endpoint bazlı
- PostgreSQL — bağlantı havuzu, sorgu süresi, index hit oranı
- Loki — uygulama logları, hata arama
KVKK / Uyumluluk
/admin/compliance sayfasında KVKK gereksinimleri takip edilir:
- Veri silme talebi — Kullanıcı "verimi sil" dediğinde tek tıkla tüm veritabanı kaydı ve AI belleği temizlenir.
- Veri dışa aktarma — KVKK gereği kullanıcı kendi verisini JSON olarak indirebilir.
- Saklama süreleri — Okunmuş bildirimler ve eski AI belleği otomatik temizlik cron'u ile silinir.
CSP ihlalleri
/admin/csp-violations sayfasında tarayıcı tarafından raporlanan Content-Security-Policy ihlalleri listelenir. CSP şu an report-only modda; üretim hardening için:
# .env'e ekle
ZELTHIO_CSP_ENFORCE=1CSP enforcement açıldıktan sonra ihlal listesini 1-2 gün izle, false positive'leri allowlist'e al, ardından tam korumaya geç.