4.3 Yapılandırmayı dosyalara bölmek

<< İçindekileri Görüntülemek İçin Tıklayın >>

Yer:  Teknik Kılavuzlar > Netsim System Agent Kurulum ve Yönetim Kılavuzu > 4. Yapılandırma >

4.3 Yapılandırmayı dosyalara bölmek

Conf iki ayrı mekanizma sunar ve ikisi farklı şey yapar: biri yapıyı, öteki bir değeri dosyadan alır.

4.3.1 #include — yapıyı dosyadan al

Anahtar olarak yazılır; değeri bir dosya adıdır ve o dosyanın içeriği bu noktaya yerleştirilir. Ortak bir bloğu birkaç conf'ta paylaşmak için kullanılır:

"netServer": {
  // Listeners.conf.json'daki "listenerList" buraya girer
  "#include": "Listeners.conf.json"
}

Üç yazım vardır:

YazımDavranış
"#include": "<dosya>"Dosya bulunmak zorunda; yoksa yapılandırma okunamaz.
"#include_if_exists": "<dosya>"Dosya yoksa sessizce atlanır (günlüğe bir DIAG satırı düşer). İsteğe bağlı yerel eklemeler için.
"...": "<dosya>"#include ile aynıdır; kısa yazım.

4.3.2 #loadFromFile — değeri dosyadan al

Değer olarak yazılır: "#loadFromFile:<yol>". Dosyanın içeriği o anahtarın metin değeri olur. Uzun ve tek satıra sığmayan değerler için — sertifikalar, anahtarlar, betikler:

"ssl": {
  // dosyanin ICERIGI degerin kendisi olur
  "serverCert": "#loadFromFile:certs/server.pem",
  "privateKey":  "#loadFromFile:certs/server.key",

  // dosya yoksa deger NULL olur, yapilandirma yine okunur
  "caCerts":     "#loadFromFile_if_exists:certs/ca-bundle.pem"
}

4.3.3 İkisinde de geçerli olanlar

  • Göreli yol, conf dosyasının dizinine göre çözülür — çalışma dizinine göre değil. Bu, hizmetin çalışma dizini ne olursa olsun aynı davranmasını sağlar.
  • Yer tutucular çözülür, örneğin "#include": "${APPDIR}/Listeners.conf.json".
  • Şema doğrulaması iç içe dosyaların içeriğini görmez. Açılışta koşan doğrulayıcı conf'u kendi ayrıştırıcısıyla yeniden okur; #include anahtarının kendisi geçerli sayılır ama getirdiği içerik denetlenmez.