-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapplication.yml
184 lines (170 loc) · 5.42 KB
/
application.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
server:
port: 11235
maestro:
# runs maestro without indexing functionality, i.e. just document conversion APIs
# if this is set to true, no need to configure kafka, elasticsearch, song
# but you still need to define the repositories
disableIndexing: false
# this can be used to disable kafka integration, this option is preceded by disableIndexing
disableEventIndexing: false
webclient:
# -1 = unlimited memory size
maxInMemorySize: -1
song:
indexableStudyStatesCsv: PUBLISHED
maxRetries: 3
timeoutSec:
study: 100 # some studies take really long, +30 secs, to be downloaded
analysis: 5
# elastic search server to connect to & client properties
elasticsearch:
# elasticsearch server nodes to send requests to
clusterNodes:
- http://localhost:9200
# the index name to store documents in (will be created if not existing)
indexes:
fileCentric:
name: file_centric_1.0
alias: file_centric
enabled: true
analysisCentric:
name: analysis_centric_1.0
alias: analysis_centric
enabled: true
# elasticsearch client properties
client:
basicAuth:
enabled: false
user: elastic
password: dummy-pass
trustSelfSignedCert: false
# this is to control the number of documents per bulk request in elasticsearch
docsPerBulkReqMax: 5000
# max time to wait for a connection to be established
connectionTimeout: 5000
# max time to wait on idle connection (no data flow)
socketTimeout: 10000
# in case of failure this controls the retry attempts
retry:
# maximum number of retry attempts before throwing an error
maxAttempts: 3
# waiting between retries (ms)
waitDurationMillis: 500
# List of Genomic files repositories (SONGs)
repositories:
# these properties will be used in the document (see ../file_centric.json)
- code: song.overture # must be unique & must match song.serverId if using kafka integration with song
url: https://song.domain.com # Change this to a valid domain where the song exists in your setup
name: local song
# optional
storageType: S3
organization: ICGC
country: CA
# you can other SONGs as needed
- code: song.overture1
url: http://localhost:8080
name: local song
# optional
storageType: S3
organization: overture
country: LH
# last resort fallback file system log in case of retries exhaustion.
failureLog:
enabled: true
dir: ${user.home}/logs/maestro
notifications:
slack:
enabled: false
# the types to trigger a notification to this channel (see NotificationName.java)
notifiedOn:
- ALL
url: https://hooks.slack.com/services/SECRET_TOKEN
channel: maestro-alerts
username: maestro
maxDataLength: 1000
# notifications has two parameters (TYPE [string], DATA[map])
templates:
error: ':bangbang: Error : ##TYPE##, Error Info: ```##DATA##```'
warning: ':warning: ##TYPE## ```##DATA##```'
info: ':information_source: ##TYPE## ```##DATA##```'
# exclusion rules configs
exclusionRules:
byId:
studyId:
- "test123"
# analysis:
# - "analysisId"
# file:
# - 41ba4fb3-9428-50b5-af6c-d779cd59b04d
# sample:
# - "sampleId"
# specimen:
# - "specimenId"
# donor:
# - DO232991
# logging & monitoring
logging:
level:
root: INFO
bio.overture: TRACE
# very verbose class, only enable lower level when necessary
bio.overture.maestro.domain.entities.indexing.rules.IDExclusionRule: INFO
org.apache.kafka.clients: INFO
# spring boot actuator endpoints
management:
health:
elasticsearch:
enabled: false
endpoints:
web:
exposure:
include: '*'
endpoint:
health:
show_details: ALWAYS
spring:
application:
name: maestro
output.ansi.enabled: ALWAYS
cloud:
stream:
# kafka integration with song (remove this key to disable kafka)
kafka:
binder:
brokers: localhost:9092
bindings:
songInput:
consumer:
enableDlq: true
dlqName: maestro_song_analysis_dlq
autoCommitOnError: true
autoCommitOffset: true
input:
consumer:
enableDlq: true
dlqName: maestro_index_requests_dlq
autoCommitOnError: true
autoCommitOffset: true
bindings:
input:
# we don't specify content type because @StreamListener will handle that
destination: maestro_index_requests
group: requestsConsumerGrp
consumer:
maxAttempts: 1
songInput:
destination: song-analysis
group: songConsumerGrp
consumer:
maxAttempts: 1
springdoc:
## The reason this was added to support reverse proxy url rewrites like: http://xyz.com/maestro
## otherwise the swagger urls will not be sent to the correct url since swagger ui depends
## on the server definition and springdoc needs forward headers to be enabled by spring
## enabling forward headers in maestro caused it to conflict with disabling kafka
## and forced an autoconfigure for kafka client.
serverOverride:
enabled: false
value: http://localhost:11235/custom
swagger-ui:
path: /api-docs