blob: 497efd427149c0572fe5ba2222bcb5cebaf11ba3 [file] [log] [blame]
margaretha8db56a12025-10-07 09:26:40 +02001# This is the default configuration for Kustvakt full version
2# Copy this file to data/kustvakt.conf and adjust settings
3
margarethafbfe2872024-01-04 23:29:28 +01004#Krill
5krill.indexDir= sample-index
6
7krill.index.commit.count = 134217000
8krill.index.commit.log = log/krill.commit.log
9krill.index.commit.auto = 500
10krill.index.relations.max = 100
11# Directory path of virtual corpora to cache
margaretha390f37d2024-04-22 12:07:34 +020012#krill.namedVC = data/vc
margarethafbfe2872024-01-04 23:29:28 +010013
14# LDAP
15ldap.config = src/main/resources/embedded-ldap-example.conf
16
17# Kustvakt
18api.welcome.message = Welcome to KorAP API!
19current.api.version = v1.0
margarethacdd26e62024-07-12 12:40:26 +020020# multiple versions comma separated
21# supported.api.versions = v1.0
margarethafbfe2872024-01-04 23:29:28 +010022
23# server
24server.port=8089
25server.host=localhost
26
margaretha8db56a12025-10-07 09:26:40 +020027# log
28log.request.enabled = false
29
30# Cache
31cache.total.results.enabled = true
32
margaretha4fc0ce62025-07-16 09:03:45 +020033# Timeout
34# timeout.guest = 10000 (default)
35# timeout.login = 90000 (default)
36
margaretha8db56a12025-10-07 09:26:40 +020037
margarethaca9a3242025-06-24 09:11:50 +020038# Pipe (optional)
margarethad0f36512025-07-04 11:06:10 +020039# pipe.host=https://korap.ids-mannheim.de
margarethaca9a3242025-06-24 09:11:50 +020040
margarethafbfe2872024-01-04 23:29:28 +010041# default foundries for specific layers
42default.foundry.partOfSpeech = tt
43default.foundry.lemma = tt
44default.foundry.orthography = opennlp
45default.foundry.dependency = malt
46default.foundry.constituent = corenlp
47default.foundry.morphology = marmot
48default.foundry.surface = base
49
margaretha70536f52025-10-07 09:15:22 +020050# Virtual corpus and queries
51max.user.persistent.queries = 5
margaretha8db56a12025-10-07 09:26:40 +020052# max.token.context.size = 40
margaretha908239e2026-04-28 15:08:27 +020053max.token.context.size.large = 50
margaretha70536f52025-10-07 09:15:22 +020054vc.list.statistics.enabled = false
margarethafbfe2872024-01-04 23:29:28 +010055
56# Availability regex only support |
57# It should be removed/commented when the data doesn't contain availability field.
58#
Marc Kupietze4528ee2024-07-04 16:28:37 +020059availability.regex.free = CC.*
margarethafbfe2872024-01-04 23:29:28 +010060availability.regex.public = ACA.*|QAO-NC
61availability.regex.all = QAO.*
62
margaretha954838d2026-02-18 15:39:47 +010063# Rate limiting for authenticated users
64#
margarethaa93be6a2026-05-18 10:46:50 +020065# Enable or disable rate limiting (true/false)
66ratelimit.enabled = true
margaretha954838d2026-02-18 15:39:47 +010067# Number of requests allowed per time period
68ratelimit.refill.tokens = 60
69# Time period for token refill (format: 1S, 30M, 1H, 1D)
70ratelimit.refill.period = 1M
71# Maximum burst capacity (tokens that can be consumed immediately)
72ratelimit.burst.capacity = 60
73# Maximum number of rate limit buckets to keep in memory
74ratelimit.max.buckets = 10000
75# Time to live for unused rate limit buckets
76ratelimit.bucket.ttl = 6H
77
margarethafbfe2872024-01-04 23:29:28 +010078# options referring to the security module!
79
80# OAuth
81# (see de.ids_mannheim.korap.constant.AuthenticationMethod for possible
82# oauth.password.authentication values)
83oauth2.password.authentication = LDAP
84# used to determine native client, currently not used
85# oauth2.native.client.host = korap.ids-mannheim.de
86oauth2.max.attempts = 1
87# expiry in seconds (S), minutes (M), hours (H), days (D)
88oauth2.access.token.expiry = 1D
89oauth2.refresh.token.expiry = 90D
90# default 365D
91# oauth2.access.token.long.expiry = 365D
92# oauth2.refresh.token.long.expiry = 365D
93oauth2.authorization.code.expiry = 10M
94# scopes separated by space
95oauth2.default.scopes = search match_info
96oauth2.client.credentials.scopes = client_info
margaretha8db56a12025-10-07 09:26:40 +020097oauth2.initial.super.client = false
margarethafbfe2872024-01-04 23:29:28 +010098
99## see SecureRandom Number Generation Algorithms
100## optional
101# security.secure.random.algorithm=SHA1PRNG
102
103## see MessageDigest Algorithms
104## default MD5
105security.md.algoritm = SHA-256
106
107### secure hash support: BCRYPT
108security.secure.hash.algorithm=BCRYPT
109security.encryption.loadFactor = 10
110
111# DEPRECATED
112# JWT
113security.jwt.issuer=korap.ids-mannheim.de
114security.sharedSecret=this-is-shared-secret-code-for-JWT-Signing.It-must-contains-minimum-256-bits
115
116## token expiration (used in other authentication provider than OAuth2)
117security.longTokenTTL=150D
118security.tokenTTL=72H
119security.shortTokenTTL=45M
120
121# Session authentication
122security.idleTimeoutDuration = 25M
123security.multipleLogIn = true
124security.loginAttemptNum = 3
125security.authAttemptTTL = 45M