Etzel Art of Digital Manufacturing
Bize ulaşın
Lunex 1.6.0 kullanım kılavuzu

Projeler: kapsam, dosyalar ve izolasyon

Proje oluşturun; kaynakları, kapsamı ve izolasyonunu öğrenin.

Proje, birlikte geliştirilen ve çalıştırılan bir entegrasyonun kaynak dosyalarını, bağlantı ayarlarını ve dağıtım tanımlarını bir araya getirir. Örneğin sipariş kabul eden bir API, siparişi doğrulayan akış ve kuyruğa gönderen adımlar aynı projede bulunabilir. Bir projede birden fazla akış olabilir.

Proje oluşturmak çalışan bir servis başlatmaz. Kaynaklarınızı hazırladıktan sonra geliştirme için Run, Git’e gönderilmiş bir sürümü paketleyip dağıtmak için Build kullanırsınız. Bu iki işlemin kaynak seçimi ve etkileri çalıştırma rehberinde açıklanır.

Proje hangi sınırı ifade eder?

SınırLunex’teki anlamı
Kaynak sınırıAkışlar, Java/Groovy dosyaları, özellikler, API sözleşmesi ve dağıtım dosyaları bir proje altında tutulur.
Git sınırıKurulumun ortak deposunda her projenin kendi dizini bulunur. Ayrı proje açmak ayrı Git deposu açmaz.
Çalışma sınırıGeliştirme çalışması ayrı bir pod/Java sürecinde; paketlenmiş sürüm projenin Deployment’ında çalışır. Aynı projedeki akışlar bu çalışma ortamını paylaşır.
Kaynak sınırıCPU ve RAM, pod içindeki konteynere uygulanır. Bir akışın yoğunluğu aynı projedeki diğer akışları etkileyebilir.
Yetki sınırıRoller kurulum genelinde geçerlidir. Bir projeyi açan kullanıcı onun tek sahibi olmaz; proje bazında özel erişim listesi yoktur.
Altyapı sınırıVarsayılan projeler aynı Kubernetes namespace’ini, platform servislerini ve servis hesabını paylaşır. Proje kimliği tek başına ağ, Secret, veri tabanı veya müşteri izolasyonu sağlamaz.

Ayrı ekipler veya müşteriler arasında güçlü güvenlik ayrımı gerekiyorsa yöneticiniz ayrı kurulum, namespace, kimlik rolleri, ağ politikaları, servis hesapları ve veri kaynaklarını birlikte tasarlamalıdır. Project ID, bir kiracı kimliği veya güvenlik duvarı değildir. Yönetim ve sorumluluklar bu ayrımı açıklar.

İlk projeyi oluşturma

Ön koşul: geliştirme ortamında oturum açmış olmanız ve platform-developer rolünüzün bulunması gerekir. Proje yazarlığında genellikle platform-user rolü de atanır.

  1. Projects → Create project açın.
  2. Name alanına anlaşılır bir ad yazın; örneğin Order intake.
  3. Project ID alanını kontrol edin; örneğin order-intake. Kimlik proje adresinde ve çalışma kaynaklarının adlandırılmasında kullanılır.
  4. Create project seçin.

Ad ve kimlik en az altı karakter olmalıdır. Kimlik küçük harf, rakam ve tire kullanır; mevcut veya ayrılmış bir ad olamaz. Örneğin templates, kamelets, configuration, services, contracts ve lunex ayrılmıştır.

Başarılı işlem sizi projeye götürür. Kubernetes kurulumunda Source altında başlangıç olarak application.properties ve deployment.jkube.yaml bulunur. Projenin henüz akışı, Git commit’i veya çalışan konteyneri olmayabilir; bu bir hata değildir.

Projenin içinde ne bulunur?

