আমি কীভাবে পুতুলের ম্যানিফেস্টে পরিবেশের পরিবর্তনশীল অ্যাক্সেস করব?


15

পুতুলের ম্যানিফেস্টে কীভাবে আমি পরিবেশের পরিবর্তনশীল (পুতুল ডেমন এর পরিবেশ থেকে) অ্যাক্সেস করব?


আপনি কি পার্থক দ্বারা উত্পন্ন উত্স বলতে চান?
স্কট প্যাক

আমার অর্থ environment 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

তবে $ পথ বা $ ব্যবহারকারীর জন্য ... পুতুলকে কোনও প্রদত্ত পথ বা ব্যবহারকারীর (একজন নির্বাহকের জন্য?) সুস্পষ্টভাবে ব্যবহার করতে বলছেন না কেন?


বিভিন্ন কারণে বিভিন্ন কারণে পরিবেশের ভেরিয়েবলের সাথে একজন অনুবাদককে নিয়ন্ত্রণ করা খুব সাধারণ ... বিশেষত আপনি যদি কখনও কখনও পুতুলকে ডেমনের পরিবর্তে (#! লাইনে?) দোভাষী হিসাবে চালানোর কথা
ভাবেন

দুর্দান্ত উত্তর। পরিবেশের ভেরিয়েবলের বড় হাতের নাম থাকলেও সমস্ত ফ্যাক্ট ভেরিয়েবলের ছোট হাতের নাম রয়েছে তা লক্ষ্য করে আমি অনেক সময় নষ্ট করেছি time সবাই জেএনআরজি যে উদাহরণ দেয় তার দিকে মনোযোগ দেয়।
রাসেল সিলভা

1
ভাঙা লিঙ্ক আছে
কেনারব

7

আপনি পুতুলমাস্টারের পরিবেশ চাইলে এর জন্য আপনাকে একটি সার্ভার সাইড ফাংশন ব্যবহার করতে হবে। যেহেতু ফ্যাক্টর আপনাকে ক্লায়েন্টের তথ্য দেয়।

$ RUBYLIB / পুতুল / পার্সার / ফাংশন / env.rb:

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

এটি আপনার প্রকাশগুলিতে ব্যবহার করুন:

$blah = env("PATH")

6

আমি যা বলতে পারি তা থেকে প্যাপেট কোনও বাশ পরিবেশের চলক ছাড়াই চলে। এটি তার সমস্ত পরিবেশ ফ্যাক্টর থেকে পেয়েছে বলে মনে হচ্ছে। আপনার নিয়মিত এনভভরগুলি ফ্যাক্ট এনভভর হিসাবে আমদানি করার জন্য এখানে একটি স্ক্রিপ্ট রয়েছে।


1
লিঙ্কটি আর কাজ করে না। আপনি দয়া করে উত্তর আপডেট করতে পারেন?
এনএ

1

পুতুল এন্টারপ্রাইজ ২.০.১ এ আপনি / ইত্যাদি / এনভির মাধ্যমে এটি অ্যাক্সেস করতে পারবেন।

আপনার নিজেরতে সঠিক পরিবেশটি সংজ্ঞায়িত হয়েছে কিনা তাও পরীক্ষা করে /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

উত্তরটি কিছুটা হতাশাব্যঞ্জক: আপনি পারবেন না (যদি না আপনি পুতুল বা ফ্যাক্টর উন্নত না করেন)। আমি সম্প্রতি এই বিষয় সম্পর্কে একটি ছোট ব্লগ পোস্ট লিখেছি: পুতুলের মধ্যে পরিবেশের ভেরিয়েবল অ্যাক্সেস করছি

সংক্ষিপ্তসার: প্রতিটি পুতুল এজেন্ট সিস্টেমে ফ্যাক্টর চলছে। সমস্ত পরিবেশের ভেরিয়েবলগুলি সংগ্রহ করার জন্য কেবল ফ্যাক্টরকে বাড়িয়ে তুলুন এবং তারপরে আপনি এগুলিতে পুতুলের ম্যানিফেষ্টগুলির মধ্যে অ্যাক্সেস করতে পারবেন।

আশা করি এইটি কাজ করবে!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.