Respostas:
Acho que precisamos de mais informações sobre o que você está tentando alcançar ... O Facter expõe por padrão as variáveis de ambiente 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
Mas para $ PATH ou $ USER ... Por que não diz ao puppet para usar um determinado caminho ou usuário (para um executivo?) Explicitamente?
Você precisaria usar uma função do lado do servidor para isso, se quiser o ambiente do puppetmaster. Desde facter você recebe fatos do cliente.
$ RUBYLIB / fantoche / analisador / funções / env.rb:
module Puppet::Parser::Functions
newfunction(:env) do |args|
variable = args[0]
ENV[variable]
end
end
Use-o em seus manifestos, como:
$blah = env("PATH")
No Puppet enterprise 2.5.1, você pode acessá-lo via / etc / env.
Verifique também se você tem o ambiente correto definido no seu /etc/puppetlabs/puppet/puppet.conf
- ele deve ser algo como isto:
[production]
modulepath = /etc/puppetlabs/puppet/environments/production/modules:/opt/puppet/share/puppet/modules
manifest = /etc/puppetlabs/puppet/environments/production/manifests/site.pp
A resposta é um pouco decepcionante: você não pode (a menos que aprimore o Puppet ou o Facter). Recentemente, escrevi um pequeno post sobre este tópico: Acessando variáveis de ambiente no Puppet
Um breve resumo: o Facter está sendo executado em todos os sistemas de agentes Puppet. Simplesmente aprimore o Facter para coletar todas as variáveis de ambiente e, em seguida, você pode acessá-las nos manifestos do Puppet.
Espero que ajude!