Skip to content

Instantly share code, notes, and snippets.

Created September 24, 2015 16:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/fb93b6e2c4cfaf57fa03 to your computer and use it in GitHub Desktop.
Save anonymous/fb93b6e2c4cfaf57fa03 to your computer and use it in GitHub Desktop.
My pillar data
tomcat_sections:
{% if (grains['id'] == 'myserver.dmz.com') %}
1:
ports:
http: 8080
https: 8443
apps:
portal:
name: portal
server: dbp
url: PORTAL
username: user
password: pass
load:
name: load
server: dbp
url: OG
username: user1
password: pass1
2:
ports:
http: 8080
https: 8443
apps:
portal:
name: portal
server: dbp
url: PORTAL
username: user
password: pass
gmt:
name: gmt
server: dbp
url: MG
username: user2
password: pass2
{% endif %}
My state file:
{% set tomcat_sections = pillar.get('tomcat_sections', {}) %}
{% if tomcat_sections == None %}
{% else %}
{% for instance_name, instance_settings in tomcat_sections.iteritems() %}
/var/lib/{{ grains['host'] }}{{ instance_name }}/conf/server.xml:
file.managed:
- user: root
- group: tomcat7
- mode: 644
- source: salt://tomcat7/files/conf/server.xml
- template: jinja
- context:
pool: {{ instance_settings }}
{% endfor %}
{% endif %}
In my server.xml template:
{%- for option, value in pool.iteritems() %}
<!-- {{ value['name'] }} -->
<Resource auth="Container" type="javax.sql.DataSource" name="jdbc/{{ value['name'] }}"
driverClassName="com.ibm.db2.jcc.DB2Driver"
url="jdbc:db2://{{ value['server'] }}.dmz.com:50000/{{ value['url'] }}"
maxActive="20" maxIdle="10" minIdle="5" maxWait="100000"
initialSize="1" testOnBorrow="true" minEvictableIdleTimeMillis="1800000"
timeBetweenEvictionRunsMillis="1800000" testWhileIdle="true" testOnReturn="true"
username="{{ value['username'] }}" password="{{ value['password'] }}"
validationQuery="SELECT COUNT(*) FROM SYSIBM.SYSTABLES"
removeAbandoned="true" removeAbandonedTimeout="600" />
<Resource http_port={{ value['http_port'] }} />
{%- endfor %}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment