Skip to content

Commit a20f22e

Browse files
authored
Merge branch 'main' into jy
2 parents 35bb949 + b35ee17 commit a20f22e

371 files changed

Lines changed: 64712 additions & 1334 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.example

Lines changed: 77 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# AstroML Environment Configuration
22
# Copy this file to .env and customize for your environment
3-
# See docker-env-guide.md for detailed configuration information
4-
53
# ============================================================================
64
# Database Configuration
75
# ============================================================================
@@ -20,6 +18,9 @@ REDIS_PORT=6379
2018
REDIS_PASSWORD=your_redis_password_here
2119
REDIS_URL=redis://:your_redis_password_here@redis:6379/0
2220
REDIS_DB=0
21+
# Redis configuration
22+
REDIS_DEFAULT_TTL=300
23+
REDIS_MAX_CONNECTIONS=10
2324

2425
# ============================================================================
2526
# Feature Store Configuration
@@ -43,12 +44,14 @@ STELLAR_SECRET_KEY=your_stellar_secret_key_here
4344
# ============================================================================
4445
# Application Configuration
4546
# ============================================================================
47+
APP_ENV=development
48+
ASTROML_ENV=development
49+
PYTHONPATH=/app
50+
DEBUG=true
51+
4652
LOG_LEVEL=INFO
4753
LOG_FORMAT=json
4854
LOG_FILE=./logs/astroml.log
49-
PYTHONPATH=/app
50-
APP_ENV=development
51-
DEBUG=False
5255

5356
# ============================================================================
5457
# API Configuration
@@ -88,7 +91,7 @@ MLFLOW_TRACKING_URI=http://localhost:5000
8891
MLFLOW_EXPERIMENT_NAME=astroml
8992

9093
# ============================================================================
91-
# Jupyter Configuration (for development)
94+
# Jupyter Configuration
9295
# ============================================================================
9396
JUPYTER_TOKEN=astroml_dev
9497
JUPYTER_PASSWORD=astroml_dev
@@ -149,10 +152,6 @@ SOROBAN_NETWORK=public
149152
SOROBAN_RPC_URL=https://soroban-testnet.stellar.org
150153
SOROBAN_SECRET_KEY=your_soroban_secret_key_here
151154
SOROBAN_FEE=10000
152-
153-
# ============================================================================
154-
# Performance Configuration
155-
# ============================================================================
156155
MAX_WORKERS=4
157156
BATCH_SIZE=1000
158157
MEMORY_LIMIT=8GB
@@ -165,6 +164,14 @@ NETWORK_TIMEOUT=30
165164
RETRY_COUNT=3
166165
RETRY_DELAY=1
167166

167+
# ============================================================================
168+
# Feature Store Advanced Configuration
169+
# ============================================================================
170+
FEATURE_STORE_CACHE_STRATEGY=LRU
171+
FEATURE_STORE_STORAGE_FORMAT=PARQUET
172+
FEATURE_STORAGE_COMPRESSION=snappy
173+
FEATURE_STORE_VERSIONING=true
174+
168175
# ============================================================================
169176
# Development Configuration
170177
# ============================================================================
@@ -174,7 +181,10 @@ MOCK_SERVICES=false
174181

