diff --git a/tomcat-instance/defaults/main.yml b/tomcat-instance/defaults/main.yml new file mode 100644 index 00000000..75ef7e71 --- /dev/null +++ b/tomcat-instance/defaults/main.yml @@ -0,0 +1,4 @@ +--- +tomcat_instance_root: '/srv/tomcat' +tomcat_instance_port: 8080 +tomcat_instance_ram: 512 diff --git a/tomcat-instance/files/tomcat.service b/tomcat-instance/files/tomcat.service new file mode 100644 index 00000000..c54eb4be --- /dev/null +++ b/tomcat-instance/files/tomcat.service @@ -0,0 +1,16 @@ +[Unit] +Description=Tomcat %u. +After=network.target + +[Service] +WorkingDirectory=%h +Environment="CATALINA_BASE=%h" +EnvironmentFile=%h/conf/env +UMask=0002 +ExecStart=/usr/share/tomcat7/bin/startup.sh +ExecStop=/usr/share/tomcat7/bin/shutdown.sh +ExecStopPost=/bin/sh -c date | /usr/bin/mail -s "%H/%u : Shutdown instance" %u +Type=forking + +[Install] +WantedBy=default.target diff --git a/tomcat-instance/handlers/main.yml b/tomcat-instance/handlers/main.yml new file mode 100644 index 00000000..fb2a830e --- /dev/null +++ b/tomcat-instance/handlers/main.yml @@ -0,0 +1,6 @@ +--- +- name: new aliases + command: newaliases + +- name: systemd reload + shell: systemctl daemon-reload diff --git a/tomcat-instance/tasks/alias.yml b/tomcat-instance/tasks/alias.yml new file mode 100644 index 00000000..18046363 --- /dev/null +++ b/tomcat-instance/tasks/alias.yml @@ -0,0 +1,18 @@ +--- +- name: Create bin dir for alias + file: + path: "{{ tomcat_instance_root }}/{{ tomcat_instance_name }}/bin" + state: directory + mode: 0770 + owner: "{{ tomcat_instance_name }}" + group: "{{ tomcat_instance_name }}" + +- name: Copy alias script for systemctl --user + template: + src: "{{ item }}" + dest: "{{ tomcat_instance_root }}/{{ tomcat_instance_name }}/bin/" + mode: 0770 + owner: "{{ tomcat_instance_name }}" + group: "{{ tomcat_instance_name }}" + with_fileglob: + - 'templates/bin/*' diff --git a/tomcat-instance/tasks/bootstrap.yml b/tomcat-instance/tasks/bootstrap.yml new file mode 100644 index 00000000..e356eb4c --- /dev/null +++ b/tomcat-instance/tasks/bootstrap.yml @@ -0,0 +1,36 @@ +--- +- name: Create tomcat dirs + file: + path: "{{ tomcat_instance_root }}/{{ tomcat_instance_name }}/{{ item }}" + state: directory + mode: 02770 + with_items: + - 'conf' + - 'logs' + - 'webapps' + - 'work' + - 'temp' + - 'lib' + +- name: Copy conf dir + shell: "cp /usr/share/tomcat7/skel/conf/* {{ tomcat_instance_root }}/{{ tomcat_instance_name }}/conf/" + +- name: Copy server.xml + template: + src: 'templates/server.xml.j2' + dest: "{{ tomcat_instance_root }}/{{ tomcat_instance_name }}/conf/server.xml" + mode: 0660 + +- name: Copy env file + template: + src: 'templates/env.j2' + dest: "{{ tomcat_instance_root }}/{{ tomcat_instance_name }}/conf/env" + mode: 0660 + +- name: Fix owner + file: + name: "{{ tomcat_instance_root }}/{{ tomcat_instance_name }}" + state: directory + owner: "{{ tomcat_instance_name }}" + group: "{{ tomcat_instance_name }}" + recurse: yes diff --git a/tomcat-instance/tasks/check.yml b/tomcat-instance/tasks/check.yml new file mode 100644 index 00000000..ae61a820 --- /dev/null +++ b/tomcat-instance/tasks/check.yml @@ -0,0 +1,37 @@ +--- +- name: Check tomcat_instance_name + debug: + msg: "{{ tomcat_instance_name }}" + +- name: Check use of gid + shell: id -ng "{{ tomcat_instance_port }}" + register: check_port_gid + changed_when: false + failed_when: + - check_port_gid|succeeded + - check_port_gid.stdout != "{{ tomcat_instance_name }}" + +- name: Check use of uid + shell: id -nu "{{ tomcat_instance_port }}" + register: check_port_uid + changed_when: false + failed_when: + - check_port_uid|succeeded + - check_port_uid.stdout != "{{ tomcat_instance_name }}" + +#- name: Check use of http port +# shell: grep ' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +