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

Properties, Secret ve bağımlılıkları yönetin

Bağlantı ayarlarını, kaynak dosyalarını ve gizli değerleri yönetin.

Akışın iş mantığıyla ortam değerlerini ayırın. Adres, periyot ve iş seçenekleri properties/ConfigMap ile; parola ve token gibi değerler Secret ile sağlanabilir. Route bu kaynakların değerini çalışma anında kullanır.

Doğru kaynağı seçin

KaynakUygun kullanımÖrnek referans
application.propertiesProjenin sürümlenen ayarları ve runtime seçenekleri{{orders.timeout}}
ConfigMapOrtama ait, gizli olmayan ortak değer{{configmap:orders-settings/host}}
SecretParola, anahtar ve diğer credential{{secret:orders-credentials/password}}
OS environment variableRuntime’a dağıtımda verilen ortam değişkeni{{env:ORDERS_HOST}}
JVM system propertyRuntime’a verilen JVM özelliği{{sys:orders.region}}
BeanYapılandırılmış bağlantı veya özel nesneİlgili component alanında bean referansı

ConfigMap ve Secret bu kurulumun Kubernetes ortamında bulunmalıdır. Aynı kaynak adı farklı ortamda farklı değer taşıyabilir. Projede yalnızca referansın bulunması kaynağı oluşturmaz veya başka ortama kopyalamaz.

Proje property’si ekleyin

  1. Architecture → More create options → Properties seçin veya Source → Files içinden application.properties açın.
  2. Mevcut runtime ayarlarını koruyarak yeni satırları ekleyin:
orders.timeout=5000
orders.greeting=Order received
  1. Saved durumunu bekleyin.
  2. Route’taki uygun alanda {{orders.timeout}} veya {{orders.greeting}} kullanın.
  3. Çalışan projeye uygulamak için Reload; yeni runtime için Run kullanın. Başlatma ayarları değiştiyse runtime’ın yeniden başlatılması gerekebilir.

Örnek bir body adımı:

- setBody:
    constant: "{{orders.greeting}}"

Bu adım çalışırken body Order received olur. {{…}} yapılandırma referansıdır; ${body} gibi ifadeler mesajın o andaki içeriğini okur. Birbirlerinin yerine kullanılmazlar.

Görsel editörden değer kaynağı seçin

  1. İlgili adımı ve property alanını açın.
  2. Alanın yanındaki Configure … simgesini seçin.
  3. Set from penceresinde Properties, ConfigMap, Secret, Services veya Examples kaynağını açın.
  4. Aramayla istediğiniz adı/anahtarı bulun ve seçin.
  5. Alanın doğru referansı içerdiğini kontrol edin; kaydetme durumunu bekleyin.

Services hizmetin host, port veya ikisini birlikte seçmenizi sağlar. Bu seçim ağ bağlantısını test etmez. Examples, environment/JVM property gibi yazım biçimlerini gösterir; örnekteki adı kendi anahtarınızla değiştirin. Expression alanlarında sunulan Editor, ilgili ifade veya script’i düzenler.

Properties listesi yüklenemiyorsa Retry kullanın. Hata Invalid Unicode escape in application.properties ise dosyadaki geçersiz \u dizisini düzeltin. Aranan alan görünmüyorsa property filtresini ve doğru projede olduğunuzu kontrol edin.

Secret oluşturun ve kullanın

Ortam kaynaklarını yönetme yetkiniz varsa:

  1. System → Secrets → Create secret seçin.
  2. Örneğin orders-credentials adını verin. Ad için küçük harf, rakam ve tire kullanın.
  3. Oluşturulan satırı açıp Add key seçin.
  4. Key alanına password, Value alanına gerçek değeri girin ve Add key ile kaydedin.
  5. Route’un parola alanından Configure … → Secret ile orders-credentials/password seçin veya {{secret:orders-credentials/password}} yazın.
  6. Projenin camel.jbang.dependencies listesinde camel-kubernetes bulunduğunu doğrulayın. Runtime’ı yeniden başlatıp bağlantıyı test edin.

Secret listesinde değerler gizlenir; gerekli yetkiyle tek bir değeri açıp düzenleyebilirsiniz. Bu, credential’ın Git’e yazılması gerektiği anlamına gelmez. Hassas component alanları placeholder bekler; gerçek parolayı route’un YAML kaynağına yerleştirmeyin.

Platformun kendi korunan Secret’ını proje credential’ı yerine kullanmayın. Kaynağı silmek onu kullanan diğer entegrasyonları etkiler. API erişimi için Secret gerekiyorsa API güvenliği sayfasındaki beklenen yapıyı kullanın; API credential reference alanı yalnızca kaynak adını alır.

ConfigMap kullanın

System → ConfigMaps → Create configmap ile örneğin orders-settings oluşturun. Kaynağın Add key işleminde host ve ortamın hizmet adresini girin. Route’ta {{configmap:orders-settings/host}} kullanın.

