Audit Logs sayfası
Sidebar → Audit Logs. Org'daki her mutasyonun append-only HTTP-request log'u.
Ne kaydedilir
API surface'a gelen her POST / PUT / DELETE hangi
feature'ın tetiklediğine bakılmaksızın bir satır olarak buraya
düşer. Login ve register path'leri açıkça atlanır, böylece
şifreler log'a girmez.
Liste görünümü
Server-side filtreli + paginated.
| Sütun | Anlamı |
|---|---|
| When | Timestamp |
| Who | Actor'un username + email'i |
| Method | POST / PUT / DELETE |
| Path | Request URL (örn: /api/orgs/<id>/helm/install) |
| Status | Dönen HTTP status kodu |
| IP | Çağrıyı yapan client IP'si |
Üstte filtre chip'leri:
- Search — path + username üzerinde tam metin
- Method
- Status range (örn: hata için sadece 4xx/5xx)
- Time range (son saat / gün / hafta / özel)
- Actor (üyelerden multi-select)
Satıra tıklama → Detail paneli
Tam satırla sağ-side drawer:
- Tüm liste sütunları artı
- User-Agent
- Request body (sanitized) — JSON, hassas alanlar
(
password,token,kubeconfig,secret,key)[redacted]ile değiştirilmiş - Response body — text olarak yakalanmış
Sanitization audit middleware'ında merkezdedir; kim olursanız olun şifreleri göremezsiniz. Kubeconfig ve token'lar için de aynı.
Admin (cross-org) görünümü
Admin → Audit Logs tüm org'lar arasında aynı şekli gösterir. İki filtre ekler:
- Org (multi-select)
- Org only toggle — açıkken sadece non-NULL
org_id'li satırlar görünür; kapalıyken super-admin aksiyonları (org_id IS NULLile) da belirir
Log'a düşmeyen şeyler
- Read'ler (GET / HEAD) — sık ve gürültülü
- WebSocket event'leri
- Login / register denemeleri — şifreleri log'tan dışarıda tutmak için tasarım gereği. Bruteforce detection isterseniz ayrı bir feature (TODO)
Tutma
Bugün: sonsuza dek tut. Prune job yok. Disk pressure çıkarsa admin'iniz eski satırları truncate edecek bir goose migration ekler; kapsam dışı.
Yaygın sorular
"X release'i Y gününde kim kurdu?"
Filtre: path helm/install içerir, time range, request body'de
release adına göre arama. Actor + timestamp tam orada.
"Alice'i kim admin yaptı?"
Filtre: path /members/ içerir, request body'de "Alice'in
e-postası" ile arama. PUT .../role çağrısıyla eşleşmeli.
"API bugün hata döndü mü?" Filtre: status range 400-599, time range bugün. Path size hangi feature olduğunu söyler.
Ayrıca bakın
- Referans: Admin sayfaları
- Backend docs: Concept → Audit logs