Ansible UI: AWX ve Semaphore UI

Denis GukovSemaphore UI Kurucusu ve Teknoloji Direktörü
18 dk okuma

AWX ve Semaphore UI, ekip genelinde otomasyon çalıştırmak için web arayüzleri ve API’ler sunar. Bu karşılaştırma AWX 24.6.1 ile Semaphore UI 2.20.0 sürümlerini, desteklenen araçlardan dağıtıma, iş akışlarına, erişim denetimine ve sürekli bakıma kadar ele alır.

Bu makaleyi yapay zekâyla tartış

Genel bakış

Bir Ansible playbook dosyası, tek bir mühendisin dizüstü bilgisayarında çalıştırdığı bir komutla başlayabilir. Dağıtım, yama uygulama ve sertifika yenileme ortak sorumluluk haline geldiğinde, ekibin görev başlatmak, girdi sağlamak, kimlik bilgilerini yönetmek ve sonuçları incelemek için ortak bir alana ihtiyacı olur. AWX ve Semaphore UI, kayıtlı görev yapılandırmaları, zamanlamalar, izinler ve yürütme geçmişiyle bu ortak katmanı sağlar.

AWX, otomasyonu Ansible etrafında düzenler. Ekipler Git içinde tutulan playbook dosyalarını envanter ve kimlik bilgileriyle ilişkilendirir, görev şablonu olarak kaydeder ve görevleri iş akışlarında birleştirir. Kuruluşlar, ekipler ve izinler her kaynağı kimin kullanabileceğini belirler. AWX açık kaynaklı bir projedir. Red Hat Ansible Automation Platform (AAP) ise kendi desteği ve yaşam döngüsü olan ayrı bir ticari üründür.

Semaphore UI da yeniden kullanılabilir görevleri temel alır. Ansible playbook dosyalarının yanında Terraform/OpenTofu, Terragrunt, Bash, PowerShell ve Python için ayrı şablonlar sunar. Projeler bu şablonları, depoları, envanterleri, kimlik bilgilerini ve değişkenleri bir araya getirir. İş akışları, Kod Olarak Altyapı (IaC) ile kaynak hazırlamayı makine yapılandırmasına ve sonraki bakım işlemlerine bağlayarak bu araçlardaki işlemleri tek arayüzde toplar.

Tek projede Ansible, OpenTofu, Terragrunt, Bash ve PowerShell için Semaphore UI görev şablonları.
Semaphore UI. Farklı otomasyon araçları, yapılandırılabilir sütunları olan tek proje şablon listesinde yer alır.
Bir kuruluş içindeki Ansible görev şablonlarını ve yeniden kullanılabilir iş akışı şablonlarını gösteren AWX listesi.
AWX. Ansible görev ve iş akışı şablonları, kuruluş ve çalıştırma denetimleriyle aynı listede bulunur.

Kısa karşılaştırma

Kayıtlı görevler, kimlik bilgileri ve zamanlamalar her iki üründe de rutin Ansible işlemlerini kapsar. Daha geniş farklar araç kapsamı, dağıtım ve kaynak yönetimindedir. Aşağıda her ürünün temel özellikleri yer alır.

Otomasyon araçları, kurulum, yürütme, iş akışları, envanterler, erişim denetimi, kimlik bilgileri, değişkenler, lisans
Ölçütler Semaphore UI AWX
Otomasyon araçları Ansible, Terraform/OpenTofu, Terragrunt, Bash, PowerShell, Python AnsibleDiğer araçlar playbook üzerinden
Kurulum İkili dosya, paketler, Docker, Kubernetes Kubernetes (Operator), Docker (geliştirme/test)
Sunucu platformları Linux, macOS, Windows, FreeBSD Linux konteynerleri (Kubernetes / Docker)
Görev yürütme Sunucuda veya uzak görev makinelerinde Yürütme sunucularında veya Kubernetes görev podlarında
İş akışları Evet, otomasyon araçları arasında görsel iş akışları Evet, yeniden kullanılabilir alt akışlarla görsel Ansible iş akışları
Zamanlama Cron ifadeleri, tek seferlik çalıştırmalar Tek seferlik ve yinelenen zamanlamalar
Envanter yönetimi Statik ve Git envanterleri, dinamik eklentiler, NetBox ve diğer harici kaynaklar Statik ve dinamik envanterler, yönetilen güncellemeler, birleştirilmiş envanterler
Erişim denetimi RBAC, proje rolleri, özel roller, şablon izinleriLDAP, OIDC, yerel TOTP RBAC, kuruluş ve ekip rolleri, kaynak bazlı izinlerLDAP, OIDC, SAML, kimlik sağlayıcı üzerinden MFA
Kimlik bilgileri Key Store, SSH anahtarları, parolalar, harici kasa entegrasyonları Kimlik bilgisi nesneleri, SSH anahtarları, parolalar, harici kasalar
Değişkenler Yeniden kullanılabilir değişken grupları, ek değişkenler, ortam değişkenleri, anketler Envanter, makine ve grup değişkenleri, ek değişkenler, anketler
Lisans MIT (Community)Ücretli sürümler için ayrı ticari koşullar Apache 2.0

Rutin Ansible görevleri için her ikisi de başlatma, zamanlama ve yürütme geçmişi sağlar. Temel farklar, envanter ve izin yönetimi, doğrudan çalıştırdıkları araçlar ve dağıtım yöntemleridir.

Buradaki Semaphore UI özellikleri Community, Pro ve Enterprise sürümlerini kapsar. Kullanılabilirlik notları gereken en düşük sürümü belirtir. Lisanslama ve destek bölümü ticari seçenekleri açıklar.

Özellik karşılaştırması

Bir dağıtım altyapıyı hazırlayabilir, makineleri yapılandırabilir ve üretim ortamını değiştirmeden önce onay bekleyebilir. Bu adımların nerede çalıştığı, sonuçları nasıl paylaştığı ve kimin denetiminde olduğu, ürünler arasındaki en yararlı farkları ortaya koyar.

Kurulum ve yapılandırma

AWX için önerilen kurulum Kubernetes kullanır. Semaphore UI bağımsız kurulumları da desteklediğinden, hizmeti barındırmak için gereken altyapı ilk farklardan biridir.

DestekleniyorKısmen destekleniyorDesteklenmiyor
Kurulum ve yapılandırma: AWX ve Semaphore UI
Ölçütler Semaphore UI AWX
Bağımsız ikili dosya Evet Hayır
Yerel Linux paketleri EvetDEB / RPM Hayır
Docker dağıtımı Evet KısmenYalnızca geliştirme ve test
Kubernetes dağıtımı EvetHelm chart EvetAWX Operator
Yerel Windows sunucusu EvetAnsible için WSL, konteyner veya Linux runner gerekir HayırLinux konteynerleri
Yüksek erişilebilirlik EvetEnterprisePaylaşılan veritabanı, Redis, yük dengeleyici EvetReplikalar, veritabanı yük devri ayrıca yapılandırılır

Önerilen AWX dağıtımı Kubernetes Operator, PostgreSQL ve konteynerli görev yürütmeyi birleştirir. Docker kurulumu geliştirme ve test içindir. Kubernetes kullanan ekipler için Operator tanıdık bir işletim modeli sunar. Yalnızca AWX için küme kurmak, bakımı yapılacak altyapıyı artırır.

Semaphore UI, Helm üzerinden Kubernetes yanında SQLite, MySQL veya PostgreSQL ile ikili dosya, yerel paket ve Docker kurulumlarını destekler. Bağımsız kurulum küme gerektirmeden mevcut bir sunucuyu kullanabilir. Böylece ekipler daha küçük bir başlangıç dağıtımı ve işletim modeli seçebilir.

Sunucunun işletim sistemi ile görev yürütme ayrı konulardır. Semaphore UI için yerel Windows sunucu ikili dosyası vardır. Ansible ise Linux, macOS, uygun bir konteyner veya WSL gerektirir. Linux runner, başka yerde barındırılan web hizmeti için görev çalıştırabilir. Her iki platform da Ansible üzerinden Windows hedeflerini yönetebilir.