secret: ve configmap: referansları için native Kubernetes property desteği gerekir. Yeni projelerin camel.jbang.dependencies listesi camel-kubernetes içerir. Eski bir projenin listesinde yoksa ekleyin. Örneğin mevcut listesi yalnızca camel-console olan bir projede:

camel.jbang.dependencies=camel-console,camel-kubernetes

Mevcut diğer bağımlılıkları silmeyin. Geliştirme runtime’ı ve paketli entegrasyonlar lunex-integration servis hesabıyla çalışır ve kurulumun namespace’indeki Secret ile ConfigMap’leri okuyabilir; kaynağı bu namespace’te oluşturun. Değişikliği kaydedip geliştirme runtime’ını yeniden başlatın; deployment için commit ve Build yapın.

ConfigMap değerleri gizli değildir. Parola, token veya özel anahtar için Secret kullanın. System ekranındaki Environment variables ve Application properties platform ayarlarını gösterir; projenin application.properties dosyasını düzenlemek için proje kaynaklarına dönün.

Runtime bağımlılıklarını hazırlayın

Component kataloğu hangi seçeneklerin kullanılabildiğini anlatır. Çalışan projenin bu component’in kütüphanelerine ve gerektiğinde sürücüsüne de erişebilmesi gerekir.

Expression için de aynı ayrım geçerlidir: dil seçicisindeki seçenekler farklı kütüphaneler kullanabilir. Simple ve Groovy rehberleri kendi örneklerinin tür ve bağımlılık hazırlığını açıklar.

Projedeki application.properties dosyasında camel.jbang.dependencies listesi bulunabilir. Ek kütüphane gerektiğinde mevcut listeyi koruyarak ekleyin. Örneğin listesi yalnızca camel-console olan bir projeye JSON ve Groovy desteği eklemek:

camel.jbang.dependencies=camel-console,camel-jackson,camel-groovy

Özel Java kütüphanesi kullanırken doğru Maven koordinatı ve sürümünü belirtin; artifact deposuna runtime/build ortamının erişebilmesi gerekir. Bağımlılık veya classpath değiştiğinde geliştirme runtime’ını yeniden başlatıp yüklemeyi doğrulayın. Deployment için dosyayı commit ederek yeniden Build yapın.

Kendi Kamelet’inizde Kamelet → Dependencies alanına camel:component veya mvn:groupId:artifactId:version biçiminde bağımlılık eklenir. Java sınıfı, script, schema, XSLT ve benzeri kaynakların da proje dosyalarında bulunduğunu ve runtime’ın kullandığı adla referanslandığını kontrol edin.

SAP gibi ek runtime hazırlığı isteyen bağlantılar için yalnızca dependency adı eklemek yeterli değildir; bağlantının kurulum adımlarını tamamlayın.

Bir ayar ne zaman etkili olur?

DeğişiklikUygulama adımı
Route veya proje propertiesOtomatik kaydın tamamlanması, ardından Run/Reload
Başlatma/classpath ayarıRuntime’ı yeniden başlatma ve sonucu kontrol etme
Deployment kaynaklarıGit commit ve Build/deployment akışı
Secret/ConfigMap değeriİlgili component’in yeniden okuma davranışına göre reload/restart; yeni değerle gerçek bağlantı testi
API erişim ayarıAPI Save, ardından Run/Reload veya commit ve Build

Secret değerinin güncellenmesi her component’te açık bağlantıyı anında yenilemeyebilir. Bağlantı havuzu veya token önbelleği varsa yeniden bağlantı kurulmasını sağlayın. CPU/RAM, replica ve deployment çevre ayarlarını proje runtime’ında düzenleyin.

Yapılandırma hatalarını çözün

  • Property bulunamadı: Anahtarı, büyük/küçük harf kullanımını ve kaynağın bu ortamda varlığını kontrol edin.
  • Secret listede yok: Doğru ortam/namespace’i, adını ve okuma yetkisini doğrulayın; listeyi yenileyin.
  • Key kaydedilemiyor: Anahtar adındaki izin verilmeyen karakterleri veya kaynak yönetim yetkisini kontrol edin.
  • Could not save file: Oturumdaki değişikliği kaybetmeden Retry save kullanın; Saved olmadan çalışma alanı güncellendiğini varsaymayın.
  • Sınıf veya component bulunamadı: Bağımlılık, sürüm, artifact erişimi ve yeniden başlatılan runtime’ın loglarını kontrol edin.
  • Doğru ayar, eski davranış: Çalışan hedefi ve ortamı kontrol edin; deployment Git sürümünü kullanır, çalışma alanı taslağını kullanmaz.

Sonraki adım: ayarı Simulation ve gerçek bağlantı denemesinde kontrol edin, ardından Git’e gönderin.

Lunex’i kendi entegrasyonunuzla görün

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