aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/recluse.toml')
-rw-r--r--pkg/recluse.toml59+59 −0
1 files changed, 59 insertions, 0 deletions
diff --git a/pkg/recluse.toml b/pkg/recluse.toml
new file mode 100644
--- /dev/null
+++ b/pkg/recluse.toml
@@ -0,0 +1,59 @@
+# SPDX-FileCopyrightText: 2026 Nikolay Govorov <me@govorov.online>
+# SPDX-License-Identifier: AGPL-3.0-or-later
+
+# recluse will dutifully indicate its user agent and protocols (for example, source for zig).
+# Specify your name if you want your instance to be identified.
+appname="recluse"
+
+# Path to the directory for storing state (indexes, caches, statistics).
+# Must be a writable directory.
+dirname="/var/lib/recluse"
+
+# Common server settings
+[server]
+shutdown_timeout = 60 # seconds
+request_timeout = 30 # seconds
+max_body_size = "64 MiB"
+max_concurrent_requests = 512
+rate_limit_period = 10
+rate_limit_burst_size = 50
+
+# Listeners configuration. Each listener has an address and optional hostnames.
+# Empty hostnames means accept all requests (catch-all).
+[[listen]]
+addr = "0.0.0.0:2025"
+hostnames = ["localhost", "127.0.0.1", "::1"]
+
+# For HTTPS, set tls_cert and tls_key to PEM file paths.
+# tls_crt = "/etc/recluse/cert.pem"
+# tls_key = "/etc/recluse/key.pem"
+
+# Telemetry configuration
+# Logs to stdout (pretty or json format)
+[telemetry.stdout]
+enabled = true
+log_level = "info" # trace, debug, info, warning, error
+log_format = "pretty" # pretty, json
+
+# OpenTelemetry Collector (OTLP)
+# Uncomment to enable sending logs and traces to an OTLP collector
+# [telemetry.otelcol]
+# enabled = true
+# logs = true
+# traces = true
+# endpoint = "http://localhost:4318" # HTTP protocol (no TLS)
+# # endpoint = "grpc://localhost:4317" # gRPC protocol (requires TLS)
+# timeout = 10 # seconds
+# log_level = "info"
+#
+# # For gRPC with TLS, specify certificates:
+# # tls_ca = "/etc/recluse/otel-ca.crt"
+# # tls_crt = "/etc/recluse/otel-client.crt" # for mTLS
+# # tls_key = "/etc/recluse/otel-client.key" # for mTLS
+#
+# # HTTP headers for authentication:
+# # [telemetry.otelcol.headers]
+# # Authorization = "Bearer <token>"
+
+# Environment variable RECLUSE_LOG overrides log_level settings.
+# Example: RECLUSE_LOG=debug,sqlx=warn