Yüksek erişilebilirlik için AWX ölçeklendirme seçenekleri ve Semaphore UI Enterprise HA dağıtımı, veritabanı yük devri ve kurtarma planlaması gerektirir. Bağlantısız kurulumlarda ayrıca paket, yürütme imajı, güncelleme ve ücretli lisans etkinleştirmesi için bir teslim yolu gerekir.

Otomasyon araçları

Dağıtım, kaynakları Terraform/OpenTofu ile hazırlayıp Ansible ile yapılandırabilir ve Python ile tamamlanabilir. AWX diğer araçları playbook üzerinden çağırırken Semaphore UI doğrudan görev şablonları sağlar.

DestekleniyorKısmen destekleniyorDesteklenmiyor
Otomasyon araçları: AWX ve Semaphore UI
Ölçütler Semaphore UI AWX
Ansible playbook dosyaları Evet Evet
Terraform/OpenTofu EvetYerel görev şablonu KısmenAnsible playbook üzerinden
Terragrunt EvetYerel görev şablonu KısmenAnsible playbook üzerinden
Bash EvetYerel görev şablonu KısmenAnsible playbook üzerinden
PowerShell EvetYerel görev şablonu KısmenAnsible playbook üzerinden
Python EvetYerel görev şablonu KısmenAnsible playbook üzerinden

AWX, yürütmenin merkezinde Ansible’ı tutar. Playbook dosyaları, yürütme ortamı gerekli bağımlılıkları içerdiğinde Terraform/OpenTofu, Terragrunt, Bash, PowerShell veya Python araçlarını modül ya da komutlarla çağırabilir. Bu, kaynak hazırlama sürecini zaten Ansible ile tanımlayan ekiplere uygundur.

Semaphore UI bu araçlara kendi şablonlarını sağlar. Ekipler, yalnızca başka bir aracı çağırmak için ek playbook tutmadan mevcut otomasyonu doğrudan çalıştırıp iş akışlarında birleştirebilir. OpenTofu görevi altyapıyı hazırlayabilir, Ansible görevi makineleri yapılandırabilir ve Python görevi ilgili işlemi tamamlayabilir. Hepsi aynı arayüzdedir.

Semaphore UI Pro, çalışma alanları ve çalıştırma seçenekleri yanında Terraform/OpenTofu state için yerleşik HTTP arka ucu sunar. Ekipler ayrı bir arka uç işletmek yerine ortak state verisini Semaphore UI içinde tutabilir. AWX içinde çağrılan Terraform süreci, ekibin yapılandırdığı arka ucu kullanır. AWX Terraform State envanter kaynağı makineleri keşfetmek için state okur, ancak saklamaz.

Semaphore UI 2.20’de Terraform yürütmesinde iki önemli sınır vardır. Normal çalıştırma uygulamadan önce planı gösterir, ancak bu planı otomatik kaydedip aynı dosyayı uygulamaz. Onayın tam olarak önerilen değişikliği kapsaması gerekiyorsa planın kaydedilip apply adımına aktarılmasını yapılandırın. Varsayılan Terraform komutları, arka uç desteklese bile geçersiz kılınmadıkça state kilitlemesini devre dışı bırakır. Üretim çalıştırmalarını yapılandırırken iki ayarı da gözden geçirin.

Şablonlar ve zamanlama

AWX, kayıtlı Ansible yapılandırmasını Job Template, Semaphore UI ise Task Template olarak adlandırır. Her çalıştırma, AWX içinde ayrı bir job veya Semaphore UI içinde ayrı bir task oluşturur. Her birinin kendi durumu, günlükleri ve sonucu vardır. Şablon yeniden kullanılabilir ayarları tutarken anketler ve zamanlamalar çalıştırmanın girdilerini ve zamanını belirler.

DestekleniyorKısmen destekleniyorDesteklenmiyor
Şablonlar ve zamanlama: AWX ve Semaphore UI
Ölçütler Semaphore UI AWX
Kayıtlı görev yapılandırması Evet Evet
Anketler (çalıştırma girdileri) Evet Evet
Yeniden kullanılabilir değişken kümeleri EvetŞablonlar arasında paylaşılan Variable Groups KısmenEnvanter değişkenleri veya Git dosyaları
Çalıştırmada depo dalı Evet Evet
Zamanlanmış çalıştırmalar EvetCron ifadeleri ve tek seferlik çalıştırmalar EvetTek seferlik ve yinelenen zamanlamalar

AWX içinde Job Template, proje, playbook, envanter ve kimlik bilgilerini seçer. Çalışma zamanı bağımlılıkları için bir execution environment kullanır. Semaphore UI’ın Ansible Task Template formu, depo, playbook ve envanteri seçer. Yeniden kullanılabilir Variable Groups ve Ansible seçenekleri aynı formda bulunur. Mühendisler yapılandırmayı bir kez hazırlar. Ardından çalışma arkadaşları her seferinde yeniden yapılandırmadan işlemi başlatabilir.

Depo, playbook, envanter, Variable Groups ve başlatma istemlerini gösteren Semaphore UI Ansible Task Template düzenleyicisi.
Semaphore UI. Ortak değişkenler ve başlatma seçenekleri içeren Ansible Task Template.
Proje, envanter, playbook, kimlik bilgileri ve yürütme ortamını gösteren AWX Job Template düzenleyicisi.
AWX. Kaynak seçimi ve başlatma istemleri içeren Ansible Job Template.

Anketler, çalışma arkadaşlarının playbook düzenlemeden çalıştırma girdileri sağlamasına imkan tanır. AWX metin uzunluğu sınırları gibi doğrulamalar destekler. Semaphore UI Survey Variables, türlendirilmiş girdiler, çok satırlı metin, gizli bilgiler ve tekli/çoklu seçim içerir. Yeniden kullanılabilir Variable Groups, ortak yapılandırmayı çalıştırma değerlerinden ayrı tutar. AWX, farklı şablonlarda seçilen ayrı bir Variable Groups nesnesi yerine envanter, makine ve grup değişkenleri veya Git içindeki değişken dosyalarıyla yapılandırmayı paylaşabilir.

İzin verecek şekilde yapılandırıldığında her ikisi de farklı depo dalı çalıştırabilir. AWX envanter, kimlik bilgileri ve diğer görev ayarlarını sorabilir. Semaphore UI yapılandırılmış Ansible envanter ve komut satırı geçersiz kılmalarını destekler. Bu seçenekler mühendislere esneklik verirken onaylı prosedürlerin daha sınırlı bir başlatma formu sunmasını sağlar.

Zamanlamalar bu çalıştırmaları otomatikleştirir. AWX başlangıç tarihi, saat ve yineleme ayarları kullanır. Semaphore UI cron ifadeleri ve tek seferlik çalıştırmaları destekler. Örneğin 0 2 * * * zamanlayıcının yapılandırılmış saat diliminde her gün 02:00 çalışır. Varsayılan saat dilimi UTC olur. Her iki yaklaşım yedekleme, makine denetimleri veya üretim dışı makineleri mesai dışında durdurma için kullanılabilir.

Günlük cron ifadesi, görev şablonu ve sonraki çalıştırma saatini gösteren Semaphore UI zamanlama iletişim kutusu.
Semaphore UI. Görev girdileri ve sonraki çalıştırma önizlemesi olan cron zamanlaması.
Günlük yineleme, saat dilimi, bitiş koşulları ve istisnaları olan AWX zamanlama formu.
AWX. Saat dilimi, yineleme, bitiş koşulları ve istisnalar içeren zamanlama.

Envanter

Her iki ürün de statik dosyaları ve dinamik keşfi kullanabilir. Temel fark, keşfedilen makinelerin platform tarafından yönetilen kayıtlara mı dönüştüğü, yoksa görev çalışırken Ansible tarafından mı belirlendiğidir.

