Support for Tomcat
This module uses the manager webapp to manage Apache tomcat webapps. If the manager webapp is not configured some of the functions won't work.
Note
The config format was changed in 2014.7.0, but backwards compatibility for the old-style config will be in the 2014.7.1 release.
The following grains/pillar should be set:
tomcat-manager:
user: <username>
passwd: <password>
or the old format:
tomcat-manager.user: <username>
tomcat-manager.passwd: <password>
Also configure a user in the conf/tomcat-users.xml file:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager-script"/>
<user username="tomcat" password="tomcat" roles="manager-script"/>
</tomcat-users>
Note
More information about tomcat manager: http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html
if you use only this module for deployments you've might want to strict access to the manager only from localhost for more info: http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html#Configuring_Manager_Application_Access
Tested on:
Sun Microsystems Inc.
1.6.0_43-b01
amd64
Linux
2.6.32-358.el6.x86_64
Apache Tomcat/7.0.37
Deploy a WAR file
CLI Examples:
cp module
salt '*' tomcat.deploy_war salt://application.war /api
salt '*' tomcat.deploy_war salt://application.war /api no
salt '*' tomcat.deploy_war salt://application.war /api yes http://localhost:8080/manager
minion local file system
salt '*' tomcat.deploy_war /tmp/application.war /api
salt '*' tomcat.deploy_war /tmp/application.war /api no
salt '*' tomcat.deploy_war /tmp/application.war /api yes http://localhost:8080/manager
Return all server information from catalina.sh version
CLI Example:
salt '*' tomcat.fullversion
Find memory leaks in tomcat
CLI Examples:
salt '*' tomcat.leaks
list all the deployed webapps
CLI Examples:
salt '*' tomcat.ls
salt '*' tomcat.ls http://localhost:8080/manager
This function replaces the $CATALINA_HOME/bin/digest.sh script convert a clear-text password to the $CATALINA_BASE/conf/tomcat-users.xml format
CLI Examples:
salt '*' tomcat.passwd secret
salt '*' tomcat.passwd secret tomcat sha1
salt '*' tomcat.passwd secret tomcat sha1 'Protected Realm'
Reload the webapp
CLI Examples:
salt '*' tomcat.reload /jenkins
salt '*' tomcat.reload /jenkins http://localhost:8080/manager
return details about the server
CLI Examples:
salt '*' tomcat.serverinfo
salt '*' tomcat.serverinfo http://localhost:8080/manager
return the status of the webapp sessions
CLI Examples:
salt '*' tomcat.sessions /jenkins
salt '*' tomcat.sessions /jenkins http://localhost:8080/manager
Signals catalina to start, stop, securestart, forcestop.
CLI Example:
salt '*' tomcat.signal start
Start the webapp
CLI Examples:
salt '*' tomcat.start /jenkins
salt '*' tomcat.start /jenkins http://localhost:8080/manager
Used to test if the tomcat manager is up
CLI Examples:
salt '*' tomcat.status
salt '*' tomcat.status http://localhost:8080/manager
return the status of the webapp (stopped | running | missing)
CLI Examples:
salt '*' tomcat.status_webapp /jenkins
salt '*' tomcat.status_webapp /jenkins http://localhost:8080/manager
Stop the webapp
CLI Examples:
salt '*' tomcat.stop /jenkins
salt '*' tomcat.stop /jenkins http://localhost:8080/manager
Undeploy a webapp
CLI Examples:
salt '*' tomcat.undeploy /jenkins
salt '*' tomcat.undeploy /jenkins http://localhost:8080/manager
Return server version from catalina.sh version
CLI Example:
salt '*' tomcat.version
Docs for previous releases are available on salt.rtfd.org.
Latest Salt release: 2014.7.2
22.16.211. salt.modules.twilio_notify
Upcoming SaltStack events, webinars and local meet ups and user groups.