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
The following grains/pillar should be set:
tomcat-manager.user: admin user name
tomcat-manager.passwd: password
and 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>
Notes:
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
Reload the webapp
CLI Examples:
salt '*' tomcat.reload /jenkins
salt '*' tomcat.reload /jenkins http://localhost:8080/manager
return detailes 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