Tetapi untuk $ PATH atau $ USER ... Mengapa tidak memberitahu boneka untuk menggunakan jalur yang diberikan atau pengguna (untuk eksekutif?) Secara eksplisit?
Sangat biasa untuk mengontrol penerjemah dengan variabel lingkungan, karena berbagai alasan ... terutama jika Anda berpikir tentang kadang-kadang menggunakan boneka sebagai penerjemah (di baris #!)? Bukan daemon ...
joeforker
Jawaban yang sangat bagus. Saya membuang banyak waktu tidak menyadari bahwa semua variabel Facter memiliki nama huruf kecil bahkan jika variabel lingkungan memiliki nama huruf besar. Semua orang memperhatikan contoh yang diberikan jnrg.
Russell Silva
1
ada tautan rusak
kenorb
7
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
Dari apa yang saya tahu Puppet berjalan tanpa variabel lingkungan Bash. Tampaknya mendapatkan semua lingkungannya dari Facter. Ada skrip di sini untuk mengimpor utusan reguler Anda sebagai utusan Facter.
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.
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
Tetapi untuk $ PATH atau $ USER ... Mengapa tidak memberitahu boneka untuk menggunakan jalur yang diberikan atau pengguna (untuk eksekutif?) Secara eksplisit?
sumber
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:
Gunakan dalam manifes Anda seperti:
sumber
Dari apa yang saya tahu Puppet berjalan tanpa variabel lingkungan Bash. Tampaknya mendapatkan semua lingkungannya dari Facter. Ada skrip di sini untuk mengimpor utusan reguler Anda sebagai utusan Facter.
sumber
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:sumber
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!
sumber