DestekleniyorKısmen destekleniyorDesteklenmiyor
Envanter: AWX ve Semaphore UI
Ölçütler Semaphore UI AWX
Statik envanterler EvetINI/YAML düzenleyicisi ve dosyalar EvetMakine/grup kayıtları ve içe aktarılan dosyalar
Git tabanlı envanterler EvetAynı veya ayrı envanter deposu EvetSCM proje kaynakları
Dinamik envanterler EvetAnsible eklentileri ve çalıştırılabilir betikler EvetEklentiler, betikler ve yönetilen kaynaklar
Envanter yenileme KısmenYürütme sırasında keşif EvetZamanlanmış ve çalıştırma anında güncellemeler
Hesaplanan envanter grupları EvetAnsible constructed eklentisi EvetYönetilen birleştirilmiş envanterler
Yönetilen fact önbelleği HayırAnsible önbelleği ayrıca yapılandırılır EvetMakine fact verileri AWX içinde saklanır
Makine ve grupları düzenleme KısmenINI/YAML tanımlarını düzenleme EvetMakine ve gruplar için ayrı denetimler

AWX makine ve grup kayıtlarını tutar, statik dosyalar, Ansible envanter eklentileri veya çalıştırılabilir betikler kullanan güncelleme görevleriyle yeniler. Semaphore UI, INI/YAML envanterlerini düzenlemeyi veya ayrı depo dahil Git üzerinden yüklemeyi sağlar. Eklenti ve betikler makineleri yürütme sırasında keşfeder. Temel ayrım, platformun envanter yaşam döngüsünü yönetmesi veya ekibin Ansible yapılandırmasını kullanmasıdır.

Statik YAML içinde iki staging web makinesini gösteren Semaphore UI Ansible envanter düzenleyicisi.
Semaphore UI. Makine grupları ve bağlantı değişkenleri içeren statik YAML envanteri.
Ayrı staging makinelerini, web gruplarını ve makine bazlı etkinleştirme anahtarlarını gösteren AWX envanteri.
AWX. Grup üyeliği ve makine bazlı denetimleri olan ayrı makine kayıtları.

Örneğin netbox.netbox.nb_inventory eklentisi, NetBox verilerinden cihaz ve sanal makineleri keşfeder, hedefleri filtreler ve gruplar oluşturur. NetBox asıl veri kaynağı olarak kalır. AWX güncelleme denetimi ve kayıt saklama eklerken Semaphore UI yapılandırmayı Ansible’a iletir. Her ikisi de ayrı yerel NetBox bağlayıcısı yerine Ansible eklentisini kullanır. Diğer kaynaklar arasında AWS, Azure ve Google Cloud bulunur. Semaphore UI belgelerinde Git içinde barındırılan Consul Python betiği de yer alır.

AWX birleştirilmiş envanterleri kayıtlı giriş envanterlerini birleştirir ve çıkan makineleri yönetir. Semaphore UI önceki kaynaklardan grup ve değişken oluşturmak için Ansible constructed eklentisini kullanabilir. Ansible önbellek eklentileri fact verilerini saklayabilir, ancak Semaphore UI, AWX’in sunduğu yönetilen fact önbelleğini sağlamaz. Önbellek depolaması, süresi ve runner ajanları arasında paylaşılması Ansible yapılandırmasının parçası olarak kalır.

Semaphore UI, 2.21.0 sürümünde ARA tarzı Ansible raporlaması eklemeyi planlıyor. Bu özellik, envanter yeteneklerini tek tek makinelerin ve otomasyon geçmişlerinin görünümüyle tamamlayacak. Operatörler her sunucuda hangi görevlerin çalıştığını, ne zaman çalıştığını ve hataların nerede oluştuğunu görebilecek.

Operatörlerin platformda makine kayıtlarını incelemesi, yenilemesi ve yönetmesi gerekiyorsa AWX envanter modelini seçin. Semaphore UI, envanterin Git içinde tanımlandığı veya Ansible tarafından NetBox ve bulut API kaynaklarından yürütme anında keşfedildiği kurulumlara uygundur.

Gizli bilgiler

Kayıtlı görevler, her çalıştırmada parola veya bulut belirteci yapıştırılmasına gerek kalmadan kimlik bilgilerine erişmelidir. Saklama ve sorgulama seçenekleri bu bilgilerin göreve nasıl ulaştığını belirler.

DestekleniyorKısmen destekleniyorDesteklenmiyor
Gizli bilgiler: AWX ve Semaphore UI
Ölçütler Semaphore UI AWX
Kimlik bilgilerini saklama Evet Evet
HashiCorp Vault EvetPro Evet
OpenBao EvetPro HayırYerleşik entegrasyon yok, Vault uyumluluğu test edilmeli
AWS Secrets Manager EvetEnterprise Evet
Azure Key Vault EvetEnterprise Evet
Devolutions Server EvetEnterprise HayırYerleşik entegrasyon yok, özel bağlantı kurulabilir

AWX kimlik bilgisi nesneleri ve Semaphore UI Key Store, her başlatmada operatörün elle girmesine gerek olmadan kayıtlı görevlere kimlik bilgisi sağlar. Her ikisi HashiCorp Vault, AWS Secrets Manager ve Azure Key Vault ile entegredir. Böylece ekipler mevcut hizmetleri kullanabilir.

Sunucu URL, mount, namespace ve belirteç kaynağı seçeneklerini gösteren Semaphore UI Vault depolama formu.
Semaphore UI. Vault bağlantı ayarları, mount ve belirteç kaynağı.
Bağlantı ve kimlik doğrulama alanlarını gösteren AWX HashiCorp Vault Secret Lookup kimlik bilgisi formu.
AWX. Vault sorgusu bağlantı ve kimlik doğrulama alanları. Ek ayarlar görünümün altında devam eder.

Diğer entegrasyonlar ürünleri ayırır. AWX CyberArk Central Credential Provider, CyberArk Conjur ve özel kimlik bilgisi türleri sunar. Semaphore UI ayrı OpenBao ve Devolutions Server entegrasyonları sağlar. AWX Vault sorgusu uyumlu hizmetle çalışabilir, ancak OpenBao uyumluluğu gereken işlem için doğrulanmalıdır.

Ekibin zaten kullandığı kasa entegrasyonunu, kimlik doğrulama yöntemi ve görevlerin ihtiyaç duyduğu gizli bilgi türleriyle birlikte karşılaştırın. Yerleşik entegrasyonu olmayan hizmetler özel veri alma kodu gerektirebilir.

Yürütme

Görevlerin hedef sistemlere erişebilen yürütme kapasitesine ihtiyacı vardır. Uzak yürütücüler ve konteyner imajları, ağ konumu ile çalışma zamanı bağımlılıklarını ayrı ayrı ele alır.

DestekleniyorKısmen destekleniyorDesteklenmiyor
Yürütme: AWX ve Semaphore UI
Ölçütler Semaphore UI AWX
Uzak yürütme Evet Evet
Ayrılmış yürütme kapasitesi EvetProProje runner ajanları EvetKaynaklara atanan örnek grupları
Yürütme yönlendirmesi EvetProŞablonlarda veya envanterlerde runner etiketleri EvetKaynaklara atanan örnek grupları
Ansible rolleri ve koleksiyonları Evetrequirements.yml üzerinden kurulum EvetProje eşitlemesinde kurulum
Konteynerli görevler EvetProDocker yürütücüsü EvetAnsible yürütme ortamı imajları
Kubernetes görev podları EvetEnterprise Evet
Eşzamanlılık denetimleri EvetŞablon, proje ve örnek sınırları EvetEşzamanlı görevler ve örnek grubu kapasitesi

AWX işi, kuruluşlara, envanterlere veya şablonlara atanabilen örnek gruplarındaki yürütme düğümlerine gönderir. Semaphore UI görevleri sunucusunda çalıştırır veya runner ajanlarına gönderir. Her iki modelde de web arayüzü merkezi kalırken yürütme makineleri hedef sistemlerin yakınında olabilir.

Özel ağ içindeki Semaphore UI runner, web sunucusundan doğrudan bağlantı olmadan makinelere yama uygulayabilir veya sertifikaları yenileyebilir. Proje runner ajanları projeye kapasite ayırır. Şablon veya envanter etiketleri işleri eşleşen runner ajanlarına yönlendirir. Bu, dağıtık sahaları ve müşteri ortamlarını destekler. Yönlendirme etiketleri makineleri seçer, ancak ağ veya bulut hesabı yalıtımını sağlamaz.

