diff --git a/ansible/README.md b/ansible/README.md
index 8014b8a76..e36f194d2 100644
--- a/ansible/README.md
+++ b/ansible/README.md
@@ -15,6 +15,7 @@
# Tomcat and Apache configuration
If your application requires a WAR file deployment then you use the common ```tomcat_deploy``` and ```apache_vhost``` roles. This will ensure a consistent approach to Tomcat and Apache configuration.
+If your application requires a JAR deployment then use the ```exec_jar``` role.
## How to use them
@@ -28,7 +29,7 @@ The easiest way to use these roles is to use parameterised includes in your main
- deploy
}}'
-- include: ../../tomcat_deploy/tasks/main.yml war_url='{{ logger_war_url }}' context_path='{{ logger_context_path }}' hostname='{{ logger_hostname }}'
+- include: ../../tomcat_deploy/tasks/main.yml war_url='{{ logger_artifact_url }}' context_path='{{ logger_context_path }}' hostname='{{ logger_hostname }}'
tags:
- logger
- apache_vhost
diff --git a/ansible/logger-standalone.yml b/ansible/logger-standalone.yml
index 497cb75dd..998909b89 100644
--- a/ansible/logger-standalone.yml
+++ b/ansible/logger-standalone.yml
@@ -2,7 +2,7 @@
roles:
- common
- java
- - tomcat
+ - {role: tomcat, when: not exec_jar}
- webserver
- mysql
- logger-service
diff --git a/ansible/roles/logger-service/handlers/main.yml b/ansible/roles/logger-service/handlers/main.yml
new file mode 100644
index 000000000..0c402b651
--- /dev/null
+++ b/ansible/roles/logger-service/handlers/main.yml
@@ -0,0 +1,4 @@
+- name: restart logger
+ service: name=logger state=restarted enabled=yes
+ when:
+ - skip_handlers | default("false") | bool == false
diff --git a/ansible/roles/logger-service/tasks/main.yml b/ansible/roles/logger-service/tasks/main.yml
index 7336608c5..b40c356ed 100644
--- a/ansible/roles/logger-service/tasks/main.yml
+++ b/ansible/roles/logger-service/tasks/main.yml
@@ -169,10 +169,55 @@
- include_tasks: ../../tomcat_deploy/tasks/main.yml
vars:
- war_url: '{{ logger_war_url }}'
+ war_url: '{{ logger_artifact_url }}'
context_path: '{{ logger_context_path }}'
hostname: '{{ logger_hostname }}'
tags:
- logger-service
- deploy
- tomcat_vhost
+ when: not exec_jar
+
+- name: add logger-service jar and setup service
+ include_role:
+ name: exec-jar
+ vars:
+ service_name: 'logger'
+ jar_url: '{{ logger_artifact_url }}'
+ log_config_filename: "logback.xml"
+ java_headless: True
+ tags:
+ - deploy
+ - service
+ - logger-service
+ when: exec_jar
+
+- name: ensure target directories exist [data subdirectories etc.]
+ file: path={{item}} state=directory owner=logger group=logger
+ with_items:
+ - "{{data_dir}}/logger/config"
+ - "/var/log/atlas/logger"
+ notify:
+ - restart logger
+ tags:
+ - logger-service
+ - properties
+ when: exec_jar
+
+- name: set data ownership for /opt/atlas/logger
+ file: path=/opt/atlas/logger owner=logger group=logger recurse=true
+ notify:
+ - restart logger
+ tags:
+ - logger-service
+ - properties
+ when: exec_jar
+
+- name: set data ownership for /var/log/atlas/logger
+ file: path=/var/log/atlas/logger owner=logger group=logger recurse=true
+ notify:
+ - restart logger
+ tags:
+ - logger-service
+ - properties
+ when: exec_jar
\ No newline at end of file
diff --git a/ansible/roles/logger-service/templates/logback.xml b/ansible/roles/logger-service/templates/logback.xml
index efc1e5f00..76779f892 100644
--- a/ansible/roles/logger-service/templates/logback.xml
+++ b/ansible/roles/logger-service/templates/logback.xml
@@ -6,7 +6,7 @@
-
+
${LOG_DIR}/${appName}.log
diff --git a/ansible/roles/logger-service/vars/main.yml b/ansible/roles/logger-service/vars/main.yml
index 037c24090..e68d77e74 100644
--- a/ansible/roles/logger-service/vars/main.yml
+++ b/ansible/roles/logger-service/vars/main.yml
@@ -2,7 +2,7 @@
version: "{{ logger_version | default('LATEST') }}"
artifactId: "logger-service"
groupId: "au.org.ala"
-classifier: ''
-packaging: "war"
-logger_war_url: "{{maven_repo_ws_url}}"
+classifier: "{{ logger_classifier | default('') }}"
+packaging: "{{ logger_packaging | default('war') }}"
+logger_artifact_url: "{{maven_repo_ws_url}}"
content_type_options_header: "{{ logger_content_type_options_header | default(false) }}"