-
Notifications
You must be signed in to change notification settings - Fork 52
/
Copy pathmain.yml
223 lines (205 loc) · 6.57 KB
/
main.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
- include_tasks: ../../common/tasks/setfacts.yml
tags:
- logger-service
- properties
- name: create logger DB
mysql_db: name={{logger_db_name}} state=present encoding=utf8 login_user=root login_password='{{mysql_root_password}}'
register: dbschema
tags:
- logger-service
- db
- name: create logger DB user
mysql_user: name='{{logger_db_username}}' password='{{logger_db_password}}' priv=*.*:ALL state=present login_user=root login_password='{{mysql_root_password}}'
register: dbuser
tags:
- logger-service
- db
- name: copy transient files to tmp (schemas etc)
copy: src={{item}} dest=/tmp
with_items:
- db/
when: dbschema.changed
tags:
- logger-service
- db
- name: create schema, stored procs and reference data
mysql_db: name='{{logger_db_name}}' state=import target={{item}} login_user=root login_password='{{mysql_root_password}}'
with_items:
- /tmp/schema.sql
- /tmp/eventLogType.sql
- /tmp/reasonLogType.sql
- /tmp/sourceLogType.sql
- /tmp/refresh_summary_breakdown_email.sql
- /tmp/refresh_summary_breakdown_reason.sql
- /tmp/refresh_summary_breakdown_source.sql
- /tmp/refresh_summary_totals.sql
- /tmp/update_breakdown_summary_information.sql
# The following is broken on MySQL-8.0, reenable if it becomes an issue in future
# - /tmp/definer_user.sql
when: dbschema.changed
tags:
- logger-service
- db
- name: ensure target directories exist [data subdirectories etc.]
file: path={{item}} state=directory owner={{tomcat_user}} group={{tomcat_user}}
with_items:
- "{{data_dir}}/logger/config"
tags:
- logger-service
- properties
- name: copy all config.properties
template: src=logger-config.properties dest={{data_dir}}/logger/config/logger-config.properties output_encoding=iso-8859-1
tags:
- logger-service
- properties
- properties-file
- name: copy logback config
template:
src: logback.xml
dest: "{{data_dir}}/logger/config/logback.xml"
tags:
- properties
- logger-service
- name: set data ownership
file: path={{data_dir}}/logger owner={{tomcat_user}} group={{tomcat_user}} recurse=true
notify:
- restart tomcat
tags:
- logger-service
- properties
- include_tasks: ../../apache_vhost/tasks/main.yml
vars:
context_path: '{{ logger_context_path }}'
hostname: '{{ logger_hostname }}'
tags:
- logger-service
- deploy
- apache_vhost
when: not webserver_nginx
- name: copy all SQL auth ip scripts
template: src={{ item }} dest={{data_dir}}/logger/setup/
with_items:
- "sql/auth-ip.sql"
when: logger_authorize_ip_list is defined
tags:
- logger-service
- db
- properties
- name: create auth ip in db if does not exists
shell: "mysql --host={{ logger_db_hostname }} --user={{ logger_db_username }} --password={{ logger_db_password }} {{ logger_db_name }} -e \"set @ip='{{ item }}'; set @host_name='{{ item }}'; source {{data_dir}}/logger/setup/auth-ip.sql;\""
loop: "{{ (logger_authorize_ip_list | regex_replace(' ', '')).split(',') }}"
when: logger_authorize_ip_list is defined
ignore_errors: no
tags:
- logger-service
- db
- name: set nginx proxy target if configured
set_fact:
logger_proxy_target: "{{logger_context_path}}"
tags:
- nginx_vhost
- deploy
- logger-service
when: webserver_nginx and logger_proxy_target is not defined
- name: add nginx vhost if configured
include_role:
name: nginx_vhost
vars:
appname: "logger-service"
hostname: "{{ logger_hostname }}"
context_path: "{{ logger_context_path }}"
nginx_paths:
- path: "{{logger_context_path}}/service/logger/reasons"
sort_label: "1_logger_reasons"
is_proxy: true
use_cache: true
force_cache: true
proxy_pass: "http://127.0.0.1:8080{{logger_proxy_target}}/service/logger/reasons"
- path: "{{logger_context_path}}/service/logger/sources"
sort_label: "1_logger_sources"
is_proxy: true
use_cache: true
force_cache: true
proxy_pass: "http://127.0.0.1:8080{{logger_proxy_target}}/service/logger/sources"
- path: "{{logger_context_path}}/service/logger/events"
sort_label: "1_logger_events"
is_proxy: true
use_cache: true
force_cache: true
proxy_pass: "http://127.0.0.1:8080{{logger_proxy_target}}/service/logger/events"
- path: "{{logger_context_path}}/service/logger"
sort_label: "8_service_logger"
is_proxy: true
use_cache: false
force_cache: false
extra_logs: ["{{ logger_service_extra_postdata_logging }}"]
extra_limit_zones: "{{ logger_service_extra_limit_zones }}"
proxy_pass: "http://127.0.0.1:8080{{logger_proxy_target}}/service/logger"
- path: "{{logger_context_path}}/admin"
sort_label: "8_admin"
is_proxy: true
use_cache: false
force_cache: false
extra_limit_zones: "{{ logger_service_extra_limit_zones_admin }}"
proxy_pass: "http://127.0.0.1:8080{{logger_proxy_target}}/admin"
- path: "{{logger_context_path}}"
sort_label: "9_default"
is_proxy: true
use_cache: false
force_cache: false
proxy_pass: "http://127.0.0.1:8080{{logger_proxy_target}}"
tags:
- nginx_vhost
- deploy
- logger-service
when: webserver_nginx
- include_tasks: ../../tomcat_deploy/tasks/main.yml
vars:
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