Çalışma zamanı, bu makinelerde neyin çalıştığını belirler. AWX, Ansible ve bağımlılıklarını içeren yürütme ortamı imajları kullanır. Konteyner grupları görev başına Kubernetes podu oluşturabilir. Semaphore UI, Pro ile görev başına Docker, Enterprise ile Kubernetes yürütme sunar. Bunlar web hizmetinin konteynerde barındırılmasından ayrı seçeneklerdir. Her iki ürün de depo requirements dosyalarından Ansible rolleri ve koleksiyonları kurabilir. Diğer kitaplık ve araçlar yürütme makinesinde veya imajında bulunmalıdır.

Eşzamanlılık denetimleri aynı anda yapılan işi sınırlar. AWX, eşzamanlı görev ayarlarını yürütme kapasitesi ve örnek grubu sınırlarıyla birleştirir. Semaphore UI örnek, proje ve şablon sınırları uygular.

AWX büyük bir envanteri otomatik olarak paralel görevlere bölebilir. Semaphore UI, Ansible makine sınırlarıyla ayrı çalıştırmalar kullanarak işi bölebilir. Runner etiketleri yürütme makinelerini seçer. Bu alt kümeleri ve çalıştırmaları ekip yönetir. Kademeli güncellemelerde Ansible serial ayarı ardışık grupları denetler. Bunlar hedefli çalıştırmaları ve aşamalı dağıtımları kapsarken AWX slicing tüm makineler üzerinde paralel çalışma için otomatik bölümlendirme sağlar.

İş akışları

Kaynak hazırlama, başarı ve başarısızlık sonrası farklı yollarla plan, onay, dağıtım ve makine yapılandırması gerektirebilir. İş akışının yapısı bu adımların nasıl bağlandığını belirler.

DestekleniyorKısmen destekleniyorDesteklenmiyor
İş akışları: AWX ve Semaphore UI
Ölçütler Semaphore UI AWX
Görsel iş akışı düzenleyicisi Evet Evet
Birden fazla başlangıç düğümü Hayır Evet
Dal birleştirme Evet Evet
Adım olarak iş akışları Hayır Evet
Başarı/başarısızlık dalları Evet Evet
Onay adımları Evet Evet
Ayrı onaylayıcı rolü Hayır2.21 için duyuruldu Evet
İş akışında değer aktarımı Evet Evet

AWX iş akışları Ansible görev şablonlarını bağlar, diğer araçlar playbook üzerinden çağrılır. Semaphore UI Ansible, Terraform/OpenTofu, Terragrunt, Bash, PowerShell ve Python şablonlarını doğrudan bağlar. Her ikisi de başarı/başarısızlık dalları ve onay destekler. Böylece kaynak hazırlama süreci üretim değişikliğinden önce duraklayabilir.

Her ikisi de döngüsüz grafikler kullanır ve dalların birleşiminde önceki düğümler için all/any koşullarını destekler. AWX birden fazla başlangıç düğümüne izin verir. Semaphore UI tek düğümden başlar ve görev, onay, zamanlı gecikme ve açıklama düğümleri sunar.

AWX, bir iş akışının tamamını başka bir akışta kullanarak ortak çok adımlı prosedürü tek yerde tutabilir. Özyinelemeli yürütmeyi engeller ve depo ile envanter güncelleme adımları sunar. Semaphore UI, görev şablonlarını akışlar arasında yeniden kullanır, ancak iş akışını adım olarak gömemez. Bu fark, birkaç dağıtım tek bir görevi değil ortak bir prosedürü paylaştığında önemlidir.

Plan, onay, dağıtım ve ayrı başarı/başarısızlık dalları olan Semaphore UI iş akışı düzenleyicisi.
Semaphore UI. Onay ve ayrı başarı/başarısızlık yolları içeren dağıtım iş akışı.
Plan, onay, dağıtım, iç içe sürüm doğrulaması ve kurtarma dalını gösteren tam AWX Workflow Visualizer.
AWX. Dağıtım öncesi onay, iç içe doğrulama akışı ve başarısızlık kurtarma dalı.

AWX ayrı atanabilen bir onaylayıcı rolüne sahiptir. Yöneticiler de onay verebilir. Semaphore UI 2.20 içinde onay yetkisi proje görevlerini çalıştırma iznine bağlıdır. Ekibin onayı yürütmeden bağımsız ataması gerekiyorsa bu önemli bir farktır. Ayrı Semaphore UI onaylayıcı rolü 2.21 için duyurulmuştur ve bu karşılaştırmaya dahil değildir.

Her ikisi de UI ve kimliği doğrulanmış API üzerinden onay sunar. AWX ayrıca Ansible modülü sağlar. Slack içinde etkileşimli onay, yalnızca bildirim değil API çağıran bir entegrasyon gerektirir.

Her ikisi de yeni hazırlanan makinenin adresi gibi değerleri sonraki görevlere aktarır. AWX, playbook içinde tanımlanan set_stats değerlerini yürütme düğümleri dahil sonraki görevlere ek değişken olarak sunar. Playbook başka bir aracın sonucunu bu şekilde yakalayabilir. Semaphore UI Ansible set_stats, Terraform/OpenTofu/Terragrunt çıktılarını ve Bash, PowerShell veya Python JSON çıktısını toplar, ardından ad eşleşmesi veya açık eşlemelerle hedef anket değişkenlerine aktarır.

Semaphore UI 2.20 içinde çıktı toplama, yerel yürütücü kullanan sunucuda ve uzak runner ajanlarında çalışır. Docker ve Kubernetes yürütücüleri henüz çıktı üretmez. Değerler başarılı görevlerden sonra toplanır. Bu nedenle başarısızlık dalları, başarısız görevin çıktısına güvenemez. Değerler görevi görüntüleyenlere görünür ve gizli bilgi içermemelidir.

Değer aktarımı iki üründe de dosya aktarmaz. Ayrı adımlar kaydedilmiş Terraform planı veya başka bir artefakt paylaşıyorsa ikisinin de erişebileceği depolama sağlayın. Aynı runner kullanılması çalışma dizininin görevler arasında korunacağını garanti etmez.

Erişim denetimi

Destek personelinin genel sunucu erişimi olmadan onaylı bir hizmeti yeniden başlatması gerekebilir. Yetki devri hem işlemi hem de hedeflerini sınırlandırmalıdır.

DestekleniyorKısmen destekleniyorDesteklenmiyor
Erişim denetimi: AWX ve Semaphore UI
Ölçütler Semaphore UI AWX
Rol tabanlı erişim denetimi EvetProje rolleri, Enterprise ile özel roller EvetKuruluş, ekip ve kaynak rolleri
Bağımsız envanter ve kimlik bilgisi izinleri HayırKaynak erişimi proje rollerine bağlıdır Evet
Şablon düzeyinde yürütme izinleri EvetEnterprise Evet
LDAP ve OIDC EvetPro Evet
SAML ile tek oturum açma HayırOIDC kullanılabilir Evet
İki faktörlü kimlik doğrulama EvetProYerel TOTP EvetHarici kimlik sağlayıcı üzerinden

AWX envanterlere, kimlik bilgilerine ve görev şablonlarına bağımsız izin verir. Semaphore UI erişimi projeler etrafında düzenler. Enterprise özel roller ve şablon düzeyinde yürütme izinleri daha ayrıntılı yetki devri sağlar. Önceden yapılandırılmış şablon, seçilmiş envanter, kimlik bilgileri ve çalıştırma ayarlarıyla onaylı işlem sunabilir.

Örneğin Semaphore UI Enterprise destek personeline belirli üretim sunucuları için hizmet yeniden başlatma şablonu erişimi verebilir. Temel Guest rolü ile proje geneli izni olmayan özel rol, o şablonu çalıştırma yetkisi verebilir. Envanter, makine sınırı, değişken ve diğer çalıştırma geçersiz kılmalarını sınırlandırın. Ek rollerin erişimi genişletmediğini denetleyin. İzin verilen işlemi şablon, izinler ve otomasyon birlikte tanımlar. Anket yalnızca girdileri toplar.

Bu, proje içinde bağımsız envanter veya kimlik bilgisi izinleri oluşturmadan belirli işlemleri devreder. Operatörlerin ayrı erişim kuralları altında kaynakları birleştirmesi gerekiyorsa AWX daha yakın bir eşleşmedir. Semaphore UI şablon izinleri, tanımlanmış onaylı prosedürler kümesine uygundur.

