forked from personamanagmentlayer/pcl
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
167 lines (123 loc) · 8.93 KB
/
Copy path.env.example
File metadata and controls
167 lines (123 loc) · 8.93 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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
# ═══════════════════════════════════════════════════════════════════════════════
# PCL Environment Configuration
# Copy this file to .env and configure your values
# ═══════════════════════════════════════════════════════════════════════════════
# ─────────────────────────────────────────────────────────────────────────────
# General Configuration
# ─────────────────────────────────────────────────────────────────────────────
# Node environment (development | production | test)
NODE_ENV=development
# Service name for observability
SERVICE_NAME=pcl-http-server
# ─────────────────────────────────────────────────────────────────────────────
# AI Provider API Keys
# ─────────────────────────────────────────────────────────────────────────────
# OpenAI Configuration
# Get your API key from: https://platform.openai.com/api-keys
OPENAI_API_KEY=
# Anthropic (Claude) Configuration
# Get your API key from: https://console.anthropic.com/settings/keys
ANTHROPIC_API_KEY=
# Google AI (Gemini) Configuration
# Get your API key from: https://makersuite.google.com/app/apikey
GOOGLE_API_KEY=
# DeepSeek Configuration
# Get your API key from: https://platform.deepseek.com/api_keys
DEEPSEEK_API_KEY=
# Mistral AI Configuration
# Get your API key from: https://console.mistral.ai/api-keys/
MISTRAL_API_KEY=
# Groq Configuration
# Get your API key from: https://console.groq.com/keys
GROQ_API_KEY=
# Cohere Configuration
# Get your API key from: https://dashboard.cohere.com/api-keys
COHERE_API_KEY=
# Ollama Local Server (for local LLM models)
OLLAMA_BASE_URL=http://localhost:11434
# ─────────────────────────────────────────────────────────────────────────────
# HTTP Server Configuration
# ─────────────────────────────────────────────────────────────────────────────
# Server host and port
HOST=0.0.0.0
PORT=3000
# CORS origin (comma-separated for multiple origins, or * for all)
CORS_ORIGIN=*
# ─────────────────────────────────────────────────────────────────────────────
# Authentication & Security
# ─────────────────────────────────────────────────────────────────────────────
# JWT Secret (REQUIRED in production - use a strong random string)
# Generate with: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
JWT_SECRET=dev-secret-change-in-production
# JWT Token expiration (examples: 15m, 1h, 24h, 7d, 30d)
JWT_EXPIRES_IN=24h
# JWT Refresh Token expiration
JWT_REFRESH_EXPIRES_IN=30d
# ─────────────────────────────────────────────────────────────────────────────
# Observability & Telemetry
# ─────────────────────────────────────────────────────────────────────────────
# Enable/disable telemetry system (true | false)
TELEMETRY_ENABLED=true
# Enable/disable metrics collection (true | false)
METRICS_ENABLED=true
# Prometheus metrics server port
METRICS_PORT=9464
# Enable/disable distributed tracing (true | false)
TRACING_ENABLED=false
# Jaeger tracing endpoint
JAEGER_ENDPOINT=http://localhost:14268/api/traces
# Enable/disable structured logging (true | false)
LOGGING_ENABLED=true
# Log level (debug | info | warn | error)
LOG_LEVEL=info
# ─────────────────────────────────────────────────────────────────────────────
# Database Configuration (Optional)
# ─────────────────────────────────────────────────────────────────────────────
# PostgreSQL Database URL
# Format: postgresql://user:password@host:port/database
# DATABASE_URL=postgresql://postgres:password@localhost:5432/pcl
# Redis Cache URL (Optional)
# Format: redis://user:password@host:port
# REDIS_URL=redis://localhost:6379
# Elasticsearch URL (Optional - for search features)
# ELASTICSEARCH_URL=http://localhost:9200
# ─────────────────────────────────────────────────────────────────────────────
# Development & Testing
# ─────────────────────────────────────────────────────────────────────────────
# Enable database integration tests (true | false)
ENABLE_DB_TESTS=false
# Enable performance benchmarks (true | false)
ENABLE_BENCHMARKS=false
# Verbose test output (true | false)
VERBOSE=false
# CI environment detection (automatically set by CI/CD)
# CI=true
# ─────────────────────────────────────────────────────────────────────────────
# Third-Party Integrations (Optional)
# ─────────────────────────────────────────────────────────────────────────────
# Slack Bot Token (for Slack integration)
# SLACK_BOT_TOKEN=xoxb-your-token-here
# Microsoft Teams Configuration
# MICROSOFT_APP_ID=
# MICROSOFT_APP_PASSWORD=
# ─────────────────────────────────────────────────────────────────────────────
# Advanced Configuration
# ─────────────────────────────────────────────────────────────────────────────
# Maximum request body size (default: 100kb)
# MAX_REQUEST_SIZE=100kb
# Rate limiting (requests per minute per IP)
# RATE_LIMIT_MAX=100
# Enable hot reload for development (true | false)
# HOT_RELOAD=true
# ═══════════════════════════════════════════════════════════════════════════════
# Notes:
# ═══════════════════════════════════════════════════════════════════════════════
#
# 1. SECURITY: Never commit the .env file to version control
# 2. API Keys: All provider API keys are optional - only configure what you need
# 3. Development: MockProvider is used by default for testing (no API keys needed)
# 4. Production: Always set JWT_SECRET to a secure random value in production
# 5. Testing: Integration tests automatically skip if API keys are not configured
# 6. Observability: Telemetry features are optional but recommended for production
#
# ═══════════════════════════════════════════════════════════════════════════════