Set environment variable using saltstack

Naveen Subramani picture Naveen Subramani · Jan 16, 2014 · Viewed 9.5k times · Source

I am writing some salt stack formulas which will install tomcat package. but after installation I have to set JAVA_HOME in /etc/default/tomcat7 file. Is there any option to set JAVA_HOME? Or is there any option to modify or add JAVA_HOME in environment variable (i.e. in .bashrc or .profile files)?

My pillar.example file will have these details:

    tomcat_version: 7
    java_home: '/usr/lib/jvm/java-7-oracle'

Answer

Jeff Bauer picture Jeff Bauer · Jan 17, 2014

As an alternative to setting .bashrc or .profile, you could simply set the JAVA_HOME value directly in /etc/default/tomcat7:

tomcat_configuration:
  file.append:
    - name: /etc/default/tomcat7
    - text: export JAVA_HOME={{ pillar['java_home'] }}

If for some reason file.append is not suitable, salt offers file.replace and (new in 0.18.0) file.blockreplace.