-
Notifications
You must be signed in to change notification settings - Fork 0
/
openolitor-server-int.conf.template
185 lines (167 loc) · 5.26 KB
/
openolitor-server-int.conf.template
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
include "application"
openolitor {
run-proxy-service: true,
port: 9003,
mandanten: ["m1"],
m1: {
name: "mandant1",
port: 9004,
webservicePort: 10004,
# Project specific akka persistence configuration
akka-persistence-sql-async {
url = "jdbc:mysql://db:3306/@@MYSQL_DATABASE@@"
user = "@@MYSQL_USER@@"
password = "@@MYSQL_PASSWORD@@"
}
# Mandant specific db settings
db: {
default: {
url = "jdbc:mysql://db:3306/@@MYSQL_DATABASE@@"
user = "@@MYSQL_USER@@"
password = "@@MYSQL_PASSWORD@@"
}
}
# Buchhaltung
buchhaltung: {
# Der Prefix hat zusammen mit der Rechnungsnummer (200000) und der Kundennummer(30000) eine maximale Länge von 26 Zeichen
referenznummer-prefix = ""
# Die Rechnungsnummer & Kundennummer in der Referenznummer werden mit Nullen bis zu diesen Längen von vorne aufgefüllt
rechnung-id-length = 6
kunde-id-length = 5
# Teilnehmernummer ohne Sonderzeichen [0-9]{9}
teilnehmernummer = "777777777"
}
s3 {
aws-endpoint = "http://s3:9000"
aws-access-key-id = "@@MINIO_ACCESS_KEY@@"
aws-secret-acccess-key = "@@MINIO_SECRET_KEY@@"
}
smtp {
from = "@@MAIL_FROM@@"
endpoint = "@@MAIL_SERVER@@"
port = "@@MAIL_PORT@@"
user = "@@MAIL_USER@@"
password = "@@MAIL_PASSWORD@@"
number-of-retries = 5
send-email = true
max-chunk-size = 1m
}
converttopdf {
# use your own server for security reasons
endpoint = "http://pdftools.openolitor.ch/lool/convert-to/pdf"
}
},
# DB Seed configuration
db.default.seed {
models = [
ch.openolitor.core.models.PersonId,
ch.openolitor.stammdaten.models.ProjektId,
ch.openolitor.stammdaten.models.DepotId,
ch.openolitor.stammdaten.models.TourId,
ch.openolitor.stammdaten.models.KundeId,
ch.openolitor.stammdaten.models.AbotypId,
ch.openolitor.stammdaten.models.AboId,
ch.openolitor.stammdaten.models.ProduktId,
ch.openolitor.stammdaten.models.ProduzentId,
ch.openolitor.stammdaten.models.VertriebId,
ch.openolitor.stammdaten.models.EinladungId,
ch.openolitor.stammdaten.models.SammelbestellungId,
ch.openolitor.stammdaten.models.AuslieferungId,
ch.openolitor.buchhaltung.models.RechnungId,
ch.openolitor.stammdaten.models.SammelbestellungId,
ch.openolitor.buchhaltung.models.RechnungId,
ch.openolitor.buchhaltung.models.RechnungsPositionId]
mappings {
ch.openolitor.core.models {
PersonId = 40000
}
ch.openolitor.stammdaten.models {
ProjektId = 1000
DepotId = 10000
TourId = 20000
KundeId = 30000
AbotypId = 50000
ProduktId = 60000
ProduzentId = 70000
AboId = 100000
EinladungId = 120000
SammelbestellungId = 300000
VertriebId = 110000
AuslieferungId = 130000
}
ch.openolitor.buchhaltung.models {
RechnungId = 200000
RechnungsPositionId = 400000
}
}
}
# Security configuration
security {
second-factor-auth {
require = false
}
# max 600s delay
max-request-delay = 600000
cors {
allow-origin = [ "@@URL@@" ]
}
zugang-base-url = "@@URL@@/#/zugangaktivieren"
passwort-reset-base-url = "@@URL@@/#/zugangaktivieren"
}
# startTimeDelationSeconds = 300
startTimeDelationSeconds=10
}
# Default akka configuration
akka {
loglevel = "DEBUG",
stdout-loglevel = "DEBUG",
loggers = ["akka.event.slf4j.Slf4jLogger"]
logging-filter = "akka.event.slf4j.Slf4jLoggingFilter",
persistence {
journal.plugin = "akka-persistence-sql-async.journal"
snapshot-store.plugin = "akka-persistence-sql-async.snapshot-store"
},
actor {
serializers {
event-serializer = "ch.openolitor.core.eventsourcing.EventStoreSerializer"
},
serialization-bindings {
"ch.openolitor.core.domain.PersistentEvent" = event-serializer
}
}
}
# Default akka-persistence configuration
akka-persistence-sql-async {
journal.class = "akka.persistence.journal.sqlasync.MySQLAsyncWriteJournal"
snapshot-store.class = "akka.persistence.snapshot.sqlasync.MySQLSnapshotStore"
max-pool-size = 15
wait-queue-capacity = 10000
metadata-table-name = "persistence_metadata"
journal-table-name = "persistence_journal"
snapshot-table-name = "persistence_snapshot"
}
# Configure own dispatcher for the reportsystem to control max used ressources
akka.actor.deployment {
/oo-system/report-system {
dispatcher = report-dispatcher
}
}
report-dispatcher {
# Dispatcher is the name of the event-based dispatcher
type = Dispatcher
# What kind of ExecutionService to use
executor = "thread-pool-executor"
# Configuration for the thread pool
thread-pool-executor {
# minimum number of threads to cap factor-based core number to
core-pool-size-min = 2
# No of core threads ... ceil(available processors * factor)
core-pool-size-factor = 2.0
# maximum number of threads to cap factor-based number to
core-pool-size-max = 10
}
# Throughput defines the maximum number of messages to be
# processed per actor before the thread jumps to the next actor.
# Set to 1 for as fair as possible.
throughput = 100
}