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) }}"