Her ikisi de oturum açmak için LDAP ve OIDC destekler. AWX, SAML’ı da destekler ve MFA için harici kimlik sağlayıcıya dayanır. Semaphore UI yerel TOTP iki faktörlü kimlik doğrulama sunar. OIDC kimlik sağlayıcısı merkezi Semaphore UI oturum açmasını karşılayabilir. Yalnızca SAML gereksinimi başka entegrasyon yaklaşımı ister.

Günlükler ve denetim

Görev çıktısı, yürütme hatalarını açıklar. Denetim geçmişi ise işlemi kimin başlattığını veya yapılandırmayı kimin değiştirdiğini kaydeder ve farklı görünürlük ve saklama gereksinimlerine sahiptir.

DestekleniyorKısmen destekleniyorDesteklenmiyor
Günlükler ve denetim: AWX ve Semaphore UI
Ölçütler Semaphore UI AWX
Görev geçmişi ve günlükleri Evet Evet
Görev geçmişini saklama EvetŞablon başına son görevleri saklama EvetYaşa göre zamanlanmış temizleme
Projeler arası denetim geçmişi EvetYönetici denetim günlüğü, kayıt etkinleştirilmeli EvetEtkinlik akışı, role dayalı görünürlük
SIEM iletimi EvetProTLS Syslog ve Splunk HEC EvetSplunk dahil harici günlük kaydı

Her iki ürün sorun gidermek için görev geçmişi ve çıktısını saklar. Denetim görünürlüğü farklıdır. AWX etkinlik akışı kaynak izinlerini ve yönetici ya da denetçi rollerini izler. Semaphore UI projeler arası denetim görünümü yöneticilere açıktır. Denetim kaydı etkinse olaylar veritabanında saklanır.

Merkezi incelemeler için AWX harici günlük kaydı, etkinlik, görev ve sunucu kayıtlarını Splunk dahil hedeflere iletir. Semaphore UI Pro, denetim filtreleri, CSV/JSONL dışa aktarma ve TLS Syslog veya Splunk HEC ile iletim ekler. Her ikisi de günlük platformuna veya güvenlik bilgileri ve olay yönetimi (SIEM) sistemine olay sağlayabilir.

Yerel saklama farklı denetimler kullanır. AWX yürütme geçmişi ve etkinlik akışı için yaşa göre zamanlanmış temizleme sunar. Semaphore UI şablon başına yapılandırılmış sayıda son görevi tutar. Merkezi günlük sistemi kayıtları bu yerel sınırların ötesinde saklayabilir.

Entegrasyonlar

Depo değişiklikleri ve hizmet portalı istekleri otomasyonu tetikleyebilir. API, webhook ve bildirimler bu olayları görevlerle ve sonuçlarıyla ilişkilendirir.

DestekleniyorKısmen destekleniyorDesteklenmiyor
Entegrasyonlar: AWX ve Semaphore UI
Ölçütler Semaphore UI AWX
REST API Evet Evet
Görev webhook bağlantıları EvetGenel uç noktalar, eşleştiriciler, değer çıkarma EvetGitHub ve GitLab webhook bağlantıları
Görev bildirimleri Evet Evet

AWX, depo olaylarıyla tetiklenen otomasyon için yerleşik GitHub ve GitLab görev webhook bağlantıları sağlar. Semaphore UI, istek eşleştirme ve görev girdilerini çıkarma özellikli genel webhook uç noktaları sunar. Bu uç noktalar farklı sistemlerden olay alabilir. Her iki ürünün REST API’leri de diğer istemcileri destekler.

Giden bildirimlerde AWX e-posta, Slack, Rocket.Chat, Mattermost, PagerDuty, AWS SNS, Grafana, IRC, Twilio ve webhook bildirimleri sunar. Semaphore UI e-posta (SMTP), Telegram, Slack, Microsoft Teams, Rocket.Chat, DingTalk ve Gotify destekler. Bu bildirimler görev olaylarını kişilere veya hizmetlere iletir. Gelen görev webhook bağlantıları ise otomasyonu başlatır.

Hizmet portalı veya ITSM sistemi, hazırlanmış görevi başlatıp sonucunu almak için iki REST API’den birini kullanabilir. Örneğin dahili portal, kayıtlı şablona sertifika yenileme isteği gönderebilir ve tamamlandığını isteği yapan kişiye bildirebilir. Bu, ayrı bir yerel bağlayıcı değil, ekibin yapılandırdığı API tabanlı bir entegrasyondur.

Yapay zekâ destekli otomasyon

Her iki platform, Claude Code ve Codex gibi kodlama asistanlarına yararlı materyaller sağlar: herkese açık belgeler, açık kaynak kodu ve belgelenmiş API’ler. Asistan yapılandırma örneklerine başvurabilir, bir ayarın nasıl uygulandığını inceleyebilir ve entegrasyon kodu hazırlamak için API tanımlarını kullanabilir. İlgili yapılandırma ve görev çıktısı sağlandığında hataları araştırmaya da yardımcı olabilir. Böylece platformda özel bir yerleşik yapay zekâ özelliği olmadan yapay zekâ destekli kurulum ve sorun giderme mümkün olur.

Hem AWX hem de Semaphore UI için topluluk MCP bağlayıcıları mevcuttur. Bağlayıcıya bağlı olarak bunlar, asistanları şablon bulma, görev başlatma ve sonuç alma gibi platform işlemlerine bağlar. Böylece ekip, görev tanımlarını ve yürütmeyi platformda tutarken hazır otomasyonu bir asistan aracılığıyla kullanabilir.

Semaphore UI, 2.21.0 sürümünde Pro için resmî MCP desteği duyurmuştur.

Lisanslama ve destek

AWX ve Semaphore UI ücretsiz, açık kaynaklı yazılım sunar. Temel fark, otomasyon işletim için önem kazandıkça ekiplerin ticari özelliklere, üretici desteğine ve sözleşmesel taahhütlere nasıl eriştiğidir.

Açık kaynak ve ticari seçenekler

AWX Apache 2.0 lisanslıdır ve topluluğu tarafından desteklenir. Aynı zamanda Red Hat Ansible Automation Platform (AAP) automation controller bileşeninin upstream projesidir. Red Hat, AWX’in kendisi için destek aboneliği satmaz. Ticari destekli ürünü AAP, automation controller ile ek bileşenleri, sertifikalı içeriği ve tanımlı ürün yaşam döngüsünü birleştiren ayrı kurumsal platformdur.

Semaphore UI open-core modelini izler. Community ücretsizdir ve MIT lisanslıdır. Pro ve Enterprise aynı ürün ailesinde ticari özellikler ve üretici desteği ekler. Pro, otomasyonu günlük işlemlere taşıyan daha küçük mühendislik ekipleri için tasarlanmıştır. Enterprise daha kapsamlı erişim, yürütme, erişilebilirlik ve destek gereksinimlerini karşılar.

Bu nedenle ticari teklifler farklı satın alma ihtiyaçlarına yöneliktir. AAP daha geniş bir kurumsal platform yatırımıdır. Semaphore UI ticari planları mühendislik ekipleri ve orta ölçekli kuruluşlara yöneliktir. Enterprise karmaşık veya iş açısından kritik ortamlar için seçenek sunar. Ekipler yatırımı ihtiyaç duydukları otomasyon hizmetine odaklayarak gelişmiş denetimler ve üretici desteği edinebilir.

Destek ve sözleşmesel taahhütler

AWX kullanıcıları topluluk kanallarında soru sorabilir, hata bildirebilir ve düzeltme katkısı sunabilir. Topluluk yardımı, üreticinin belirli sürede yanıt verme veya olay desteği sağlama yükümlülüğünü oluşturmaz. AAP aboneliği AAP için Red Hat desteği sağlar, mevcut AWX kurulumuna destek kapsamı eklemez.

Semaphore UI Community de destek SLA’sı olmadan imkanlar ölçüsünde yardım sağlar. Pro mesai saatlerinde üretici desteği içerir. Enterprise özel SLA seçenekleri ile devreye alma, yapılandırma, yükseltme ve geçiş yardımı sunar. Ticari müşteriler böylece üreticiyle doğrudan ilişki kurar. Destek yükümlülükleri ilgili plan ve sözleşmeyle belirlenir.

