# 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 # Enable Etag cache header middleware [server.middlewares.etag] enable = true # 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. [server.middleware.request_id] enable = true [server.middleware.logger] enable = true # when your code is panicked, the request still returns 500 status code. [server.middleware.catch_panic] enable = true # Timeout for incoming requests middleware. requests that take more time from the configuration will cute and 408 status code will returned. [server.middleware.timeout_request] enable = false # Duration time in milliseconds. timeout = 5000 # 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 [server.middleware.cors] enable = true # 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 = 10 # Run migration up when application loaded auto_migrate = true [storage] data_dir = '{{ get_env(name="STORAGE_DATA_DIR", default="./data") }}' [mikan] base_url = "https://mikanani.me/" [mikan.http_client] exponential_backoff_max_retries = 3 leaky_bucket_max_tokens = 2 leaky_bucket_initial_tokens = 1 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 = inf # complexity_limit = inf