Skip to content

Configuration

The configuration is YAML. Every key can be overridden with an environment variable named SENTINEL_ plus the upper-case path joined with _.

KeyDefaultDescription
devfalseEvaluation only. Allows plain HTTP on loopback; never in production.
data_dirdirectory of the config fileSetup token, default key file location, Windows logs
public_url— (required, https://)Base URL devices use; enrollment links and media URLs are built from it
console_urlpublic_urlConsole base URL used in links sent to integrations
database.url— (required)postgres://user:password@host:5432/db?sslmode=verify-full (SENTINEL_DATABASE_URL)
database.max_open_conns / max_idle_conns20 / 5Connection pool per node
database.auto_migratetrueApply database migrations at start
keys.kek_file<data_dir>/sentinel.keyKey-encryption key file (created by init)
keys.kekThe key itself, base64 (SENTINEL_KEYS_KEK), instead of a file
listen.endpoint:8443Device API listener
listen.admin:9443Console listener; set it equal to listen.endpoint for one listener
tls.endpoint.cert_file / key_filePEM certificate chain and key for the endpoint listener
tls.admin.cert_file / key_fileSame for the admin listener
trusted_proxies[]CIDRs of reverse proxies whose X-Forwarded-For is trusted
log.levelinfodebug, info, warn, error
log.formatjsonjson or text
license_fileOptional license file (licenses can also be uploaded in the console)

Outside dev mode, Sentinel requires https in public_url, and either TLS on the endpoint listener or trusted_proxies.

Behind a reverse proxy or load balancer

Terminate TLS at the proxy, forward to the listener over a private network, and list the proxy addresses in trusted_proxies so client IPs in logs, rate limits and the audit log are correct. Requirements:

  • Pass request bodies of at least 12 MiB (image sync) and allow long-lived responses for /admin/api/v1/stream (Server-Sent Events): disable response buffering and use a read timeout of at least 2 minutes.
  • Do not rewrite paths: devices sign the exact /api/v1/… path.
  • Health checks: GET /readyz.

Klipsu Sentinel is a product of Lygon Software · enterprise@klipsu.com