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
server:
host: 0.0.0.0
port: 8080
grpc_port: 50051
database:
url: postgresql://root:password@localhost:5432/skeletondb
max_connections: 10
min_connections: 5
connect_timeout: 30
idle_timeout: 600
logging:
level: info
format: json
file: logs/integrations.log
module:
name: integrations
enabled: true
features:
soft_delete: true
state_machines: false
workflows: true
entities:
integration_connector:
collection: integration_connectors
enabled: true
cache_ttl: 300
pagination:
default_limit: 20
max_limit: 100
integration_event:
collection: integration_events
enabled: true
cache_ttl: 300
pagination:
default_limit: 20
max_limit: 100
integration_account:
collection: integration_accounts
enabled: true
cache_ttl: 300
pagination:
default_limit: 20
max_limit: 100
tracing:
enabled: true
exporter: otlp
endpoint: http://localhost:4317
metrics:
enabled: true
endpoint: /metrics
port: 9090
oauth:
public_base: https://api.example.com
clients:
gmail:
client_id: replace-me
outlook:
client_id: replace-me
google_calendar:
client_id: replace-me
microsoft_calendar:
client_id: replace-me
endpoints:
refresh_window_seconds: 600
refresh_batch_size: 100
shared_mailbox_bypass: false
state_secret_source: env:INTEGRATIONS_OAUTH_STATE_SECRET