104 lines
3.3 KiB
TOML
104 lines
3.3 KiB
TOML
[server]
|
|
host = "127.0.0.1"
|
|
port = 8080
|
|
keep_alive = 75
|
|
max_connections = 1000
|
|
|
|
[database]
|
|
url = "rocksdb://data/control-center.db"
|
|
namespace = "control_center"
|
|
database = "main"
|
|
|
|
[jwt]
|
|
issuer = "control-center"
|
|
audience = "control-center-api"
|
|
access_token_expiration_hours = 1
|
|
refresh_token_expiration_hours = 168
|
|
private_key_pem = """
|
|
-----BEGIN RSA PRIVATE KEY-----
|
|
MIIEpAIBAAKCAQEA82On7Xk5jycsV4NCOij0510ssy/3S1Pqj+UjGS1R3+tyHX57
|
|
BQ3NiA3D/bn4ozMXmyORxrX0LKhnrERLV9NAKV21XOzjWlkz2oAcEhIfz+1l9kWr
|
|
R/4VzJFc+DPnFr1ly+1+BUQC3E2rWhIPvknRwTCpBouIl4EhD36V7CC5nnu3/hfL
|
|
UngfY5dyR9coeV8ZS6r4P2HBfqvEimPliCeEnv9Pt0F/3ENRnzyW28wbrGDUlb3R
|
|
LKsCI4cJE9oDcuOkyYZEWf2H5xAcidksaDNxabYRGS5IqT25obMElEZZDvj9X60S
|
|
8UHuI3Tm+2kc69fo64/S53y3yNr6Ed05PVewiQIDAQABAoIBAQDK5tp466WjhMm/
|
|
jwpoB/ra4l9AZo1ne+bA3QoclB58aQDyO539AZvFf4xTenUgQJi+WbHOkaOkkyQS
|
|
hcC1z8PeeGOYu1dx24mR71j3a6qfoc5tt3jqBJVRvCFgPYy59Vzm2+9CHoev9wQR
|
|
i5saTNoTjyhp72sIurq/+wyrFEEKL4NkAB0n7bR0C1AI8uNwwU70ANb5ih5DgBso
|
|
Nz5mm4eKQyzkN+cs34Hqdlvlskv5xAaU7Z6sjqZwHt0fQ2+gHehOLnaRAE/48PAI
|
|
xNzoDFstPGQAgzg1H8VLnLgo7+B4OEQkr6WzZacr2XSBTcpEXSBHb0FUkpT1ks4V
|
|
t6uEQbDxAoGBAPaMPZK+Z7V64p64jhA3UNUpechx+wfnTf+KE5fiopOWe009ykb2
|
|
wJuPFrUNFYyZ/lLE6sze64OYzjGTKp3+UTegPBpac5VWMf3J9W+VU0CG37LeMJPh
|
|
psRrjmdW/e1JZ9D8K1rHWb4zU6LmSBZDXAXdNmxSOMDJfs/QgFNDtHiFAoGBAPy4
|
|
anLxSRzkbfEQYBN0+JivOxxrtu9H+JbjaShh4eUD/GlC9DSH0ptm5Feh4UeGxq85
|
|
d79AJhYgzTy9c1ri+1+Yj4p0YqAw7fjE5ib3zVNVB0otJNi9hmf9OfokqOCv+hVM
|
|
TyBwEDzJ0meqmrDRBH+cLSfCQLN9oTlAabBlKtk1AoGAE3P/S7vQTQZ0KRfgxbDH
|
|
pPoPzNwJdZcvlVEcuKg+Maz276JHeo/vpJaGsSRmJeDkqz00VZPlO03sPwcgnrS5
|
|
Tc1L0LyAUDEr4p1zyykaF4ZM0j0r0g9E7EycQNUhVf6rvVaYSSJfl11PZRQMbg1E
|
|
joXkzGk0Zym+4sDNz0QRUk0CgYEA4SoSNd0C7kocJncXkt5aC/e8a+MQt3rhYta1
|
|
P7SORrTZdJOh7xfArpLrCaUCie7sIPzL00t9Y6PQGLkXCThJDXBpG8v8f4t4y3fr
|
|
M3b/qqqMdytns/CQyyAUQuncyWwhHk7CBT2zSeXroE+hyb5BCs2EcfMiIInjVpYs
|
|
VGye060CgYBZj2wMBlF3StH84bXJlYPhauNcwJSRzJte0WNjW/mXXcGJtfFhR5Mq
|
|
jNJxjFk+EhOw2mPg678lHT7mGymo3u2sHLROCB4vdwao6yxYtRd8KRcUpt51L/ZX
|
|
e8NVbdrratDy105kYSUsi78yXAVl09wUisU0JMnaj9vgNkmYfkzx5A==
|
|
-----END RSA PRIVATE KEY-----
|
|
"""
|
|
public_key_pem = """
|
|
-----BEGIN RSA PUBLIC KEY-----
|
|
MIIBCgKCAQEA82On7Xk5jycsV4NCOij0510ssy/3S1Pqj+UjGS1R3+tyHX57BQ3N
|
|
iA3D/bn4ozMXmyORxrX0LKhnrERLV9NAKV21XOzjWlkz2oAcEhIfz+1l9kWrR/4V
|
|
zJFc+DPnFr1ly+1+BUQC3E2rWhIPvknRwTCpBouIl4EhD36V7CC5nnu3/hfLUngf
|
|
Y5dyR9coeV8ZS6r4P2HBfqvEimPliCeEnv9Pt0F/3ENRnzyW28wbrGDUlb3RLKsC
|
|
I4cJE9oDcuOkyYZEWf2H5xAcidksaDNxabYRGS5IqT25obMElEZZDvj9X60S8UHu
|
|
I3Tm+2kc69fo64/S53y3yNr6Ed05PVewiQIDAQAB
|
|
-----END RSA PUBLIC KEY-----
|
|
"""
|
|
|
|
[rate_limiting]
|
|
max_requests = 100
|
|
window_seconds = 60
|
|
per_ip = true
|
|
global = false
|
|
|
|
[cors]
|
|
allowed_origins = ["http://localhost:3000"]
|
|
allowed_methods = [
|
|
"GET",
|
|
"POST",
|
|
"PUT",
|
|
"DELETE",
|
|
"PATCH",
|
|
"OPTIONS",
|
|
]
|
|
allowed_headers = [
|
|
"content-type",
|
|
"authorization",
|
|
"accept",
|
|
"x-requested-with",
|
|
"x-session-id",
|
|
]
|
|
expose_headers = [
|
|
"x-total-count",
|
|
"x-rate-limit-remaining",
|
|
"x-rate-limit-limit",
|
|
"x-rate-limit-reset",
|
|
]
|
|
max_age = 86400
|
|
allow_credentials = true
|
|
|
|
[security]
|
|
session_cleanup_interval_minutes = 60
|
|
max_sessions_per_user = 5
|
|
password_min_length = 8
|
|
password_require_special_chars = false
|
|
password_require_numbers = false
|
|
password_require_uppercase = false
|
|
failed_login_lockout_attempts = 5
|
|
failed_login_lockout_duration_minutes = 15
|
|
|
|
[logging]
|
|
level = "info"
|
|
format = "json"
|
|
max_file_size = "100MB"
|
|
max_files = 10
|