HPE Morpheus kendi provisioning motoruna sahip olmakla birlikte, kurumların mevcut Terraform kod tabanlarını ve Ansible Playbook kütüphanelerini koruyarak Morpheus'un self-service, RBAC ve maliyet yönetimi katmanlarından yararlanmasına olanak tanır. Bu hibrit yaklaşım, Morpheus'u bir "IaC orkestratörüne" dönüştürür: Kullanıcı katalogdan talepte bulunur; arka planda Terraform altyapıyı kurar, Ansible konfigürasyonu tamamlar. Bu rehber; Morpheus'ta Terraform App Template oluşturmaktan Ansible Tower/AWX entegrasyonuna, Git tabanlı playbook yönetiminden Morpheus Cypher ile güvenli değişken geçişine kadar eksiksiz bir IaC otomasyon mimarisi kurar.
Morpheus, IaC araçlarını iki katmanda kullanabilir: Provisioning katmanı (Terraform — altyapıyı oluştur) ve Konfigürasyon katmanı (Ansible — VM'i yapılandır). Her ikisi de Morpheus Workflow sistemiyle birbirine bağlanır.
| Senaryo | Yaklaşım | Ne Zaman? |
|---|---|---|
| Morpheus provisioning + Ansible konfigürasyon | Morpheus VM → Post-provision Ansible Task | Mevcut Morpheus bulut entegrasyonu varsa |
| Terraform provisioning + Ansible konfigürasyon | Morpheus Terraform App → Post-apply Ansible | Mevcut Terraform kodu varsa |
| Yalnızca Ansible | Morpheus Ansible Task veya AWX Job Template | Mevcut VM'lerin konfigürasyon yönetimi |
| Tam Terraform | Morpheus Terraform App Template | Çok kaynaklı karmaşık altyapı |
Morpheus, Terraform'u üç farklı biçimde destekler: App Blueprint (çok kaynaklı altyapı), Terraform Instance Type (tek VM odaklı) ve doğrudan Task (workflow içinde Terraform plan çalıştırma).
Morpheus, belirtilen Terraform versiyonunu otomatik olarak indirir ve yönetir. Her App Blueprint için farklı versiyon belirtilebilir.
Terraform provider'larının ihtiyaç duyduğu kimlik bilgileri (AWS Access Key, Azure Client Secret, vCenter şifresi) Morpheus Cypher veya Cloud kimlik bilgileri aracılığıyla güvenli şekilde iletilir. Kimlik bilgileri Terraform koduna yazılmaz.
Morpheus'ta App Blueprint → Terraform türü seçilerek Terraform kodu doğrudan gömülür veya Git deposundan referans alınır.
Terraform output değerleri Morpheus'a döner ve Instance bilgileri olarak kaydedilir. instance_ip çıktısı Morpheus'un IP adresi alanını doldurur; instance_id kaynağı izlemek için kullanılır.
Üretim ortamı için Terraform kodunu Morpheus'a inline gömek yerine Git deposundan çekmek önerilir. Bu yaklaşım, kod versiyon kontrolü, PR incelemesi ve CI/CD pipeline'larıyla uyum sağlar.
Morpheus, Terraform state'ini varsayılan olarak kendi veritabanında saklar. Kurumsal ortamlarda harici backend (S3, Azure Blob, Terraform Cloud) kullanımı önerilir.
Morpheus, Ansible'ı iki yöntemle çalıştırır: SSH üzerinden doğrudan Ansible çalıştırma (Morpheus Appliance üzerinden) veya Ansible Tower/AWX entegrasyonu (kurumsal AWX API'si aracılığıyla). Üretim ortamları için AWX/Tower entegrasyonu önerilir.
Entegrasyon eklendikten sonra Morpheus, AWX'teki Job Template'leri otomatik olarak listeler. Bu Job Template'ler Morpheus Task olarak kullanılabilir hâle gelir.
AWX olmadan doğrudan Ansible çalıştırmak için Library → Automation → Tasks → Add Task → Ansible Playbook:
Provisioning akışı dışında, mevcut bir Morpheus Instance üzerinde manuel Ansible çalıştırmak için:
Morpheus Cypher, HashiCorp Vault benzeri yerleşik bir anahtar-değer deposudur. Terraform ve Ansible'ın ihtiyaç duyduğu secret'lar (şifreler, API anahtarları, sertifikalar) Cypher'da şifreli saklanır ve görev çalışma zamanında alınır.
İki aracı bir araya getiren örnek bir pipeline: Kullanıcı katalogdan "3 Katmanlı Web Uygulaması" talep eder; Morpheus önce Terraform ile AWS altyapısını kurar, sonra Ansible ile uygulamayı yapılandırır.
| Belirti | Araç | Olası Neden | Çözüm |
|---|---|---|---|
| terraform init başarısız | Terraform | Provider indirme ağ sorunu | Morpheus → internet erişimi veya özel Terraform registry |
| State kilitli | Terraform | Başarısız önceki çalıştırma | DynamoDB'den kilidi manuel kaldırın: terraform force-unlock |
| AWX job başlamıyor | Ansible | Token süresi dolmuş | AWX'te token yenile, Morpheus entegrasyonunu güncelle |
| Playbook SSH bağlanamıyor | Ansible | SSH key yanlış veya agent kurulamadı | Morpheus SSH Keypair → Instance'a atanmış mı kontrol edin |
| Cypher değeri boş geliyor | Cypher | Yanlış Cypher yolu veya izin sorunu | cypher/v1/secret/[path] API'yi doğrudan test edin |
ref=v1.2.0)ESH Bilişim, Morpheus + Terraform + Ansible pipeline tasarımı, Git entegrasyonu, AWX entegrasyonu ve Cypher tabanlı secret yönetimi konularında danışmanlık verir. IaC olgunluk seviyenizi hızla yükseltin.