Dosyaİşlevi
*.camel.yamlMesajın hangi kaynaktan alınacağını, hangi adımlardan geçeceğini ve nereye gönderileceğini belirler. Designer veya Code görünümünde düzenlenir.
application.propertiesÇalışma ayarları ve özellik yer tutucularının değerlerini içerir. camel.main.name proje kimliğini, camel.main.description açıklamasını taşır.
openapi.jsonHTTP API sözleşmesini, operasyonlarını ve veri şemalarını içerir. Varsa API design sekmesi görünür.
api-publishing.yamlAPI erişimi ve yayımlama ayarlarını taşır. Sözleşmeyle birlikte sürümlendirilir.
deployment.jkube.yamlPaketlenmiş Kubernetes dağıtımına eklenecek pod/Deployment ayarlarını içerir.
Java, Groovy ve diğer kaynaklarAkışın ihtiyaç duyduğu özel işlevleri, betikleri veya veri dosyalarını içerir.
README.mdProjenin amacı, bağlantıları ve işletim notlarıdır; mevcutsa Readme bölümü görünür.

camel.main.name değerini elle değiştirmek proje kimliğini, Git dizinini ve mevcut dağıtımı birlikte yeniden adlandırmaz. Başka bir kimlikle çalışmanız gerekiyorsa Copy kullanıp yeni projenin bağlantı ve yayın ayarlarını kontrol edin.

Project ID ile mesaj izleme için kullanılan Application ID farklıdır. Bir mesajı iş uygulamasındaki sipariş/işlem kimliğiyle bulmak için Application ID rehberini kullanın.

Dosya ekleme ve düzenleme

  1. Projede Source → Files açın.
  2. Create file seçip orders.camel.yaml gibi bir ad girin; Save seçin. Dosya uzantısı kullanılacak düzenleyiciyi belirler.
  3. Hazır bir dosya için Upload kullanın.
  4. Dosya adını seçerek düzenleyiciyi açın. Akışlarda Designer, kaynak metni için Code kullanın.
  5. Saved durumunu veya dosyanın kendi Save işleminin başarı sonucunu bekleyin.

Örnek projenin Source ekranında Files ve Commits görünümleri, dosya listesi ve Git'e gönderilmemiş değişiklikler.

Örnekte Source → Files altında kaydedilmiş dosyalar ve NEW / Not committed durumları görünür. Dosya adını seçerek düzenleyiciyi açın; sürüm geçmişini incelemek için Commits görünümüne geçin.

Kaydedilen dosya henüz Git’e gönderilmiş değildir. Source listesindeki değişiklik durumuna tıklayarak farkı inceleyin; ardından commit ve push yapın. Kaydetme başarısızsa Retry save kullanın; yalnızca açık oturumda tutulan değişikliği güvenceye almadan sekmeyi kapatmayın.

Dosya satırındaki Actions menüsünden uygun dosyalarda Rename, Download source ve Delete işlemlerine erişirsiniz. Çalışma için gerekli bazı yerleşik dosyalar yeniden adlandırma/silme işlemlerine kapalıdır. Silme de Git’e gönderilecek bir değişikliktir.

Hazır projeyi kopyalama veya ZIP ile taşıma

Kopyalama: Projects listesindeki projenin Actions → Copy işlemini açın, farklı bir Name ve Project ID girin, Copy project seçin. Dosyalar yeni projeye alınır; proje kimliği ve başlangıç dağıtım dosyası yeni projeye göre hazırlanır. Özel pod ayarlarını, dış sistem adreslerini, kuyruk adlarını ve API yayın ayarlarını yeni projede yeniden kontrol edin. Kopya proje otomatik çalıştırılmaz. Proje oluşturma, içe aktarma ve kopyalama yalnızca dev kurulumunda sunulur; diğer kurulumlar projeleri Pull ile Git’ten alır.

Silinen bir projenin sürümleri Git’te kalır, çünkü bir sürüm hiç değişmez. Bu yüzden Kubernetes kurulumunda sürüm oluşturmuş bir projenin kimliği yeni projeye verilemez; Lunex nedenini göstererek reddeder. Başka bir Project ID seçin.

Dışa aktarma: aynı menüdeki Export ZIP, projenin kaydedilmiş kaynaklarını indirir. Bu dosya kaynak aktarımı içindir; Git geçmişini, çalışan podları, Secret değerlerini ve dış sistem verilerini taşımaz.

İçe aktarma: Projects → Import project açın, ZIP dosyasını seçip Import project ile onaylayın. Arşivde proje kimliğini ve adını içeren application.properties bulunmalıdır. En güvenilir başlangıç Lunex’in Export ZIP çıktısıdır. İçerikte aynı ada sahip birden fazla dosya kullanmayın; içe aktarma dosyaları adlarıyla alır. Aynı kimlikte proje varsa üzerine yazılmaz. Farklı kimlik için önce arşivdeki camel.main.name değerini ve ona bağlı dağıtım/yayın ayarlarını düzenleyin.

