2016-02-15 19 views
6

Ansible çalışmakta olan kontrol makinesi yerine uzak ana bilgisayardaki bir dosyadan değişkenler eklemek istiyorum.Ansible - uzak ana bilgisayardan vars dosyasını dahil et

Mesela ben (benim web sunucusu üzerinde) bir dosya /var/database_credentials.yml

Ben bir şablona bunları kullanmak, böylece hostvars o dosyadan değişken eklemek için en iyi yolu nedir var mı?

include_vars modülü yalnızca kontrol makinesinden dosya alır. Getirme modülünü kullanabilirdim ama bu gereksiz bir adım gibi görünüyor.

cevap

1

/etc/ansible/facts.d ile tümleştirmek zor olmamalı.

JSON dosyalarını, INI dosyalarını veya yürütülebilir komut dosyalarını bu dizinde saklayabilirsiniz ve içerik/çıktı, kurulum modülü çalıştırıldıktan sonra sunucu gerçekleri olarak kullanılabilir.

YAML alacağından emin değilim. Şansınız olabilir ve dosyanıza /var/database_credentials.yml bir sembolik link eklemek için çalışacaksınız. (YAML, dokümanlar üzerinde belirtilmemiştir, ancak Ansible, hemen hemen her şey YAML'ye dayanmaktadır, çünkü YAML desteklenmezse garip olur) Eğer değilse, bu dosyayı okuyan ve bir JSON çıkarıyorsa, tercih ettiğiniz dilde bir komut dosyası oluşturabilirsiniz. nesne.

Dokümanlarda bkz. Local Facts (Facts.d).

+0

Harika teşekkürler! Tam olarak ihtiyacım olan şeye benziyor –

+1

YAML'yi desteklemiyor ama ini dosya formatı benim için iyi çalışıyor –