-
Notifications
You must be signed in to change notification settings - Fork 146
Expand file tree
/
Copy pathconfig.dev.yaml
More file actions
342 lines (304 loc) · 9.97 KB
/
Copy pathconfig.dev.yaml
File metadata and controls
342 lines (304 loc) · 9.97 KB
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
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
#####################
### Iris-api settings
#####################
server:
host: 0.0.0.0
port: 16649
disable_auth: True # allow logins by existing users, but without checking credentials
local_api_url: http://localhost:16649
db: &db
conn:
kwargs:
scheme: mysql+pymysql
user: root
password: ""
host: 127.0.0.1
port: 3306
database: iris
charset: utf8
str: "%(scheme)s://%(user)s:%(password)s@%(host)s:%(port)s/%(database)s?charset=%(charset)s"
query_limit: 500
kwargs:
pool_recycle: 3600
echo: False
pool_size: 100
max_overflow: 100
pool_timeout: 60
# # Specify different connection settings for side scripts
# db_target_sync: &db_target_sync
# conn:
# kwargs:
# scheme: mysql+pymysql
# user: iris-target-sync
# password: ""
# host: 127.0.0.1
# database: iris
# charset: utf8
# str: "%(scheme)s://%(user)s:%(password)s@%(host)s:%(port)s/%(database)s?charset=%(charset)s"
# kwargs:
# pool_recycle: 3600
# echo: False
# pool_size: 100
# max_overflow: 100
# pool_timeout: 60
# db_retention: &db_retention
# conn:
# kwargs:
# scheme: mysql+pymysql
# user: iris-retention
# password: ""
# host: 127.0.0.1
# database: iris
# charset: utf8
# str: "%(scheme)s://%(user)s:%(password)s@%(host)s/%(database)s?charset=%(charset)s"
# kwargs:
# pool_recycle: 3600
# echo: False
# pool_size: 100
# max_overflow: 100
# pool_timeout: 60
## Change these to random long values when you run this in production
user_session:
encrypt_key: 'abc'
sign_key: '123'
supported_timezones:
- 'US/Pacific'
- 'US/Eastern'
- 'US/Central'
- 'US/Mountain'
- 'US/Alaska'
- 'US/Hawaii'
- 'Asia/Kolkata'
- 'Asia/Shanghai'
- 'UTC'
sms_override_template: "ALERT: Incident %s has been triggered by Iris! Please check Iris for more information. - SMS template override"
healthcheck_path: /tmp/status
allowed_origins:
- http://localhost:8080
## values for base url and login url to be consumed by the mobile app
## set to Null to disable the qr endpoint
qr_base_url: Null
qr_login_url: Null
## Custom webhooks can be created and put in src/iris/webhooks.
## Refer to their class name in this array.
## The webhook will be available at /v0/webhooks/$name and requires being called with
## ?application=xxx&key=xxx
webhooks:
- alertmanager
## custom incident handler can be created to do additional tasks after incident creation, claim, or resolve
# custom_incident_handler_module: iris.custom_incident_handler
# *OR* the following for multiple handlers
# custom_incident_handler_modules: [ iris.custom_incident_handler ]
## allows listed applications to access internal API endpoints that return sensitive data including application API keys
## this should only be used by applications that are essentially extensions of iris itself like a custom sender
# allowlisted_internal_apps:
# - iris-internal-application
#####################
### Iris-sender
#####################
sender:
debug: True # Set to True, sender will not actually send messages
process_title: iris-sender
host: 127.0.0.1
port: 2321
## Number of gevent workers per mode we send
workers_per_mode:
email: 500
#hipchat: 10
## Default sender to reach out to if we can't determine one programmatically
leader_sender:
host: 127.0.0.1
port: 2321
api_host: http://localhost:16649
## App used for sending notification messages + incidents
sender_app: iris
## RPC access log
access_log:
maxBytes: 10485760
filename: './logs/sender_rpc.access.log'
## Optionally, use zookeeper for sender high availability.
#zookeeper_cluster: localhost:2181
# Disable the gmail based iris-sender watchdog process
disable_gwatch_renewer: True
## If you're not using zookeeper, the following determines
## whether this sender is a leader and you hard code in
## slaves to be cycled through
is_leader: True
# default_rate_def:
# # how many messages in a period before they are dropped
# hard_limit: 30
# # how many messages in a period before notification is sent out
# soft_limit: 20
# # period length for hard limit
# hard_duration: 1
# # period length for soft limit
# soft_duration: 1
# # time to wait before messages can be created again
# wait_time: 3600
# # target that will receive notification for soft quota breaches
# target_name: foo_team
# target_role: team
# # plan for incident that will be raised if there is a hard quota breach
# plan_name: bar_plan
#slaves:
# - host: 127.0.0.1
# port: 2322
# - host: 127.0.0.1
# port: 2323
sender_workers: 1000
## Enabled modules for resolving complex user roles to individual usernames, processed
## in the order listed here.
role_lookups:
- user # support for 'role' being username
- mailing_list # mailing list config; see bottom of file
#- oncall # oncall service integration
- dummy # dummy role lookup used for testing purposes. Disable this in production.
oncall-api: http://localhost:8080 # oncall url
oncall-app: app # application for oncall auth
oncall-key: abc # API key for oncall auth
applications:
- dummy_app
## Vendors provides a way to add support for new notification mechanisms
vendors: []
#- type: iris_smtp
# name: email
# smtp_server: 'smtp1.example.com'
# smtp_gateway: 'smtp2.example.com'
# from: 'foouser@example.com'
# port: 25
# username: 'foobar'
# password: 'secretpass'
## If True, make a pool of persistent connections per each MX record for the given smtp_gateway
## autoscale: False
## tasks_per_mx: 4
#- type: iris_slack
# name: slack
# auth_token: ''
# base_url: 'https://slack.com/api'
# iris_incident_url: ''
# proxy: *proxy_shared
# message_attachments:
# fallback: 'Iris Alert Fired!'
# color: 'danger'
# pretext: '<!here> _Iris_ _Alert!_'
#- type: iris_twilio
# name: twilio_1
# account_sid: ''
# auth_token: ''
# twilio_number: ''
# application_override_mapping: ''
# relay_base_url: ''
## Hipchat support requires adding a new mode called "hipchat", in iris' mode table
## Also, uncomment the hipchat workers to the sender['workers_per_mode'] hash above
## Messages will be sent to $room_id by default, with @UserName getting a mention
## Note that we support 3 different values for a users hipchat value:
## 1. @UserName
## 2. room_id;token
## 3. room_id;token;@UserName
#- type: iris_hipchat
# name: hipchat
# auth_token: 'mytoken'
# debug: False
# base_url: 'https://api.hipchat.com'
# room_id: 1234567
## Metrics
metrics: dummy # output metrics to logs
#metrics: prometheus
#prometheus:
# iris-sync-targets:
# server_port: 8001
# iris-sender:
# server_port: 8002
#
#
#metrics: influx
#influxdb:
# connect:
# host: localhost
# port: 8086
# database: iris
## Claim incidents by clicking the link in gmail.
## See https://developers.google.com/gmail/markup/reference/one-click-action
enable_gmail_oneclick: False
gmail_one_click_url_key: 'foo'
gmail_one_click_url_endpoint: 'http://localhost:16648/api/v0/gmail-oneclick/relay'
#####################
### Iris-sync-targets
#####################
sync_script_nap_time: 3600 # wait time before syncing again
# sync_script_ldap_timeout: 60
# sync_script_ldap_pagination_size: 400
## add short pauses in seconds between inserting, updating, and deleting rows to allow take pressure off databasee replication
# target_update_pause: 0.1
## use this for LDAP settings for sync script lookup
# init_config_hook: iris_internal.api.init_config
## always create these users
# sync_script: # always create these users
# preset_users:
# - name: 'dummy'
# sms: '0123456789'
# call: '0123456789'
## Optionally, import ldap mailing lists and have the ability to target them in messages
#ldap_lists:
# connection:
# url: 'ldaps://your ldap url'
# bind_args: ['your bind username', 'your bind password']
# search_strings:
# get_all_lists_filter: '(&(objectClass=group)(groupCN=*)(groupName=*))'
# get_all_sub_lists_filter: '(&(objectClass=group)(partOf=%s)(groupCN=*)(groupName=*))'
# list_search_string: 'OU=groups,OU=company,DC=com'
# user_search_string: 'OU=users,OU=company,DC=com'
# user_membership_filter: '(&(objectClass=user)(userName=*)(partOf=%s))'
# user_mail_field: 'userName'
# list_cn_field: 'groupCN'
# list_name_field: 'groupName'
#
# # Max depth for recursing nested ldap lists.
# max_depth: 3
#
# # If a list result returns at least this many results, don't support unrolling at runtime.
# max_unrolled_users: 100
#
# # Every $n users, stop inserting into mysql to avoid crashing it. Comment these out to disable.
# user_add_pause_interval: 500
# user_add_pause_duration: 1
#####################
### Iris-owa-sync
#####################
## To sync mails from OWA365:
#owa:
# credentials:
# username: 'foouser@example.com'
# password: ''
# account:
# autodiscover: false # needs to be False for OWA365
# primary_smtp_address: foouser@example.com
# config:
# server: outlook.office365.com # need to hardcode this for OWA365
### proxies are optional but you can configure them here
## proxies:
## https: http://yourproxy:yourport
## http: http://yourproxy:yourport
# # need a valid iris application for for owa script to connect to api to relay emails
# iris_app: ''
# iris_app_key: ''
# api_host: http://localhost:16649
# sleep_interval: 60
#
#####################
### Iris-process-retention
#####################
## To automatically prune DB of messages & incidents older than $x days
#
#retention:
# enabled: True
# max_days: 180 # Max age of incidents/messages to kill
# archive_path: /path/to/iris/backup # Path to be populated with the deleted messages/incidents for later reference
# batch_size: 10000 # Do this many incidents/messages at a time, to avoid overloading mysql
# cooldown_time: 1 # Wait this many seconds between iterations of above
# run_interval: 86400 # Run retention loop every this many seconds
#
#iris-mobile:
# activated: False
# devices_allowed_apps:
# - iris-relay