# tomcat-instance

Install a Tomcat Instance with an independent Unix user and use of systemd user instance.

## Available variables

**tomcat_instance_name **: Name of Tomcat instance and proprietary user and group (***required***)
**tomcat_instance_port**: HTTP port for Tomcat instance and uid/gid for Tomcat user and group (default: 8080)
**tomcat_instance_shutdown**: Port for Tomcat shutdown (default: HTTP port + 1)
**tomcat_instance_ram**: Max memory for Tomcat instance (default: 512)
**tomcat_instance_mps**: Max memory for internal objects of Tomcat instance (default: ram / 2)
**tomcat_instance_mail**: Mail adresse for sending mail on shutdown instance (default to Unix user)
**tomcat_instance_deploy_user**: Unix user who have sudo right with no password for application deployement

## Exemple of role usage

~~~
- hosts: hostname
  become: yes
  vars:
    - tomcat_instance_mail: 'test@example.com'
    - tomcat_instance_deploy_user: 'deploy'
  roles:
  - { role: tomcat-instance, tomcat_instance_name: 'instance1', tomcat_instance_port: 8888, tomcat_instance_ram: 2048 }
~~~

## Configuration of your Tomcat instance

Once you instance was installed, you can managed it with members of Tomcat instance group, deploy_user or directly by Tomcat instance owner.

### Environnment config of Tomcat instance

The ~/conf/env file was sourced by systemd Tomcat service, you must define your environnment variables in this file, default value was :

~~~
JAVA_HOME="/usr/lib/jvm/java-1.7.0-openjdk-amd64"
JAVA_OPTS="-server -Xmx512m -Xms512m -XX:MaxPermSize=256m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled -Xverify:none"
~~~

### Usage of systemd Tomcat service

You must use systemctl --user with Tomcat user by **su - username** or prefix command by **sudo -iu username** ;

~~~
systemctl --user start tomcat
systemctl --user stop tomcat
systemctl --user status tomcat
systemctl --user restart tomcat
systemctl --user enable tomcat
systemctl --user disable tomcat
~~~

Alias scripts was availables in ~/bin/ for easier use if you are in Tomcat instance group or if you are deploy_user .

~~~
~/bin/startup.sh
~/bin/shutdown.sh
~/bin/status.sh
~/bin/enable.sh
~/bin/disable.sh
~~~
