जवाबों:
मुझे लगता है कि आपको जो हासिल करने की कोशिश कर रहे हैं, उस पर हमें और अधिक जानकारी की आवश्यकता है ... डिफ़ॉल्ट FACTER_ पर्यावरण चर द्वारा तथ्य उजागर करता है:
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
लेकिन $ PATH या $ USER के लिए ... कठपुतली को किसी दिए गए मार्ग या उपयोगकर्ता (निष्पादन के लिए) का उपयोग करने के लिए स्पष्ट रूप से क्यों नहीं कहा जाता है?
यदि आप कठपुतली के वातावरण चाहते हैं, तो आपको इसके लिए एक सर्वर साइड फ़ंक्शन का उपयोग करना होगा। चूंकि फैक्टर आपको क्लाइंट तथ्य देता है।
$ RUBYLIB / कठपुतली / पार्सर / कार्य / env.rb:
module Puppet::Parser::Functions
newfunction(:env) do |args|
variable = args[0]
ENV[variable]
end
end
इसे अपने मेनिफेस्टों में उपयोग करें जैसे:
$blah = env("PATH")
कठपुतली उद्यम 2.5.1 में आप इसे / etc / env के माध्यम से एक्सेस कर सकते हैं।
यह भी जाँचें कि क्या आपके पास सही पर्यावरण परिभाषित है /etc/puppetlabs/puppet/puppet.conf
- यह कुछ इस तरह दिखना चाहिए:
[production]
modulepath = /etc/puppetlabs/puppet/environments/production/modules:/opt/puppet/share/puppet/modules
manifest = /etc/puppetlabs/puppet/environments/production/manifests/site.pp
जवाब थोड़ा निराशाजनक है: आप (जब तक आप कठपुतली या फैक्टर नहीं बढ़ाते) नहीं कर सकते। मैंने हाल ही में इस विषय के बारे में एक छोटा ब्लॉग पोस्ट लिखा है: कठपुतली के भीतर पर्यावरण चर पर पहुंचना
एक संक्षिप्त सारांश: हर कठपुतली एजेंट प्रणाली पर फैक्टर चल रहा है। बस सभी पर्यावरण चर इकट्ठा करने के लिए फैक्टर बढ़ाएं और फिर आप उन्हें कठपुतली मैनिफेस्टों के भीतर एक्सेस कर सकते हैं।
उम्मीद है की वो मदद करदे!