Agent Modülü - Gruplar
Genel Bakış
Agent Modülü, sisteme tanımlanan Agent servislerinin merkezi olarak yönetildiği modüldür.
Bir Agent, kullanıcının kendi sunucusunda çalışan ve sistem ile haberleşerek Docker image build işlemlerini gerçekleştiren bir servistir. Sisteme tanımlandıktan sonra Agent, build taleplerini kullanıcının kendi ortamında çalıştırır ve Docker image oluşturma işlemlerini gerçekleştirir.
Build işlemi boyunca Agent tarafından üretilen loglar anlık olarak sisteme iletilir. Böylece kullanıcılar build sürecini gerçek zamanlı olarak takip edebilir, oluşan logları görüntüleyebilir ve işlemin durumunu anlık olarak izleyebilir.
Agent Modülü altında bulunan Gruplar sayfası, yöneticilerin Agent modülü üzerindeki grup yetkilerini yönetmesini sağlar.
Sayfa ilk açıldığında yalnızca Agent modülü üzerinde en az bir yetkiye sahip gruplar sayfalı (paginated) olarak listelenir.
Yönetici Edit Mode seçeneğini aktif ettiğinde, sistemde bulunan tüm gruplar Agent modülü üzerinde yetkileri olsun veya olmasın listelenir. Bu mod sayesinde grupların Agent modülü yetkileri eklenebilir, güncellenebilir veya kaldırılabilir.
Ön Koşullar
Agent modülü grup yetkilerini yönetebilmek için aşağıdaki koşullar sağlanmalıdır:
- Yönetici (Admin) yetkisine sahip olunmalıdır.
- Sistemde gruplar oluşturulmuş olmalıdır.
- Sistemde en az bir Agent tanımlanmış olmalıdır.
Grup Listesi
Sayfa açıldığında:
- Gruplar sayfalı (paginated) olarak listelenir.
- Yalnızca Agent modülü üzerinde en az bir yetkiye sahip gruplar görüntülenir.
- Her grubun Agent modülü üzerindeki mevcut yetkileri kendi satırında gösterilir.
Düzenleme Modu (Edit Mode)
Yönetici Edit Mode anahtarını aktif ettiğinde:
- Sistemde bulunan tüm gruplar listelenir.
- Agent modülü yetkileri düzenlenebilir hale gelir.
- Yapılan değişiklikler yalnızca istemci tarafındaki (local state) geçici listede tutulur.
- Değişiklikler Kaydet butonuna basılana kadar sisteme kaydedilmez.
Erişim Gereksinimi
Bu sayfayı görüntüleyebilmek için kullanıcının Agent modülü için ACL yetkisine sahip olması gerekir.
ACL yetkisi, kullanıcılara Agent modülünün yetkilendirme ayarlarını yönetme izni verir. Bu yetkiye sahip olmayan kullanıcılar, yönetici yetkilerine sahip olmadıkları sürece bu sayfaya erişemezler.
Gerekli yetkiye sahip olmayan kullanıcılar bu sayfayı görüntüleyemez ve aşağıdaki yetkilendirme hatasını alırlar:
Erişim Reddedildi
Bu kaynağa erişim yetkiniz bulunmamaktadır.
Yetki Atama
Yetkiler, grubun bulunduğu satır üzerinden atanabilir veya kaldırılabilir.
Bir yetki seçildiğinde veya kaldırıldığında:
- İlgili değişiklik anlık olarak local state'e eklenir.
- Sunucuya herhangi bir istek gönderilmez.
- Değişiklikler Kaydet butonuna basılana kadar bekletilir.
Kullanılabilir Yetkiler
Agent modülü aşağıdaki yetkileri destekler.
| Yetki | Açıklama |
|---|---|
| GÖRÜNTÜLE | Grubun sistemde kayıtlı Agent listesini görüntüleyebilmesini sağlar. Bu yetkiye sahip olmayan gruplar Agent modülüne erişemez ve kayıtlı Agent'ları görüntüleyemez. |
| OLUŞTURMA | Grup üyelerinin sisteme yeni bir Agent tanımlayabilmesini sağlar. |
| ACL | Grubun Agent modülü üzerindeki diğer grupların yetkilerini yönetmesini sağlar. Bu yetkiye sahip olmayan gruplar Agent modülü grup yetkilerini düzenleyemez. |
Değişiklikleri Kaydetme
Yetkilendirme işlemleri tamamlandıktan sonra:
- Yapılan değişiklikleri kontrol edin.
- Kaydet butonuna tıklayın.
- Yalnızca değiştirilen yetkiler sunucuya gönderilir.
- İşlem başarıyla tamamlandığında yeni yetkiler aktif hale gelir.
Değişiklikleri Sıfırlama
Reset butonuna basıldığında:
- Kaydedilmemiş tüm değişiklikler iptal edilir.
- Local state temizlenir.
- Liste son kaydedilmiş haline geri döner.
- Sunucuya herhangi bir istek gönderilmez.
Doğrulamalar
Sistem, değişiklikleri kaydetmeden önce tüm yetki değişikliklerini doğrular.
Yetki güncellemeleri yalnızca başarılı bir kayıt işleminden sonra kalıcı hale gelir.
Yetki Bağımlılıkları
Agent modülünde grup yetkilerini yönetebilmek için yalnızca ACL yetkisine sahip olmak yeterli değildir.
Kullanıcının ayrıca Groups Modülü üzerinde de en az GÖRÜNTÜLEME yetkisine sahip olması gerekir.
Aksi halde:
- Grup listesi görüntülenemez.
- Agent modülü grup yetkilendirme işlemleri gerçekleştirilemez.
- Yetki yönetimi sırasında yetkilendirme (Authorization) hatası alınır.
Bu bağımlılık, Agent modülü grup yetkilendirme işlemlerinin Groups modülündeki grup bilgilerine ihtiyaç duymasından kaynaklanmaktadır.
Notlar
- Yapılan tüm değişiklikler Kaydet butonuna basılana kadar yalnızca local state içerisinde tutulur.
- Reset butonu kaydedilmemiş tüm değişiklikleri iptal eder.
- Sunucuya yalnızca değişiklik yapılan yetkiler gönderilir.
- Performansı artırmak amacıyla grup listesi sayfalı (paginated) olarak görüntülenir.