Câu trả lời:
Tôi nghĩ rằng chúng tôi cần thêm thông tin về những gì bạn đang cố gắng để đạt được ... Facter hiển thị theo các biến môi trường FACTER_ mặc định:
https://docs.puppetlabs.com/guides/faq.html#can-i-access-en môi-biến-with-facter
$ FACTER_FOO="bar"
$ export FACTER_FOO
$ facter | grep 'foo'
foo => bar
Nhưng với $ PATH hoặc $ USER ... Tại sao không nói với con rối sử dụng một đường dẫn cụ thể hoặc một người dùng (cho một người thực thi?) Một cách rõ ràng?
Bạn cần sử dụng chức năng phía máy chủ cho việc này nếu bạn muốn môi trường của người điều khiển rối. Kể từ khi facter giúp bạn thực tế khách hàng.
$ RUBYLIB / con rối / trình phân tích cú pháp / hàm / env.rb:
module Puppet::Parser::Functions
newfunction(:env) do |args|
variable = args[0]
ENV[variable]
end
end
Sử dụng nó trong bảng kê khai của bạn như:
$blah = env("PATH")
Từ những gì tôi có thể nói Puppet chạy mà không có bất kỳ biến môi trường Bash nào. Nó dường như có được tất cả môi trường của nó từ Facter. Có một đoạn script ở đây để nhập các envvars thông thường của bạn dưới dạng envv Facter.
Trong Puppet Enterprise 2.5.1, bạn có thể truy cập nó qua / etc / env.
Ngoài ra, hãy kiểm tra xem bạn có môi trường chính xác được xác định trong không /etc/puppetlabs/puppet/puppet.conf
- nó sẽ trông giống như thế này:
[production]
modulepath = /etc/puppetlabs/puppet/environments/production/modules:/opt/puppet/share/puppet/modules
manifest = /etc/puppetlabs/puppet/environments/production/manifests/site.pp
Câu trả lời hơi thất vọng: Bạn không thể (trừ khi bạn tăng cường Puppet hoặc Facter). Gần đây tôi đã viết một bài đăng blog ngắn về chủ đề này: Truy cập các biến môi trường trong Puppet
Tóm tắt ngắn gọn: Facter đang chạy trên mọi hệ thống đại lý Puppet. Chỉ cần tăng cường Facter để thu thập tất cả các biến môi trường và sau đó bạn có thể truy cập chúng trong bảng kê khai của Puppet.
Mong rằng sẽ giúp!