Sürüm ve bakım planlaması

AWX projesi şu anda büyük ölçekli yeniden düzenleme sırasında sürümlerin duraklatıldığını belirtiyor. Semaphore UI sürüm yayımlamaya devam ediyor ve desteklenen sürümleri tanımlayan güvenlik politikası tutuyor. Bu farklar yükseltme ve bakım planlamasında önemlidir. İşleteceğiniz sürümün sürüm geçmişini, güvenlik politikalarını ve yükseltme rehberini sözleşmesel destek taahhütleriyle birlikte inceleyin.

Nasıl seçmeli?

Her iki platform ekiplerin otomasyonu paylaşmasını, görevleri zamanlamasını ve sonuçları incelemesini sağlar. Makine bilgilerini nasıl yönettiğinize, işlemleri nasıl devrettiğinize, hizmeti nerede barındırdığınıza ve nasıl destek aldığınıza göre seçin.

AWX ne zaman seçilmeli?

Ansible otomasyonun merkezindeyse ve kaynak yönetim modeli günlük işleyişinize uyuyorsa AWX güçlü bir seçenektir.

  • Platform üzerinden envanter yönetimi temel gereksinimdir. Operatörler günlük işlerinde makine ve grup kayıtlarını tutmak, envanterleri yenilemek ve makine fact verilerini saklamak için platforma dayanır.
  • Envanter ve kimlik bilgileri kendi erişim kurallarına ihtiyaç duyar. Ekibin, görev şablonlarından bağımsız olarak her envanter ve kimlik bilgisine izin ataması gerekir. Böylece operatörler yalnızca kullanmaya yetkili oldukları kaynakları birleştirebilir.
  • Kubernetes mevcut altyapıya uygundur. Ekibiniz zaten bir küme işlettiğinden AWX için önerilen dağıtım modeli mevcut sistem ve yetkinliklere uyar.
  • Ansible prosedürlerinizi zaten orkestre eder. Playbook dosyalarınız diğer araç çağrıları dahil gereken işlemleri kapsar ve Ansible yürütme ortamları bağımlılıklarını sağlar.
  • Topluluk desteği ihtiyaçlarınızı karşılar. Ekibiniz üretici yanıt süresine ilişkin bir SLA olmadan olayları incelemek, güvenlik duyurularını değerlendirmek ve kurulumu sürdürmek için bilgiye ve kapasiteye sahiptir.

Semaphore UI ne zaman seçilmeli?

Mevcut araç ve altyapıyla otomasyonu çalıştırmak ve paylaşmak için sade bir hizmet istiyorsanız Semaphore UI güçlü bir seçenektir.

  • Envanterleriniz zaten Git veya harici sistemlerdedir. Görevler çalışırken NetBox, bulut API kaynakları veya başka kaynaklardan makineleri keşfeden Ansible envanter tanımlarını ve eklentilerini yeniden kullanmak istersiniz.
  • Çalışma arkadaşlarının hazır işlemlere erişmesi gerekir. Mühendisler dağıtım, hizmet yeniden başlatma veya sertifika yenileme görevlerini tanımlar. Diğer ekip üyeleri gerekli girdilerle bu görevleri başlatırken envanter ve kimlik bilgileri hazırlanmış yapılandırmanın parçası olarak kalır.
  • Kubernetes olmadan dağıtmak istersiniz. İkili dosya, yerel paket ve Docker kurulumları mevcut sunucuyu kullanmanıza imkan tanır. Yalnızca otomasyon hizmeti için küme kurmanız gerekmez.
  • Otomasyonunuz birden fazla araç içerir. Ayrı şablonlar Ansible, Terraform/OpenTofu, Terragrunt, Bash, PowerShell ve Python araçlarını doğrudan çalıştırır. İş akışları bunların işlemlerini birbirine bağlar.
  • Ticari desteğe doğrudan ulaşmak istersiniz. Ticari lisanslar aynı ürün ailesinde üretici desteği ve gelişmiş özellikler ekler. Böylece Semaphore UI kullanmaya devam ederken destek taahhütleri edinebilirsiniz.

Sık sorulan sorular

Semaphore UI, AWX’in yerini alabilir mi?

Envanter, izin ve iş akışı modeli gereksinimlerinizi kapsıyorsa evet. Mevcut playbook dosyaları genellikle yeniden kullanılabilir, ancak görev yapılandırması ve erişim denetimleri eşlenip test edilmelidir. Özellikle iç içe iş akışları, bağımsız envanter veya kimlik bilgisi izinleri ve yönetilen fact önbelleği gibi AWX özelliklerine bağımlılıkları denetleyin.

Mevcut Ansible playbook dosyalarımı kullanabilir miyim?

Aynı depo ve playbook dosyalarıyla başlayın. Semaphore UI içinde gereken envanter, kimlik bilgileri, değişkenler, koleksiyonlar ve çalışma zamanı bağımlılıklarını yapılandırıp temsili çalıştırmaları test edin. Kodu yeniden kullanmak tüm AWX ayarlarını otomatik içe aktarmak anlamına gelmez.

AWX geçişinde neler denetlenmeli?

Temsili bir iş akışıyla başlayın. Mümkünse playbook dosyalarını yeniden kullanın. Ardından envanterleri, kimlik bilgilerini, değişkenleri, anketleri, zamanlamaları ve çalışma zamanı bağımlılıklarını eşleyin. İzinleri, onayları, iç içe akışları ve değer/dosya aktarımını ayrıca doğrulayın. İçe aktarma kurulumu azaltabilir, ancak görevin aynı davranacağını kanıtlamaz. Üretim zamanlamalarını etkinleştirmeden test edin.

Hangi Semaphore UI özellikleri ücretli sürüm gerektirir?

Community temel görev arayüzünü ve iş akışlarını kapsar. Proje runner ajanları, Docker yürütme ve harici kasa entegrasyonları Pro ile başlar. Özel roller, şablon izinleri, Kubernetes görev yürütme ve yüksek erişilebilirlik Enterprise gerektirir. Planı değerlendirirken ilgili özelliği ve gereken kapasiteyi denetleyin.

Geçişten sonra SAML tek oturum açmayı koruyabilir miyim?

AWX, SAML’ı doğrudan destekler. Semaphore UI LDAP ve OIDC destekler, ancak yerel SAML entegrasyonu yoktur. OIDC de sunan kimlik sağlayıcısı oturum açma ihtiyacını karşılayabilir. Kimlik doğrulama protokolünü değiştirmek AWX izinlerini yeniden oluşturmadığından kullanıcı ve grup eşlemesini ayrıca doğrulayın.

Semaphore UI Kubernetes gerektirir mi?

Hayır. İkili dosya, paket ve Docker kurulumu vardır. Kubernetes isteğe bağlı dağıtım seçeneğidir. Otomasyon araçları ve uygun veritabanı yine ortamın parçasıdır.

AWX Terraform çalıştırabilir veya HashiCorp Vault kullanabilir mi?

Evet. Playbook dosyaları Terraform komutlarını veya koleksiyon modüllerini çalıştırabilir. AWX, HashiCorp Vault kimlik bilgisi sorgularını destekler. Semaphore UI, ayrı Terraform/OpenTofu şablonları ve isteğe bağlı Pro HTTP state arka ucuyla farklı yapılandırma modeli sunar.

Platformlar uzak yürütmeyi destekler mi?

Her ikisi de uzak sunucularda görev çalıştırabilir. AWX farklı ekip ve iş yükleri için gruplanmış yürütme düğümleri kullanır. Semaphore UI runner ajanları kullanır. Kurulum ve erişim modelleri farklıdır.

Bu makale yararlı oldu mu?

