मैं कठपुतली मेनिफ़ेस्ट में पर्यावरण चर कैसे प्राप्त करूं?


15

मैं कठपुतली प्रकट में पर्यावरण चर (कठपुतली डेमन के पर्यावरण से) का उपयोग कैसे करूं?


क्या आपका मतलब फैक्टर द्वारा उत्पन्न वैरिएबल है?
स्कॉट पैक

मेरा मतलब है कि $ PATH और $ USER जैसे बैश वातावरण चर।
जोफोरकर

जवाबों:


8

मुझे लगता है कि आपको जो हासिल करने की कोशिश कर रहे हैं, उस पर हमें और अधिक जानकारी की आवश्यकता है ... डिफ़ॉल्ट 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 के लिए ... कठपुतली को किसी दिए गए मार्ग या उपयोगकर्ता (निष्पादन के लिए) का उपयोग करने के लिए स्पष्ट रूप से क्यों नहीं कहा जाता है?


पर्यावरणीय चर के साथ दुभाषिया को नियंत्रित करना बहुत ही सामान्य है, कई कारणों से ... खासकर यदि आप कभी-कभी एक
दुपट्टे के

बहुत बढ़िया जवाब। मैंने बहुत समय बर्बाद करते हुए ध्यान दिया कि सभी फैक्टर चर का नाम लोअरकेस है भले ही पर्यावरण चर का बड़ा नाम हो। Jnrg जो उदाहरण देता है उस पर हर कोई ध्यान देता है।
रसेल सिल्वा

1
वहाँ टूटी हुई कड़ी है
kenorb

7

यदि आप कठपुतली के वातावरण चाहते हैं, तो आपको इसके लिए एक सर्वर साइड फ़ंक्शन का उपयोग करना होगा। चूंकि फैक्टर आपको क्लाइंट तथ्य देता है।

$ RUBYLIB / कठपुतली / पार्सर / कार्य / env.rb:

module Puppet::Parser::Functions
  newfunction(:env) do |args|
    variable = args[0]
    ENV[variable]
  end
end

इसे अपने मेनिफेस्टों में उपयोग करें जैसे:

$blah = env("PATH")

6

क्या मैं कठपुतली रन किसी भी बैश पर्यावरण चर के बिना बता सकते हैं। यह फैक्टर से अपने सभी वातावरण प्राप्त करने के लिए लगता है। फैक्टर एन्वारर्स के रूप में अपने नियमित दूतों को आयात करने के लिए यहां एक स्क्रिप्ट है


1
लिंक अब काम नहीं करता है। क्या आप तदनुसार जवाब अपडेट कर सकते हैं?
NA

1

कठपुतली उद्यम 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

-1

जवाब थोड़ा निराशाजनक है: आप (जब तक आप कठपुतली या फैक्टर नहीं बढ़ाते) नहीं कर सकते। मैंने हाल ही में इस विषय के बारे में एक छोटा ब्लॉग पोस्ट लिखा है: कठपुतली के भीतर पर्यावरण चर पर पहुंचना

एक संक्षिप्त सारांश: हर कठपुतली एजेंट प्रणाली पर फैक्टर चल रहा है। बस सभी पर्यावरण चर इकट्ठा करने के लिए फैक्टर बढ़ाएं और फिर आप उन्हें कठपुतली मैनिफेस्टों के भीतर एक्सेस कर सकते हैं।

उम्मीद है की वो मदद करदे!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.