-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
263 lines (205 loc) · 7.5 KB
/
Copy path.env.example
File metadata and controls
263 lines (205 loc) · 7.5 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
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
# License Compliance Checker - Environment Configuration
# Copy this file to .env and fill in your values
# DO NOT commit .env to version control!
# =============================================================================
# Application Configuration
# =============================================================================
# Application version
VERSION=1.0.0
# Environment (development, staging, production)
ENVIRONMENT=production
# =============================================================================
# Security & Authentication
# =============================================================================
# Secret key for encryption (generate with: openssl rand -hex 32)
SECRET_KEY=your-secret-key-here-change-this-in-production
# JWT configuration
JWT_SECRET_KEY=your-jwt-secret-key-here-change-this-in-production
JWT_ALGORITHM=HS256
JWT_EXPIRATION_MINUTES=60
JWT_REFRESH_EXPIRATION_DAYS=30
# Admin user (created on first startup)
ADMIN_USERNAME=admin
ADMIN_PASSWORD=admin123
ADMIN_EMAIL=admin@example.com
# OIDC (Single Sign-On)
OIDC_ENABLED=false
OIDC_CLIENT_ID=
OIDC_CLIENT_SECRET=
OIDC_ISSUER_URL=https://accounts.google.com
OIDC_SCOPES=openid email profile
# =============================================================================
# API Configuration
# =============================================================================
# API server
API_HOST=0.0.0.0
API_PORT=8000
API_WORKERS=4
# CORS configuration
CORS_ORIGINS=http://localhost:3000,https://yourdomain.com
CORS_ALLOW_CREDENTIALS=true
# Rate limiting
RATE_LIMIT_ENABLED=true
RATE_LIMIT_PER_MINUTE=100
RATE_LIMIT_PER_HOUR=1000
# =============================================================================
# Dashboard Configuration
# =============================================================================
# Dashboard frontend
DASHBOARD_PORT=3000
NEXT_PUBLIC_API_URL=http://localhost:8000
# =============================================================================
# Database Configuration
# =============================================================================
# PostgreSQL (recommended for production)
POSTGRES_DB=lcc
POSTGRES_USER=lcc
POSTGRES_PASSWORD=your-secure-password-here
POSTGRES_HOST=postgres
POSTGRES_PORT=5432
# SQLite (alternative for smaller deployments)
# LCC_DB_PATH=/var/lib/lcc/lcc.db
# =============================================================================
# Redis Configuration
# =============================================================================
# Redis cache
REDIS_URL=redis://redis:6379/0
REDIS_PASSWORD=your-redis-password-here
REDIS_MAX_CONNECTIONS=50
# =============================================================================
# LCC Application Settings
# =============================================================================
# Logging
LCC_LOG_LEVEL=INFO
LCC_LOG_FORMAT=json
LCC_LOG_FILE=/var/log/lcc/app.log
# Cache
LCC_CACHE_DIR=/var/cache/lcc
LCC_CACHE_TTL_SECONDS=3600
# Policy
LCC_POLICY_DIR=/var/lib/lcc/policies
LCC_DEFAULT_POLICY=permissive
# Storage
LCC_DATA_PATH=./data
LCC_LOGS_PATH=./logs
# =============================================================================
# External Services
# =============================================================================
# Sentry error tracking (optional)
SENTRY_DSN=
SENTRY_ENVIRONMENT=production
SENTRY_TRACES_SAMPLE_RATE=0.1
# GitHub API (for repository scanning)
GITHUB_TOKEN=
GITHUB_API_URL=https://api.github.com
# Package registries
PYPI_URL=https://pypi.org/pypi
NPM_REGISTRY=https://registry.npmjs.org
CRATES_IO_API=https://crates.io/api/v1
# =============================================================================
# Monitoring & Observability
# =============================================================================
# Prometheus
PROMETHEUS_ENABLED=true
PROMETHEUS_PORT=9090
# Grafana
GRAFANA_PORT=3001
GRAFANA_ADMIN_USER=admin
GRAFANA_ADMIN_PASSWORD=admin
GRAFANA_PLUGINS=
# =============================================================================
# Nginx Reverse Proxy
# =============================================================================
NGINX_HTTP_PORT=80
NGINX_HTTPS_PORT=443
# SSL/TLS certificates
SSL_CERTIFICATE_PATH=/etc/nginx/ssl/cert.pem
SSL_CERTIFICATE_KEY_PATH=/etc/nginx/ssl/key.pem
# =============================================================================
# Resource Limits
# =============================================================================
# API resource limits
API_CPU_LIMIT=2.0
API_CPU_RESERVATION=0.5
API_MEMORY_LIMIT=1G
API_MEMORY_RESERVATION=256M
# Dashboard resource limits
DASHBOARD_CPU_LIMIT=1.0
DASHBOARD_MEMORY_LIMIT=512M
# =============================================================================
# Backup & Maintenance
# =============================================================================
# Backup configuration
BACKUP_ENABLED=true
BACKUP_SCHEDULE="0 2 * * *" # Daily at 2 AM
BACKUP_RETENTION_DAYS=30
BACKUP_PATH=./backups
# Database maintenance
DB_VACUUM_SCHEDULE="0 3 * * 0" # Weekly on Sunday at 3 AM
# =============================================================================
# Feature Flags
# =============================================================================
# Enable/disable features
FEATURE_API_KEYS=true
FEATURE_WEBHOOKS=false
FEATURE_NOTIFICATIONS=false
FEATURE_GITHUB_INTEGRATION=true
FEATURE_SBOM_EXPORT=true
# =============================================================================
# Network Configuration
# =============================================================================
NETWORK_SUBNET=172.20.0.0/16
# =============================================================================
# Development & Debugging
# =============================================================================
# Debug mode (DO NOT enable in production!)
DEBUG=false
DEBUG_SQL=false
DEBUG_CACHE=false
# Profiling
PROFILING_ENABLED=false
# =============================================================================
# Notifications (optional)
# =============================================================================
# Email (SMTP)
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=
SMTP_PASSWORD=
SMTP_FROM=noreply@example.com
SMTP_USE_TLS=true
# Slack
SLACK_WEBHOOK_URL=
SLACK_CHANNEL=#compliance-alerts
# Webhooks
WEBHOOK_URL=
WEBHOOK_SECRET=
# =============================================================================
# License & Compliance
# =============================================================================
# License data sources
SPDX_LICENSE_LIST_URL=https://raw.githubusercontent.com/spdx/license-list-data/main/json/licenses.json
LICENSE_DATA_UPDATE_INTERVAL=86400 # 24 hours in seconds
# =============================================================================
# AI Analysis (Fireworks AI)
# =============================================================================
# Provider configuration
LCC_LLM_PROVIDER=fireworks
LCC_FIREWORKS_API_KEY=your-fireworks-api-key-here
LCC_LLM_MODEL=accounts/fireworks/models/llama-v3p1-70b-instruct
# =============================================================================
# Notes
# =============================================================================
# 1. Generate secure random keys:
# openssl rand -hex 32
#
# 2. For production, ensure:
# - All *_PASSWORD and *_SECRET values are changed
# - DEBUG=false
# - Strong passwords (min 16 characters)
# - CORS_ORIGINS restricted to your domain
# - SSL/TLS certificates configured
#
# 3. Backup your .env file securely
#
# 4. Use secrets management in production (e.g., HashiCorp Vault, AWS Secrets Manager)