Kaynaklar

  1. ARA Records Ansible, “ARA Records Ansible”. URL: https://ara.recordsansible.org/ (erişim tarihi: ).
  2. Semaphore UI, “Semaphore runner output capture and executor limits”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/runners/job_pool.go#L167-L192 (erişim tarihi: ).
  3. Semaphore UI, “Semaphore task dispatch, runner routing, concurrency and remote workflow outputs”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/tasks/TaskPool.go (erişim tarihi: ).
  4. Semaphore UI, “Semaphore workflow input mapping model”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db/Workflow.go#L27-L44 (erişim tarihi: ).
  5. Semaphore UI, “Semaphore task template options and survey field types”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db/Template.go (erişim tarihi: ).
  6. Semaphore UI, “Semaphore NetBox dynamic inventory example”. URL: https://semaphoreui.com/docs/user-guide/inventory/netbox-dynamic-inventory (erişim tarihi: ).
  7. Semaphore UI, “Semaphore Consul inventory script”. URL: https://semaphoreui.com/docs/user-guide/inventory/consul-dynamic-inventory (erişim tarihi: ).
  8. Ansible community, “NetBox Ansible inventory plugin”. URL: https://docs.ansible.com/projects/ansible/latest/collections/netbox/netbox/nb_inventory_inventory.html (erişim tarihi: ).
  9. Ansible community, “AWS EC2 Ansible inventory plugin”. URL: https://docs.ansible.com/projects/ansible/latest/collections/amazon/aws/aws_ec2_inventory.html (erişim tarihi: ).
  10. Ansible community, “Azure Ansible inventory plugin”. URL: https://docs.ansible.com/projects/ansible/latest/collections/azure/azcollection/azure_rm_inventory.html (erişim tarihi: ).
  11. Ansible community, “Google Cloud Ansible inventory plugin”. URL: https://docs.ansible.com/projects/ansible/latest/collections/google/cloud/gcp_compute_inventory.html (erişim tarihi: ).
  12. Semaphore UI, “Semaphore cloning of inventory repositories”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/tasks/local_executor_inventory.go (erişim tarihi: ).
  13. Semaphore UI, “Semaphore local execution, workflow outputs, inventory paths, host limits and branch overrides”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/tasks/local_executor.go (erişim tarihi: ).
  14. Semaphore UI, “Semaphore survey field types”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/web/src/components/SurveyVars.vue (erişim tarihi: ).
  15. Semaphore UI, “Semaphore survey inputs and task launch form”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/web/src/components/TaskForm.vue (erişim tarihi: ).
  16. Semaphore UI, “What is Semaphore UI?”. URL: https://semaphoreui.com/docs/introduction/what-is-semaphore (erişim tarihi: ).
  17. AWX project, “AWX user guide”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/index.html (erişim tarihi: ).
  18. Semaphore UI, “Semaphore source and MIT license”. URL: https://github.com/semaphoreui/semaphore (erişim tarihi: ).
  19. AWX project, “AWX source and Apache 2.0 license”. URL: https://github.com/ansible/awx (erişim tarihi: ).
  20. Semaphore UI, “Semaphore setup and first run”. URL: https://semaphoreui.com/docs/getting-started (erişim tarihi: ).
  21. Semaphore UI, “Semaphore installation methods and dependencies”. URL: https://semaphoreui.com/docs/admin-guide/installation (erişim tarihi: ).
  22. AWX project, “AWX installation paths”. URL: https://github.com/ansible/awx/blob/24.6.1/INSTALL.md (erişim tarihi: ).
  23. AWX project, “AWX Operator installation”. URL: https://docs.ansible.com/projects/awx-operator/en/latest/installation/basic-install.html (erişim tarihi: ).
  24. Semaphore UI, “Semaphore high availability prerequisites”. URL: https://semaphoreui.com/docs/admin-guide/ha#prerequisites (erişim tarihi: ).
  25. AWX project, “AWX web and task replica scaling”. URL: https://docs.ansible.com/projects/awx-operator/en/latest/user-guide/advanced-configuration/scaling-the-web-and-task-pods-independently.html (erişim tarihi: ).
  26. Semaphore UI, “Semaphore automation applications”. URL: https://semaphoreui.com/docs/user-guide/apps (erişim tarihi: ).
  27. Semaphore UI, “Semaphore task templates”. URL: https://semaphoreui.com/docs/user-guide/task-templates (erişim tarihi: ).
  28. AWX project, “AWX job templates and surveys”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/job_templates.html (erişim tarihi: ).
  29. Semaphore UI, “Survey variables”. URL: https://semaphoreui.com/docs/user-guide/task-templates/survey-vars (erişim tarihi: ).
  30. Semaphore UI, “Terraform and OpenTofu in Semaphore”. URL: https://semaphoreui.com/docs/user-guide/apps/terraform (erişim tarihi: ).
  31. Ansible community, “Ansible Terraform module”. URL: https://docs.ansible.com/projects/ansible/latest/collections/community/general/terraform_module.html (erişim tarihi: ).
  32. Semaphore UI, “Semaphore Terraform HTTP backend”. URL: https://semaphoreui.com/docs/user-guide/apps/terraform/states (erişim tarihi: ).
  33. Semaphore UI, “Semaphore workflow nodes and approvals”. URL: https://semaphoreui.com/docs/user-guide/workflows (erişim tarihi: ).
  34. Semaphore UI, “Semaphore inventory types and stored resources”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db/Inventory.go (erişim tarihi: ).
  35. AWX project, “AWX job slicing”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/job_slices.html (erişim tarihi: ).
  36. Semaphore UI, “Semaphore workflow approval API routes”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/api/router.go (erişim tarihi: ).
  37. AWX project, “AWX resource, workflow approval and activity-stream access control”. URL: https://github.com/ansible/awx/blob/24.6.1/awx/main/access.py (erişim tarihi: ).
  38. AWX project, “AWX workflow approval Ansible module”. URL: https://github.com/ansible/awx/blob/24.6.1/awx_collection/plugins/modules/workflow_approval.py (erişim tarihi: ).
  39. AWX project, “AWX workflow branch convergence”. URL: https://github.com/ansible/awx/blob/24.6.1/awx/main/scheduler/dag_workflow.py#L51-L112 (erişim tarihi: ).
  40. AWX project, “AWX Terraform State inventory source”. URL: https://github.com/ansible/awx/blob/24.6.1/docs/docsite/rst/userguide/inventories.rst#L1092-L1121 (erişim tarihi: ).
  41. AWX project, “AWX instance-group capacity limits”. URL: https://github.com/ansible/awx/blob/24.6.1/docs/docsite/rst/administration/containers_instance_groups.rst#L247-L263 (erişim tarihi: ).
  42. AWX project, “AWX custom credential types”. URL: https://github.com/ansible/awx/blob/24.6.1/docs/credentials/custom_credential_types.md (erişim tarihi: ).
  43. AWX project, “AWX workflows”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/workflow_templates.html (erişim tarihi: ).
  44. AWX project, “AWX workflow branching and output variables”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/workflows.html (erişim tarihi: ).
  45. AWX project, “AWX collection of Ansible workflow variables”. URL: https://github.com/ansible/awx/blob/24.6.1/awx/main/tasks/callback.py#L156-L160 (erişim tarihi: ).
  46. AWX project, “AWX processing of execution-node events”. URL: https://github.com/ansible/awx/blob/24.6.1/awx/main/tasks/receptor.py#L544-L553 (erişim tarihi: ).
  47. AWX project, “AWX inheritance of variables between workflow jobs”. URL: https://github.com/ansible/awx/blob/24.6.1/awx/main/models/workflow.py#L324-L354 (erişim tarihi: ).
  48. Semaphore UI, “Semaphore global runners”. URL: https://semaphoreui.com/docs/admin-guide/runners/ (erişim tarihi: ).
  49. Semaphore UI, “Semaphore project runners”. URL: https://semaphoreui.com/docs/user-guide/projects/runners (erişim tarihi: ).
  50. AWX project, “AWX execution and hop nodes”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/administration/instances.html (erişim tarihi: ).
  51. AWX project, “AWX execution environments”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/execution_environments.html (erişim tarihi: ).
  52. AWX project, “AWX Kubernetes container groups”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/administration/containers_instance_groups.html (erişim tarihi: ).
  53. Semaphore UI, “Semaphore inventories”. URL: https://semaphoreui.com/docs/user-guide/inventory (erişim tarihi: ).
  54. AWX project, “AWX inventories”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/inventories.html (erişim tarihi: ).
  55. Semaphore UI, “Semaphore project access”. URL: https://semaphoreui.com/docs/user-guide/projects (erişim tarihi: ).
  56. Semaphore UI, “Semaphore team roles and template-level permissions”. URL: https://semaphoreui.com/docs/user-guide/team#extended-rbac (erişim tarihi: ).
  57. AWX project, “AWX role-based access controls”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/rbac.html (erişim tarihi: ).
  58. Semaphore UI, “Semaphore LDAP and OIDC authentication”. URL: https://semaphoreui.com/docs/admin-guide/authentication (erişim tarihi: ).
  59. AWX project, “AWX LDAP, OIDC and SAML authentication”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/administration/ent_auth.html (erişim tarihi: ).
  60. Semaphore UI, “Semaphore Key Store”. URL: https://semaphoreui.com/docs/user-guide/key-store (erişim tarihi: ).
  61. AWX project, “AWX credentials and secret lookups”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/credentials.html (erişim tarihi: ).
  62. AWX project, “AWX external secret management integrations”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/credential_plugins.html (erişim tarihi: ).
  63. Semaphore UI, “Semaphore OpenBao secret storage”. URL: https://semaphoreui.com/docs/user-guide/key-store/openbao (erişim tarihi: ).
  64. Semaphore UI, “Semaphore Devolutions Server secret storage”. URL: https://semaphoreui.com/docs/user-guide/key-store/devolutions-server (erişim tarihi: ).
  65. Semaphore UI, “Semaphore webhook integrations”. URL: https://semaphoreui.com/docs/user-guide/integrations (erişim tarihi: ).
  66. AWX project, “AWX webhooks”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/webhooks.html (erişim tarihi: ).
  67. Semaphore UI, “Semaphore REST API”. URL: https://semaphoreui.com/api-docs (erişim tarihi: ).
  68. Ansible community, “Ansible command execution”. URL: https://docs.ansible.com/projects/ansible/latest/collections/ansible/builtin/command_module.html (erişim tarihi: ).
  69. Ansible community, “Ansible PowerShell module”. URL: https://docs.ansible.com/projects/ansible/latest/collections/ansible/windows/win_powershell_module.html (erişim tarihi: ).
  70. Semaphore UI, “Semaphore notification channels”. URL: https://semaphoreui.com/docs/admin-guide/notifications (erişim tarihi: ).
  71. AWX project, “AWX notifications”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/notifications.html (erişim tarihi: ).
  72. Semaphore UI, “Semaphore task history and output”. URL: https://semaphoreui.com/docs/user-guide/tasks (erişim tarihi: ).
  73. Semaphore UI, “Semaphore scheduled tasks”. URL: https://semaphoreui.com/docs/user-guide/schedules (erişim tarihi: ).
  74. AWX project, “AWX activity stream”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/main_menu.html (erişim tarihi: ).
  75. Semaphore UI, “Semaphore Community, Pro and Enterprise”. URL: https://semaphoreui.com/pricing (erişim tarihi: ).
  76. Red Hat, “Red Hat: AWX and Ansible Automation Platform”. URL: https://www.redhat.com/en/technologies/management/ansible/compare-awx-vs-ansible-automation-platform (erişim tarihi: ).
  77. Red Hat, “Red Hat automation controller, formerly Ansible Tower”. URL: https://www.redhat.com/en/technologies/management/ansible/automation-controller (erişim tarihi: ).
  78. Semaphore UI, “Semaphore stable releases”. URL: https://github.com/semaphoreui/semaphore/releases (erişim tarihi: ).
  79. AWX project, “AWX release history”. URL: https://github.com/ansible/awx/releases (erişim tarihi: ).
  80. Semaphore MCP contributors, “Semaphore MCP connector”. URL: https://github.com/cloin/semaphore-mcp (erişim tarihi: ).
  81. Semaphore MCP contributors, “Semaphore MCP task execution and output”. URL: https://github.com/cloin/semaphore-mcp/blob/72f5b7008f6d560c74e01da9884e6fddbbf68999/src/semaphore_mcp/tools/tasks.py (erişim tarihi: ).
  82. LY Corporation, “AWX MCP connector and compatibility”. URL: https://github.com/lycorp-jp/awx-mcp/tree/fa4d25ffa9e04967e98dc66b219a0481d61ea814 (erişim tarihi: ).
  83. LY Corporation, “AWX MCP job template execution”. URL: https://github.com/lycorp-jp/awx-mcp/blob/fa4d25ffa9e04967e98dc66b219a0481d61ea814/awx_mcp/tools/job_templates.py (erişim tarihi: ).
  84. LY Corporation, “AWX MCP job output”. URL: https://github.com/lycorp-jp/awx-mcp/blob/fa4d25ffa9e04967e98dc66b219a0481d61ea814/awx_mcp/tools/jobs.py (erişim tarihi: ).
  85. HashiCorp, “Terraform local state backend”. URL: https://developer.hashicorp.com/terraform/language/backend/local (erişim tarihi: ).
  86. HashiCorp, “Terraform state locking”. URL: https://developer.hashicorp.com/terraform/language/state/locking (erişim tarihi: ).
  87. Semaphore UI, “Semaphore variable groups”. URL: https://semaphoreui.com/docs/user-guide/environment (erişim tarihi: ).
  88. Semaphore UI, “Semaphore runner selection and capacity”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/tasks/RemoteJob.go (erişim tarihi: ).
  89. Semaphore UI, “Semaphore cron and one-time schedule execution”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/schedules/SchedulePool.go (erişim tarihi: ).
  90. AWX project, “AWX schedules”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/scheduling.html (erişim tarihi: ).
  91. Ansible community, “Ansible constructed inventory plugin”. URL: https://docs.ansible.com/projects/ansible/latest/collections/ansible/builtin/constructed_inventory.html (erişim tarihi: ).
  92. Ansible community, “Ansible cache plugins”. URL: https://docs.ansible.com/projects/ansible/latest/plugins/cache.html (erişim tarihi: ).
  93. Semaphore UI, “View and export the Semaphore audit log”. URL: https://semaphoreui.com/docs/admin-guide/audit-log/view (erişim tarihi: ).
  94. Semaphore UI, “Semaphore administrator audit-log access”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/api/audit_log.go (erişim tarihi: ).
  95. AWX project, “AWX logging and aggregation”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/administration/logging.html (erişim tarihi: ).
  96. Semaphore UI, “Semaphore audit log”. URL: https://semaphoreui.com/docs/admin-guide/audit-log (erişim tarihi: ).
  97. Semaphore UI, “Ansible role and collection installation”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db_lib/AnsibleApp.go (erişim tarihi: ).
  98. Semaphore UI, “Task-history cleanup”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db/sql/task.go (erişim tarihi: ).
  99. Semaphore UI, “Ansible inventory overrides”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/tasks/TaskRunner.go (erişim tarihi: ).
  100. AWX project, “Projects, Ansible Galaxy and collections”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/projects.html#ansible-galaxy-support (erişim tarihi: ).
  101. AWX project, “Management jobs”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/administration/management_jobs.html (erişim tarihi: ).
  102. Semaphore UI, “Terraform plan and apply execution”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db_lib/TerraformApp.go (erişim tarihi: ).
  103. Semaphore UI, “Repository working directories”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db/Repository.go (erişim tarihi: ).
  104. HashiCorp, “Terraform plan command”. URL: https://developer.hashicorp.com/terraform/cli/commands/plan (erişim tarihi: ).
  105. HashiCorp, “Terraform apply command”. URL: https://developer.hashicorp.com/terraform/cli/commands/apply (erişim tarihi: ).
  106. Semaphore UI, “Security policy”. URL: https://github.com/semaphoreui/semaphore/security/policy (erişim tarihi: ).
  107. AWX project, “Security policy”. URL: https://github.com/ansible/awx/security/policy (erişim tarihi: ).
  108. AWX project, “Release status and project overview”. URL: https://github.com/ansible/awx/blob/devel/README.md (erişim tarihi: ).
  109. Semaphore UI, “Semaphore notification channel implementation”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/tasks/alert.go (erişim tarihi: ).

Karşılaştırma, yukarıda listelenen belgeler, depolar ve fiyatlandırma sayfaları kullanılarak Semaphore UI Ekibi tarafından hazırlanmıştır. Her kaynak için erişim tarihi belirtilmiştir.