xapi-rs 0.1.21

A conformant LRS implementation of xAPI 2.0.0
Documentation
## ===== xapi_db (Database) stuff =====

# Database URL with a privileged user (not root) credentials.
DB_SERVER_URL="postgresql://user:password@host:port"
# Database name.
DB_NAME="xapi"

# Database connection pool configuration options parameters
DB_MAX_CONNECTIONS = 16
DB_MIN_CONNECTIONS = 4
DB_ACQUIRE_TIMEOUT_SECS = 8
DB_IDLE_TIMEOUT_SECS = 8
DB_MAX_LIFETIME_SECS = 8

# Convenience for `sqlx` command line tool
DATABASE_URL="${DB_SERVER_URL}/${DB_NAME}"

## Maximum number of Statements to return.
DB_STATEMENTS_PAGE_LEN = 20


## Filter views parameters

# When the cleaner task scheduler kicks in, at most this number of stale filter
# views registration IDs are processed at a time.  Default is 50.
#
# TTL_BATCH_LEN = 50

# Number of seconds a filter view registration identifier remains valid after
# it's created. Default is 30.
#
# TTL_SECS = 30

# Number of seconds the cleaner task sleeps between runs.  Default is 60.
#
# TTL_INTERVAL_SECS = 60


## Multipart temp file cleaner parameters

# Number of seconds the cleaner task sleeps between runs.  Default is 10.
#
# MFC_INTERVAL_SECS = 10


## ===== xapi_lrs (LaRS) stuff =====

# Host IPv4 and port number where LaRS will be listening for connections.
LRS_HOST = "127.0.0.1"
LRS_PORT = 9000

# IMPORTANT (rsn) 20241024 - ensure it matches the value used in `migrations`
# DEPRECATED (since 0.1.5) - Use LRS_ROOT_EMAIL instead.
LRS_AUTHORITY_IFI = "admin@my.xapi.net"

# Mode of operation of this server. Read the "USERS.md" document for an explanation
# about the three alternatives.
LRS_MODE = "legacy"

# The root user's `user_id` and `password` properties which when combined form
# the _RootUser_ Basic Authentication (BA) access credentials. Only the `user_id`
# part, named `LRS_ROOT_EMAIL`, is given a default value that is an alias to the
# (now deprecated) `LRS_AUTHORITY_IFI` property. The password value part should 
# be set in `.env` otherwise the server will only operate in Legacy mode.
LRS_ROOT_EMAIL = "${LRS_AUTHORITY_IFI}"
# LRS_ROOT_PASSWORD

# Controls the size of an in-memory cache of recently authenticated users.
LRS_USER_CACHE_LEN = 100

## How URLs generated by LaRS will be seen from the outside.
LRS_EXTERNAL_URL="https://localhost/xapi/"

# Default language tag to use by Extension handlers when a parameter (usually 
# named `language`) was missing from the request. See the documentation of the
# "GET multiple" handler in the _Verb_ extension for an example.
EXT_DEFAULT_LANGUAGE="en"

# Boolean flag that controls how a Statement's JWS signature is verified.
# When set to FALSE (the default) a Statement is deemed to be correcly signed
# if it's "equivalent" to the one deserialized from the JWS Payload.
# When set to TRUE and the JWS Header has an 'x5c' property containing at least
# one X.509 certificate, then a Statement is deemed to be correctly signed if
# additionally the certificates in the chain ('x5c' array)...
# 1. Are at the time of processing the request within their validity period,
# 2. Each certificate's issuer's distinguished name matches the subject's
#    distinguished name of the subsequent certificate in the chain.
# 3. Every certificate is signed by the subsequent one.
# 4. The JWS signature correctly matches the same generated using the RSA Public
#    Key contained in the 1st certificate.
JWS_STRICT=false

## ===== workspace stuff =====

## https://github.com/secretkeysio/jelly-actix-web-starter/blob/trunk/.env.example
# Just force these here to make life easier. ;P
RUST_BACKTRACE=1
RUST_LOG="error"