Jawaban:
Saya pikir kami memerlukan lebih banyak informasi tentang apa yang ingin Anda capai ... Facter mengekspos secara default FACTER_ variabel lingkungan:
https://docs.puppetlabs.com/guides/faq.html#can-i-access-environment-variables-with-facter
$ FACTER_FOO="bar"
$ export FACTER_FOO
$ facter | grep 'foo'
foo => bar
Tetapi untuk $ PATH atau $ USER ... Mengapa tidak memberitahu boneka untuk menggunakan jalur yang diberikan atau pengguna (untuk eksekutif?) Secara eksplisit?
Anda harus menggunakan fungsi sisi server untuk ini jika Anda menginginkan lingkungan puppetmaster. Karena facter memberi Anda fakta klien.
$ RUBYLIB / boneka / parser / fungsi / env.rb:
module Puppet::Parser::Functions
newfunction(:env) do |args|
variable = args[0]
ENV[variable]
end
end
Gunakan dalam manifes Anda seperti:
$blah = env("PATH")
Di Puppet enterprise 2.5.1 Anda dapat mengaksesnya melalui / etc / env.
Periksa juga apakah Anda memiliki lingkungan yang benar di lingkungan Anda /etc/puppetlabs/puppet/puppet.conf
- seharusnya terlihat seperti ini:
[production]
modulepath = /etc/puppetlabs/puppet/environments/production/modules:/opt/puppet/share/puppet/modules
manifest = /etc/puppetlabs/puppet/environments/production/manifests/site.pp
Jawabannya agak mengecewakan: Anda tidak bisa (kecuali jika Anda meningkatkan Wayang atau Pelukis). Baru-baru ini saya menulis posting blog pendek tentang topik ini: Mengakses variabel lingkungan dalam Wayang
Ringkasan singkat: Facter berjalan di setiap sistem agen Wayang. Cukup tingkatkan Facter untuk mengumpulkan semua variabel lingkungan dan kemudian Anda dapat mengaksesnya dalam manifestasi Wayang.
Semoga itu bisa membantu!