146 lines
6.2 KiB
YAML
146 lines
6.2 KiB
YAML
# Loco configuration file documentation
|
|
|
|
# Application logging configuration
|
|
logger:
|
|
# Enable or disable logging.
|
|
enable: true
|
|
# Enable pretty backtrace (sets RUST_BACKTRACE=1)
|
|
pretty_backtrace: true
|
|
# Log level, options: trace, debug, info, warn or error.
|
|
level: debug
|
|
# Define the logging format. options: compact, pretty or Json
|
|
format: compact
|
|
# By default the logger has filtering only logs that came from your code or logs that came from `loco` framework. to see all third party libraries
|
|
# Uncomment the line below to override to see all third party libraries you can enable this config and override the logger filters.
|
|
# override_filter: trace
|
|
|
|
# Web server configuration
|
|
server:
|
|
# Port on which the server will listen. the server binding is 0.0.0.0:{PORT}
|
|
port: 5001
|
|
binding: "0.0.0.0"
|
|
# The UI hostname or IP address that mailers will point to.
|
|
host: '{{ get_env(name="HOST", default="localhost") }}'
|
|
# Out of the box middleware configuration. to disable middleware you can changed the `enable` field to `false` of comment the middleware block
|
|
middlewares:
|
|
# Enable Etag cache header middleware
|
|
etag:
|
|
enable: true
|
|
# Allows to limit the payload size request. payload that bigger than this file will blocked the request.
|
|
limit_payload:
|
|
# Enable/Disable the middleware.
|
|
enable: true
|
|
# the limit size. can be b,kb,kib,mb,mib,gb,gib
|
|
body_limit: 5mb
|
|
# Generating a unique request ID and enhancing logging with additional information such as the start and completion of request processing, latency, status code, and other request details.
|
|
logger:
|
|
# Enable/Disable the middleware.
|
|
enable: true
|
|
# when your code is panicked, the request still returns 500 status code.
|
|
catch_panic:
|
|
# Enable/Disable the middleware.
|
|
enable: true
|
|
# Timeout for incoming requests middleware. requests that take more time from the configuration will cute and 408 status code will returned.
|
|
timeout_request:
|
|
# Enable/Disable the middleware.
|
|
enable: false
|
|
# Duration time in milliseconds.
|
|
timeout: 5000
|
|
|
|
cors:
|
|
enable: true
|
|
# Set the value of the [`Access-Control-Allow-Origin`][mdn] header
|
|
# allow_origins:
|
|
# - https://loco.rs
|
|
# Set the value of the [`Access-Control-Allow-Headers`][mdn] header
|
|
# allow_headers:
|
|
# - Content-Type
|
|
# Set the value of the [`Access-Control-Allow-Methods`][mdn] header
|
|
# allow_methods:
|
|
# - POST
|
|
# Set the value of the [`Access-Control-Max-Age`][mdn] header in seconds
|
|
# max_age: 3600
|
|
fallback:
|
|
enable: false
|
|
|
|
# Worker Configuration
|
|
workers:
|
|
# specifies the worker mode. Options:
|
|
# - BackgroundQueue - Workers operate asynchronously in the background, processing queued.
|
|
# - ForegroundBlocking - Workers operate in the foreground and block until tasks are completed.
|
|
# - BackgroundAsync - Workers operate asynchronously in the background, processing tasks with async capabilities.
|
|
mode: BackgroundAsync
|
|
|
|
# Mailer Configuration.
|
|
mailer:
|
|
# SMTP mailer configuration.
|
|
smtp:
|
|
# Enable/Disable smtp mailer.
|
|
enable: true
|
|
# SMTP server host. e.x localhost, smtp.gmail.com
|
|
host: '{{ get_env(name="MAILER_HOST", default="localhost") }}'
|
|
# SMTP server port
|
|
port: 1025
|
|
# Use secure connection (SSL/TLS).
|
|
secure: false
|
|
# auth:
|
|
# user:
|
|
# password:
|
|
|
|
# Database Configuration
|
|
database:
|
|
# Database connection URI
|
|
uri: '{{ get_env(name="DATABASE_URL", default="postgres://konobangu:konobangu@localhost:5432/konobangu") }}'
|
|
# When enabled, the sql query will be logged.
|
|
enable_logging: true
|
|
# Set the timeout duration when acquiring a connection.
|
|
connect_timeout: 500
|
|
# Set the idle duration before closing a connection.
|
|
idle_timeout: 500
|
|
# Minimum number of connections for a pool.
|
|
min_connections: 1
|
|
# Maximum number of connections for a pool.
|
|
max_connections: 1
|
|
# Run migration up when application loaded
|
|
auto_migrate: true
|
|
# Truncate database when application loaded. This is a dangerous operation, make sure that you using this flag only on dev environments or test mode
|
|
dangerously_truncate: false
|
|
# Recreating schema when application loaded. This is a dangerous operation, make sure that you using this flag only on dev environments or test mode
|
|
dangerously_recreate: false
|
|
|
|
# Redis Configuration
|
|
redis:
|
|
# Redis connection URI
|
|
uri: '{{ get_env(name="REDIS_URL", default="redis://localhost:6379") }}'
|
|
# Dangerously flush all data in Redis on startup. dangerous operation, make sure that you using this flag only on dev environments or test mode
|
|
dangerously_flush: false
|
|
|
|
settings:
|
|
dal:
|
|
data_dir: '{{ get_env(name="DAL_DATA_DIR", default="./data") }}'
|
|
|
|
mikan:
|
|
base_url: "https://mikanani.me/"
|
|
http_client:
|
|
exponential_backoff_max_retries: 3
|
|
leaky_bucket_max_tokens: 2
|
|
leaky_bucket_initial_tokens: 0
|
|
leaky_bucket_refill_tokens: 1
|
|
leaky_bucket_refill_interval: 500
|
|
|
|
auth:
|
|
auth_type: '{{ get_env(name="AUTH_TYPE", default = "basic") }}'
|
|
basic_user: '{{ get_env(name="BASIC_USER", default = "konobangu") }}'
|
|
basic_password: '{{ get_env(name="BASIC_PASSWORD", default = "konobangu") }}'
|
|
oidc_issuer: '{{ get_env(name="OIDC_ISSUER", default = "") }}'
|
|
oidc_audience: '{{ get_env(name="OIDC_AUDIENCE", default = "") }}'
|
|
oidc_client_id: '{{ get_env(name="OIDC_CLIENT_ID", default = "") }}'
|
|
oidc_client_secret: '{{ get_env(name="OIDC_CLIENT_SECRET", default = "") }}'
|
|
oidc_extra_scopes: '{{ get_env(name="OIDC_EXTRA_SCOPES", default = "") }}'
|
|
oidc_extra_claim_key: '{{ get_env(name="OIDC_EXTRA_CLAIM_KEY", default = "") }}'
|
|
oidc_extra_claim_value: '{{ get_env(name="OIDC_EXTRA_CLAIM_VALUE", default = "") }}'
|
|
|
|
graphql:
|
|
depth_limit: null
|
|
complexity_limit: null
|