-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
100 lines (86 loc) · 4.58 KB
/
Copy path.env.example
File metadata and controls
100 lines (86 loc) · 4.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# SessionLedger local environment sample.
# Copy values into your shell or local env manager as needed. Do not put secrets
# in this file; all values below are local placeholders or documented defaults.
# Daemon process-compose defaults. Keep SL_HTTP_BIND and SL_DAEMON_URL aligned.
SL_HTTP_BIND=127.0.0.1:8080
SL_WATCH_DIR=./sessions
SL_OUT_DIR=./.sl-data
# Canonical data directory used by local tooling and audit/event paths.
SL_DATA_DIR=./.sl-data
# Port-only shorthand retained for tooling that reports the loopback port.
SL_PORT=8080
# For the isolated daemon compose file, override SL_OUT_DIR to ./okf-out if desired.
# sl-daemon tracing and observability.
# Default when unset is "sl_daemon=info".
RUST_LOG=sl_daemon=info
# Set to "json" when building with the json-logs feature; leave empty for text logs.
SL_LOG_FORMAT=
# Optional OTLP endpoint when sl-daemon is built with the otel feature.
SL_OTLP_ENDPOINT=
# OpenTelemetry-standard fallback used when SL_OTLP_ENDPOINT is unset.
OTEL_EXPORTER_OTLP_ENDPOINT=
# Durable local audit sink (append-only; operator-owned retention/rotation).
# SL_AUDIT_BACKEND=jsonl
# Paths: $SL_DATA_DIR/audit/events.jsonl (default) or events.db when sqlite.
# POST /api/ingest local admission controls.
SL_INGEST_MAX_BODY_BYTES=1048576
SL_INGEST_MAX_CONCURRENCY=8
# General /api/* tower-style rate limit (process-wide fixed window).
# Open loopback (no SL_API_KEY): leave unset to keep local DX uncapped.
# Shared-key or non-loopback bind: defaults to 60 req / 1000ms when unset.
# Set to 0 or off to disable. See docs/ops/local-trust-boundary.md.
# SL_API_RATE_LIMIT=60
# SL_API_RATE_WINDOW_MS=1000
# General /api/* circuit breaker (process-wide; trips on consecutive 5xx).
# Same enablement matrix as the rate limit: off on open loopback unless set;
# on for shared-key / non-loopback when unset. Returns 503 + Retry-After while open.
# SL_API_CIRCUIT_BREAKER=on
# SL_API_CIRCUIT_FAILURE_THRESHOLD=5
# SL_API_CIRCUIT_OPEN_MS=30000
# Outbound CLI HTTP retry policy (sl-daemon status/list/export client calls).
# SL_HTTP_RETRY_MAX=2
# SL_HTTP_RETRY_BASE_MS=50
# --- Secrets (local only; never commit real values) ---
# Optional shared secret for HTTP API routes.
# Loopback: leave unset for local trust, or set to gate POST /api/ingest.
# Non-loopback --http-bind: required; gates all /api/* routes (startup deny if unset).
# Generate a long random string locally (for example: openssl rand -hex 32).
# Rotate by: (1) stop clients using the old key, (2) set a new SL_API_KEY in
# your shell/service env, (3) restart sl-daemon, (4) update callers' Bearer /
# X-API-Key headers. See SECURITY.md "API keys and secret rotation".
# Placeholders only if you must show a sample value: changeme / your-api-key-here
# SL_API_KEY=
# Optional debug profiler gate (not a secret; keep off unless debugging).
# SL_ENABLE_PPROF=1
#
# Optional soft continuous-profiling HTTP push URL (agent stub only).
# When unset, scripts/continuous-profiling-agent.ps1 retains local .pb samples
# and skips network. Docs: docs/ops/continuous-profiling.md
# SL_PROFILE_PUSH_URL=
# Optional L8 allocator profiling smoke (local/ops only; not a daemon env var).
# Full dhat measurement: cargo test --test alloc_profile_dhat --features alloc-profile
# Hermetic wiring: pwsh ./scripts/alloc-profile-check.ps1 -SelfCheck
#
# Optional soft jemalloc for sl-daemon (Unix; off by default / Windows-safe):
# cargo build --manifest-path crates/sl-daemon/Cargo.toml --features jemalloc
# Hermetic wiring: pwsh ./scripts/jemalloc-check.ps1 -SelfCheck
# Docs: docs/ops/jemalloc.md
# Alertmanager Slack / PagerDuty route IDs (C05). Stubs only in-repo —
# see docs/ops/alerts/route-ids.stub.env. Never commit live values.
# Soft: scripts/alert-route-ids-check.ps1
# Strict (requires non-stub env): scripts/alert-route-ids-check.ps1 -Strict
# SL_ALERT_SLACK_WEBHOOK_URL=https://hooks.slack.com/services/REPLACE_ME/SLACK/WEBHOOK
# SL_ALERT_SLACK_CHANNEL_ID=REPLACE_ME_SLACK_CHANNEL_ID
# SL_ALERT_PAGERDUTY_ROUTING_KEY=REPLACE_ME_PAGERDUTY_ROUTING_KEY
# Optional durable episodic memory DB path when built with --features sqlite.
# SL_MEMORY_DB=
# sl-viewer local data/runtime inputs.
# Optional path to a local Forge SQLite database. Leave empty to use mock data.
FORGE_DB=
# Embedded at sl-viewer compile time by option_env!("SL_DAEMON_URL").
SL_DAEMON_URL=http://127.0.0.1:8080
# Viewer visual/a11y harness overrides.
A11Y_VIEWER_DIR=../../../target/dx/sl-viewer/release/web/public
A11Y_VIEWER_PORT=4173
# Set to an already-running viewer URL to skip the harness web server.
VISUAL_BASE_URL=