175182
# ============================================================================
176183
# Production Configuration
184+
# ============================================================================# ============================================================================
185+
# Production Configuration
177186
# ============================================================================
187+
# Production Configuration
178188
PROD_MODE=false
179189
MONITORING_ENABLED=false
180190
ALERTING_ENABLED=false
@@ -186,3 +196,60 @@ ENABLE_STREAMING=True
186196
ENABLE_MONITORING=True
187197
ENABLE_GPU_TRAINING=True
188198
ENABLE_SOROBAN_CONTRACTS=True
199+
200+
# ============================================================================
201+
# Docker Configuration
202+
# ============================================================================
203+
DOCKER_REGISTRY=astroml
204+
DOCKER_TAG=latest
205+
DOCKER_BUILDKIT=1
206+
207+
# ============================================================================
208+
# Data Configuration
209+
# ============================================================================
210+
DATA_PATH=./data
211+
MODELS_PATH=./models
212+
LOGS_PATH=./logs
213+
CONFIG_PATH=./config
214+
215+
# ============================================================================
216+
# Network Configuration
217+
# ============================================================================
218+
NETWORK_TIMEOUT=30
219+
RETRY_COUNT=3
220+
RETRY_DELAY=1
221+
222+
# ============================================================================
223+
# Frontend Error Reporting (issue #292)
224+
# ============================================================================
225+
# Sentry DSN for browser error tracking. Leave blank to disable Sentry
226+
# (errors will still be logged to console and the backend endpoint).
227+
VITE_SENTRY_DSN=
228+
# Optional: human-readable release tag attached to Sentry events
229+
VITE_APP_VERSION=0.1.0
230+
231+
# ============================================================================
232+
# Security Configuration (issues #331, #332, #333)
233+
# ============================================================================
234+
# Rate Limiting
235+
API_KEY_RATE_LIMIT_PER_MINUTE=100
236+
JWT_RATE_LIMIT_PER_MINUTE=60
237+
238+
# Audit Logging
239+
AUDIT_LOG_RETENTION_DAYS=90
240+
AUDIT_LOG_MAX_RECORDS=1000000
241+
242+
# Input Validation
243+
ENABLE_INPUT_VALIDATION=true
244+
MAX_FILE_UPLOAD_SIZE=10485760
245+
246+
# ============================================================================
247+
# Distributed Tracing (issue #336)
248+
# ============================================================================
249+
TRACING_ENABLED=false
250+
TRACING_EXPORTER=jaeger
251+
TRACING_SAMPLE_RATE=0.1
252+
JAEGER_AGENT_HOST=localhost
253+
JAEGER_AGENT_PORT=6831
254+
ZIPKIN_ENDPOINT=http://localhost:9411/api/v2/spans
255+
SERVICE_NAME=astroml-api
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Bug Report
2+
description: File a bug report to help us improve AstroML
3+
title: "[Bug] "
4+
labels: ["bug"]
5+
assignees: []
6+
7+
body:
8+
- type: markdown
9+
attributes:
10+
value: "Thanks for reporting a bug! Please fill out the template below."
11+
- type: textarea
12+
id: description
13+
attributes:
14+
label: Description
15+
description: A clear and concise description of what the bug is.
16+
validations:
17+
required: true
18+
- type: textarea
19+
id: steps
20+
attributes:
21+
label: Steps to Reproduce
22+
description: How can we reproduce the issue?
23+
validations:
24+
required: true
25+
- type: textarea
26+
id: expected
27+
attributes:
28+
label: Expected Behavior
29+
description: What did you expect to happen?
30+
validations:
31+
required: true
32+
- type: textarea
33+
id: actual
34+
attributes:
35+
label: Actual Behavior
36+
description: What actually happened?
37+
validations:
38+
required: true
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Feature Request
2+
description: Suggest an idea for AstroML
3+
title: "[Feature] "
4+
labels: ["enhancement"]
5+
assignees: []
6+
7+
body:
8+
- type: markdown
9+
attributes:
10+
value: "Thanks for suggesting a feature! Please fill out the template below."
11+
- type: textarea
12+
id: problem
13+
attributes:
14+
label: Is your feature request related to a problem? Please describe.
15+
description: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
16+
validations:
17+
required: true
18+
- type: textarea
19+
id: solution
20+
attributes:
21+
label: Describe the solution you'd like
22+
description: A clear and concise description of what you want to happen.
23+
validations:
24+
required: true
25+
- type: textarea
26+
id: alternatives
27+
attributes:
28+
label: Describe alternatives you've considered
29+
description: A clear and concise description of any alternative solutions or features you've considered.
30+
validations:
31+
required: false

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
## Description
2+
3+
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
4+
5+
Fixes # (issue)
6+
7+
## Type of change
8+
9+
- [ ] Bug fix (non-breaking change which fixes an issue)
10+
- [ ] New feature (non-breaking change which adds functionality)
11+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
12+
- [ ] This change requires a documentation update
13+
14+
## Checklist:
15+
16+
- [ ] My code follows the style guidelines of this project
17+
- [ ] I have performed a self-review of my own code
18+
- [ ] I have commented my code, particularly in hard-to-understand areas
19+
- [ ] I have made corresponding changes to the documentation
20+
- [ ] My changes generate no new warnings
21+
- [ ] I have added tests that prove my fix is effective or that my feature works
22+
- [ ] New and existing unit tests pass locally with my changes
23+
- [ ] Any dependent changes have been merged and published in downstream modules

0 commit comments

Comments
 (0)