-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
89 lines (77 loc) · 5.15 KB
/
.env.example
File metadata and controls
89 lines (77 loc) · 5.15 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
# SimSteward plugin/dashboard local environment template
# Copy to ".env" for local testing only. Do NOT commit real secrets.
#
# Loaded automatically via scripts/load-dotenv.ps1 (Import-DotEnv) by:
# deploy.ps1, run-simhub-local-observability.ps1, send-deploy-loki-marker.ps1,
# poll-loki.ps1, validate-grafana-logs.ps1, grafana-bootstrap.ps1, publish-dashboards.ps1
# Use a different file: .\deploy.ps1 -EnvFile C:\path\to\secrets.env (or repo-relative, e.g. .env.prod)
# Second file observability/local/.env.observability.local is merged after the primary file if present (e.g. LOKI_PUSH_TOKEN).
# Plugin WebSocket runtime
SIMSTEWARD_WS_PORT=19847
SIMSTEWARD_WS_BIND=0.0.0.0
# Optional auth token for dashboard/bridge clients:
# SIMSTEWARD_WS_TOKEN=replace_me
# Session discovery
# Enable automatic snapshot lines on readiness changes:
# SIMSTEWARD_SESSION_SNAPSHOT_AUTO=1
# OBS bridge (scripts/obs-bridge)
SIMSTEWARD_WS_URL=ws://127.0.0.1:19847
OBS_WS_URL=ws://127.0.0.1:4455
OBS_PASSWORD=
SEEK_BEFORE_RECORD=1
RECORD_DURATION_SEC=30
# Grafana Loki (see docs/GRAFANA-LOGGING.md)
# deploy.ps1 posts deploy_marker: defaults to http://localhost:3100 if URL unset, or if URL is *.grafana.net without SIMSTEWARD_LOKI_USER+TOKEN (avoids 530 from template .env).
# Auth: Basic USER+TOKEN for Grafana Cloud; Bearer LOKI_PUSH_TOKEN for local gateway :3500; direct :3100 needs no auth.
# SIMSTEWARD_LOKI_URL=https://logs-prod-us-east-0.grafana.net
SIMSTEWARD_LOKI_USER= # example: 1484376
SIMSTEWARD_LOKI_TOKEN= # example: glc_...
SIMSTEWARD_LOG_ENV=production # label: production | local
SIMSTEWARD_LOG_DEBUG= # set to 1 for local debug mode only
# --- Local Loki (copy block to .env for local Docker stack) ---
# SIMSTEWARD_LOKI_URL=http://localhost:3100
# SIMSTEWARD_LOKI_USER=
# SIMSTEWARD_LOKI_TOKEN=
# SIMSTEWARD_LOG_ENV=local
# SIMSTEWARD_LOG_DEBUG=1
# Optional: LOKI_QUERY_URL overrides SIMSTEWARD_LOKI_URL for scripts/validate-grafana-logs.ps1 and scripts/poll-loki.ps1.
# Grafana test harness (see docs/observability-testing.md). Only set when emitting test data.
# TEST_TAG=grafana-harness # tag for test lines; filter with test_tag = "grafana-harness"
# ContextStream MCP — Cursor (`.cursor/mcp.json`) and Claude Code (repo root `.mcp.json`) run:
# npx envmcp --env-file .env cmd /c contextstream-mcp
# Put secrets here only; do not put CONTEXTSTREAM_API_KEY (or tokens) in mcp.json.
# CONTEXTSTREAM_API_KEY= # from ContextStream dashboard / API (required)
# CONTEXTSTREAM_PROJECT_ID= # from .contextstream/config.json or ContextStream UI (optional)
# CONTEXTSTREAM_WORKSPACE_ID= # from .contextstream/config.json or ContextStream UI (optional)
# Optional tuning (defaults are in `.cursor/mcp.json` / `.mcp.json` env): CONTEXTSTREAM_API_URL, CONTEXTSTREAM_SEARCH_LIMIT, etc.
# --- Grafana Cloud UI/API (Path B: Bearer glsa_* → Loki via Grafana proxy; see docs/GRAFANA-LOGGING.md § CLI) ---
# NOT the Loki hostname (logs-prod-*.grafana.net). Stack URL: Grafana Cloud → My Account → your stack.
# GRAFANA_URL=https://your-org.grafana.net
# Bearer token (first match wins): GRAFANA_API_TOKEN, else CURSOR_ELEVATED_GRAFANA_TOKEN — needs datasource query / Loki read via proxy.
# GRAFANA_API_TOKEN=
# CURSOR_ELEVATED_GRAFANA_TOKEN=
# GRAFANA_LOKI_DATASOURCE_UID= # Connections → Data sources → Loki → UID (not the logs-prod URL)
# --- Local Grafana (Explore / API; local compose has anonymous auth disabled) ---
# GRAFANA_URL=http://localhost:3000
# GRAFANA_API_TOKEN= # scripts/grafana-bootstrap.ps1 → service account token; also poll-loki -ViaGrafana, publish-dashboards.ps1
# GRAFANA_ADMIN_USER=admin # Basic auth if no token (matches compose GF_SECURITY_ADMIN_*)
# GRAFANA_ADMIN_PASSWORD=admin
# GRAFANA_LOKI_DATASOURCE_UID=loki_local # provisioning default; override if renamed
# --- OTLP / Prometheus (local Docker stack; see docs/observability-local.md) ---
# Plugin sends OpenTelemetry metrics when one of these is set (before SimHub starts):
# OTEL_EXPORTER_OTLP_ENDPOINT=http://127.0.0.1:4317
# SIMSTEWARD_OTLP_ENDPOINT=http://127.0.0.1:4317
# For OTLP HTTP on 4318: also set OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
# Prometheus UI (host): http://localhost:9090 — Grafana datasource UID: prometheus_local
# --- Sentry (error tracking + release tracking) ---
# 3 separate Sentry projects — each component has its own DSN:
# simhub-plugin: C# plugin (DSN used in plugin Init, configurable via env var)
# index-dashboard: Main dashboard (DSN hardcoded in index.html)
# test-dashboard: Data capture suite (DSN hardcoded in data-capture-suite.html)
# Plugin DSN (overrides hardcoded default):
# SIMSTEWARD_SENTRY_DSN=https://ab2d0a6f7cd97033a46f4fa7d90dabab@o4511097126780928.ingest.us.sentry.io/4511102961319936
# Auth token for deploy.ps1 release/deploy tracking (Organization:Read, Release:Admin scopes):
# SENTRY_AUTH_TOKEN=sntrys_...
# --- Local observability stack (observability/local/docker-compose.yml) ---
# GRAFANA_STORAGE_PATH= # e.g. S:/sim-steward-grafana-storage (Loki, Grafana, Prometheus TSDB, local stack data)
# LOKI_PUSH_TOKEN= # optional; if Loki gateway requires auth