diff --git a/tomcat-multiple-instances/defaults/main.yml b/tomcat-multiple-instances/defaults/main.yml
index 27518624..6855f68d 100644
--- a/tomcat-multiple-instances/defaults/main.yml
+++ b/tomcat-multiple-instances/defaults/main.yml
@@ -6,6 +6,29 @@ tomcat_service_enabled: False
tomcat_m_instances_install: True
+tomcat_m_host_manager_install: False
+tomcat_m_manager_install: False
+# Users and roles for the manager
+tomcat_m_manager_gui_user_enabled: False
+tomcat_m_manager_gui_user: guiadmin
+tomcat_m_manager_gui_r: "manager-gui"
+#tomcat_m_manager_gui_pwd: *Use a vault file*
+tomcat_m_manager_script_user_enabled: True
+tomcat_m_manager_script_user: scriptadmin
+tomcat_m_manager_script_r: "manager-script"
+#tomcat_m_manager_script_pwd: *Use a vault file*
+tomcat_m_manager_jmx_user_enabled: False
+tomcat_m_manager_jmx_user: jmxadmin
+tomcat_m_manager_jmx_r: "manager-jmx"
+#tomcat_m_manager_jmx_pwd: *Use a vault file*
+tomcat_m_manager_status_user_enabled: False
+tomcat_m_manager_status_user: statusadmin
+tomcat_m_manager_status_r: "manager-status"
+#tomcat_m_manager_status_pwd: *Use a vault file*
+
+#tomcat_m_manager_other_roles:
+# - { role: '', user: '', password: '', user_roles: '' }
+
tomcat_m_instances_base_path: '/var/lib/tomcat_instances'
tomcat_m_instances_logdir_base: '/var/log/tomcat_instances'
tomcat_m_cache_base: '/var/cache/tomcat-instances'
diff --git a/tomcat-multiple-instances/files/tomcat-users.xml b/tomcat-multiple-instances/files/tomcat-users.xml
deleted file mode 100644
index 7f022ffa..00000000
--- a/tomcat-multiple-instances/files/tomcat-users.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
-
diff --git a/tomcat-multiple-instances/tasks/main.yml b/tomcat-multiple-instances/tasks/main.yml
index 792556af..ff9d0d8f 100644
--- a/tomcat-multiple-instances/tasks/main.yml
+++ b/tomcat-multiple-instances/tasks/main.yml
@@ -66,7 +66,7 @@
copy: src={{ item[1] }} dest={{ item.0.instance_path }}/conf/{{ item[1] }} owner={{ item.0.user }} group={{ item.0.user }} mode=0640
with_nested:
- '{{ tomcat_m_instances }}'
- - [ 'context.xml', 'tomcat-users.xml', 'web.xml' ]
+ - [ 'context.xml', 'web.xml' ]
register: restart_needed
notify:
- tomcat restart instances with changed configs
@@ -113,6 +113,38 @@
- tomcat restart instances with changed configs
tags: [ 'tomcat', 'tomcat_instances', 'tomcat_conf', 'tomcat_serverxml' ]
+- name: Install the tomcat-admin package if the host-manager or manager apps are required
+ apt: pkg={{ item }} state={{ tomcat_pkg_state }} cache_valid_time=1800 update_cache=yes
+ with_items: 'tomcat{{ tomcat_version }}-admin'
+ when: tomcat_m_host_manager_install or tomcat_m_manager_install
+ tags: [ 'tomcat', 'tomcat_instances', 'tomcat_conf', 'tomcat_host_manager', 'tomcat_manager' ]
+
+- name: Install the catalina configuration for the tomcat manager
+ template: src=tomcat-manager.xml.j2 dest={{ item.instance_path }}/conf/Catalina/localhost/manager.xml owner={{ item.user }} group={{ item.user }} mode=0640
+ with_items: '{{ tomcat_m_instances }}'
+ register: restart_needed
+ when: tomcat_m_manager_install
+ notify:
+ - tomcat restart instances with changed configs
+ tags: [ 'tomcat', 'tomcat_instances', 'tomcat_conf', 'tomcat_manager' ]
+
+- name: Install the catalina configuration for the tomcat host manager
+ template: src=tomcat-host-manager.xml.j2 dest={{ item.instance_path }}/conf/Catalina/localhost/host-manager.xml owner={{ item.user }} group={{ item.user }} mode=0640
+ with_items: '{{ tomcat_m_instances }}'
+ register: restart_needed
+ when: tomcat_m_host_manager_install
+ notify:
+ - tomcat restart instances with changed configs
+ tags: [ 'tomcat', 'tomcat_instances', 'tomcat_conf', 'tomcat_host_manager' ]
+
+- name: Install the catalina configuration for the tomcat manager
+ template: src=tomcat-users.xml.j2 dest={{ item.instance_path }}/conf/tomcat-users.xml owner={{ item.user }} group={{ item.user }} mode=0640
+ with_items: '{{ tomcat_m_instances }}'
+ register: restart_needed
+ notify:
+ - tomcat restart instances with changed configs
+ tags: [ 'tomcat', 'tomcat_instances', 'tomcat_conf', 'tomcat_host_manager', 'tomcat_manager' ]
+
- name: Install the instances startup scripts
template: src=tomcat-instance.init.j2 dest=/etc/init.d/tomcat-instance-{{ item.http_port }} mode=0755 owner=root group=root
with_items: '{{ tomcat_m_instances }}'
diff --git a/tomcat-multiple-instances/templates/tomcat-host-manager.xml.j2 b/tomcat-multiple-instances/templates/tomcat-host-manager.xml.j2
new file mode 100644
index 00000000..73081d01
--- /dev/null
+++ b/tomcat-multiple-instances/templates/tomcat-host-manager.xml.j2
@@ -0,0 +1,3 @@
+
diff --git a/tomcat-multiple-instances/templates/tomcat-manager.xml.j2 b/tomcat-multiple-instances/templates/tomcat-manager.xml.j2
new file mode 100644
index 00000000..13ca5225
--- /dev/null
+++ b/tomcat-multiple-instances/templates/tomcat-manager.xml.j2
@@ -0,0 +1,3 @@
+
diff --git a/tomcat-multiple-instances/templates/tomcat-users.xml.j2 b/tomcat-multiple-instances/templates/tomcat-users.xml.j2
new file mode 100644
index 00000000..61a52ca7
--- /dev/null
+++ b/tomcat-multiple-instances/templates/tomcat-users.xml.j2
@@ -0,0 +1,48 @@
+
+
+
+
+{% if tomcat_m_host_manager_install or tomcat_m_manager_install %}
+
+
+
+
+{% if tomcat_manager_gui_user_enabled %}
+
+{% endif %}
+{% if tomcat_manager_script_user_enabled %}
+
+{% endif %}
+{% if tomcat_manager_jmx_user_enabled %}
+
+{% endif %}
+{% if tomcat_manager_status_user_enabled %}
+
+{% endif %}
+
+{% if tomcat_m_manager_other_roles is defined %}
+{% for t_adm in tomcat_m_manager_other_roles %}
+
+
+{% endfor %}
+{% endif %}
+