Setting environment variables with puppet Setting environment variables with puppet ruby ruby

Setting environment variables with puppet


I would take a look at this related question.

*.sh scripts in /etc/profile.d are read at user-login time (as the post says, at the same time /etc/profile is sourced)

Variables export-ed in any script placed in /etc/profile.d will therefore be available to your users.

You can then use a file resource to ensure this action is idempotent. For example:

file { "/etc/profile.d/my_test.sh":  content => 'export MYVAR="123"'}


Or an alternate means to an indempotent result:

Example

if [[ ! grep PINTO_HOME /root/.bashrc | wc -l > 0 ]] ; then        echo "export PINTO_HOME=/opt/local/pinto" >> /root/.bashrc ;fi

This option permits this environmental variable to be set when the presence of the pinto application makes it warrented rather than having to compose a user's .bash_profile regardless of what applications may wind up on the box.


If you add it to your bashrc you can check that it's in the ENV hash by doing

ENV[VAR]

Which will return => "blah"