TOML Formatı ve Minimalist Konfigürasyon
**TOML (Tom's Obvious Minimal Language)**, asgari düzeyde karmaşıklığa sahip, kolayca okunabilen ve doğrudan hash tablolarına eşlenebilen bir konfigürasyon dosyası formatıdır. Özellikle Rust projesi kargo araçlarında (\\Cargo.toml\\\) standart olarak tercih edilmektedir.
TOML Yapısı
TOML, anahtar-değer çiftleri ve köşeli parantezlerle ayrılmış bölümler (tables) kullanır.
\\`toml
[database]
server = "192.168.1.1"
ports = [ 8000, 8001, 8002 ]
connection_max = 5000
enabled = true
\\`
Neden TOML?
TOML, XML'in hantallığına ve YAML'ın girintileme karmaşasına karşı güçlü ve kararlı bir alternatif sunar.
Tablo ve Dizi Yapıları
TOML'da [server] başlığı bir tabloyu, [[products]] ise tablo dizisini tanımlar. Noktalı anahtarlar kısa tanımlar için kullanışlıdır; ancak aynı tabloyu hem başlık hem noktalı anahtarla çelişkili biçimde tanımlamamak gerekir. Anahtarların hangi tabloya ait olduğunu dosyanın tamamında izlemek önemlidir.
Tiplerin Korunması
TOML tam sayı, ondalık sayı, boolean ve tarih-saat tiplerini açıkça ayırır. Bir yapılandırmayı JSON'a aktarırken tarih değerlerinin çoğunlukla metne dönüştüğünü, özel sayısal gösterimlerin normalize edildiğini kontrol edin. Gizli anahtarları örnek dosyalara koymayın; ortam değişkeni veya secret yönetimi kullanın.
Doğrulama İş Akışı
Dosyayı parse ettikten sonra beklenen üst düzey tabloları, zorunlu anahtarları ve veri tiplerini kontrol edin. Ardından üretim ortamının kabul ettiği şemayla karşılaştırın. Sözdiziminin geçerli olması, yapılandırmanın uygulama açısından doğru olduğu anlamına gelmez.