-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
70 lines (56 loc) · 2.38 KB
/
Copy path.env.example
File metadata and controls
70 lines (56 loc) · 2.38 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
# Meta database (lc_* metadata + lc_tenants)
META_DATABASE_URL=postgresql://postgres:postgres@localhost:5432/lowcode_meta
# Default tenant data database (physical lc_t_* tables)
DEFAULT_TENANT_DATA_DSN=postgresql://postgres:postgres@localhost:5432/lowcode_data
DEFAULT_TENANT_ID=default
# Tenant data isolation (see docs/architecture/tenant-isolation.md)
# dedicated_db — each tenant uses its own data_dsn (separate database); PG schema defaults to public
# shared_db — multiple tenants share one data_dsn; each tenant gets tenant_{id} PG schema + physical tables
# rls_table — multiple tenants share one data_dsn; rows in lc_shared.lc_dynamic_rows (JSONB) + RLS
# TENANT_ISOLATION_MODE=dedicated_db
# TENANT_DATA_SCHEMA_PREFIX=tenant_
# Optional: used by cmd/migrate -target data
# DATA_DATABASE_URL=postgresql://postgres:postgres@localhost:5432/lowcode_data
# Optional: create tenant databases via API
# DATA_ADMIN_DATABASE_URL=postgresql://postgres:postgres@localhost:5432/postgres
# DATA_DSN_TEMPLATE=postgresql://postgres:postgres@localhost:5432/%s
HTTP_ADDR=:8080
MAX_ROW=100
# Redis (optional): metadata cache + metrics backend
# REDIS_URL=redis://localhost:6379/0
# CACHE_ENABLED=true
# CACHE_TTL_SECONDS=300
# Data source query metrics: noop | redis | prometheus
# METRICS_BACKEND=prometheus
# METRICS_WINDOW_SIZE=100
# Logging
# LOG_LEVEL=info
# SLOW_QUERY_THRESHOLD_MS=500
# LOG_SQL=true
# API key auth (optional; when true, /v1/* requires X-Api-Key)
# API_KEY_REQUIRED=false
# RATE_LIMIT_RPS=100
# Authorization (optional; noop when AUTHZ_DRIVER is empty)
# AUTHZ_DRIVER=file
# AUTHZ_FILE=./config/authz.json
# AUTHZ_REQUIRED=false
# AUTHZ_USER_SUB_HEADER=X-User-Sub
# AUTHZ_USER_ROLES_HEADERS=X-User-Roles,X-User-Role
# Or delegate to an external service (e.g. lowcode-role POST /v1/authorize):
# AUTHZ_DRIVER=http
# AUTHZ_HTTP_URL=http://localhost:8080/v1/authorize
# Integration tests
# TEST_META_DATABASE_URL=postgresql://postgres:postgres@localhost:5432/lowcode_meta
# TEST_DATA_DATABASE_URL=postgresql://postgres:postgres@localhost:5432/lowcode_data
# Postgres pool (meta + tenant data)
# PG_MAX_CONNS=10
# PG_MIN_CONNS=1
# PG_MAX_CONN_LIFETIME_MIN=60
# MAX_TENANT_DATA_POOLS=50
# DEFAULT_TENANT_POOL_MAX_CONNS=0
# Event webhook delivery
# EVENT_RETRY_MAX=3
# EVENT_RETRY_INITIAL_MS=500
# EVENT_DLQ_ENABLED=true
# WASM plugin invocation audit (lc_plugin_invocations)
# PLUGIN_LOG_INVOCATIONS=true