Beklenen sonuç, projenin Projects listesinde ve dosyaların Source altında görünmesidir. Ardından bağlantıları doğrulayın, kaydedilmiş dosyaları Git’e gönderin ve uygun çalıştırma yöntemini seçin.

Ortak şablonlar ve Kamelet’ler

Settings altında üç ortak çalışma alanı vardır:

  • Templates: yeni proje ve dosyalar oluşturulurken kullanılan şablonlar. Bir şablon değişikliği daha önce oluşturulmuş dosyaları kendiliğinden yeniden yazmaz.
  • Kamelets: birden fazla projede kullanılabilen, giriş/çıkış ve ayarları tanımlanmış tekrar kullanılabilir entegrasyon parçaları. Paylaşılan tanımı değiştirmeden önce onu kullanan projeleri değerlendirin.
  • Configuration: ortak build betikleri ve dağıtım yapılandırması. Değişiklik birçok projeyi etkileyebilir; Git geçmişi ve yönetici kontrolüyle yönetin.

Bu alanlar sıradan bir entegrasyon gibi Run ile başlatılacak iş projeleri değildir. Bir projede tanımlı Kamelet veya route template uygun dosya satırındaki Share işlemiyle ortak alana kopyalanabilir; paylaşma Git commit’i oluşturmaz. Ortak dosyayı ayrıca gözden geçirip Git’e gönderin.

System → Deployments altında görülen platform servisleri de müşteri iş projesi değildir. Kimlik servisi, mesaj aracısı, veri tabanı ve Git hizmeti projelerin kullandığı ortak altyapıdır.

Projeyi kaldırma

Proje silme yalnızca dev kurulumunda sunulur. Prod kurulumu Git’e yazmaz; silme isteğini reddeder ve çalışan kaynaklara dokunmaz.

  1. Gerekli kaynakları Export ZIP ile alın veya Git’te bulunduğunu doğrulayın.
  2. Projects → Actions → Delete açın.
  3. Çalışan entegrasyonların durdurulacağını ve proje kaynaklarının silineceğini kontrol edin.
  4. Delete project ile onaylayın; Deleting project… tamamlanana kadar bekleyin.

Bu işlem mevcut ortamdaki build, geliştirme runtime’ı, deployment ve yayımlanmış API kaynaklarını kaldırır; ardından projeyi bağlı Git deposundan ve Lunex’ten siler. Temizlik veya Git işlemi başarısız olursa proje yeniden denemek için erişilebilir kalır; daha önce durdurulmuş kaynaklar kendiliğinden yeniden başlamaz. Sadece geliştirme çalışmasını sonlandırmak istiyorsanız Delete container kullanın; proje dosyaları kalır. Dış veri tabanları ve kuyruklarda üretilmiş iş verileri proje silme işleminin kapsamı dışındadır.

Sık karşılaşılan durumlar

DurumYapılacak işlem
Create project görünmüyor veya yazma isteği 403 dönüyorOrtamın dev olduğunu ve hesabın platform-developer rolünü kontrol ettirin.
No containers veya çalışma durumu boşKaynak oluşturmak runtime başlatmaz; Run veya gerekli commit sonrasında Build kullanın.
ZIP içe aktarılamıyorapplication.properties, proje kimliği, dosya adları ve aynı kimlikte mevcut proje olup olmadığını kontrol edin.
Kaynaklar aramada görünmüyorSearch projects and files aramasını ve tür/etiket filtrelerini temizleyip Refresh projects kullanın.
Proje silinemediHata açıklamasını kontrol edin. Temizlik tamamlanmadığında proje listede kalır; sorunu giderdikten sonra yeniden deneyin. Bağlantı kesildiyse önce listeyi yenileyerek sonucu doğrulayın.

Git ile sürümleme, çalıştırma ve dağıtım, sürümü üretime taşıma, Deployment/Log ve CPU/RAM rehberleri sonraki adımları açıklar.

Lunex’i kendi entegrasyonunuzla görün

Kılavuzda okuduklarınızı kendi sistemlerinizle deneyelim. Demo için bize yazın.