chore: centralize docker-compose variables into .env
All checks were successful
Deploy to Staging / Build Images (push) Successful in 39s
Deploy to Staging / Deploy to Staging (push) Successful in 52s
Deploy to Staging / Verify Staging (push) Successful in 9s
Deploy to Staging / Notify Staging Ready (push) Successful in 8s
Deploy to Staging / Notify Staging Failure (push) Has been skipped
All checks were successful
Deploy to Staging / Build Images (push) Successful in 39s
Deploy to Staging / Deploy to Staging (push) Successful in 52s
Deploy to Staging / Verify Staging (push) Successful in 9s
Deploy to Staging / Notify Staging Ready (push) Successful in 8s
Deploy to Staging / Notify Staging Failure (push) Has been skipped
Stripe Price IDs were hardcoded and duplicated across 4 compose files.
Log levels were hardcoded per-overlay instead of using generate-log-config.sh.
This refactors all environment-specific variables into a single .env file
that CI/CD generates from Gitea repo variables + generate-log-config.sh.
- Add .env.example template with documented variables
- Replace hardcoded values with ${VAR:-default} substitution in base compose
- Simplify prod overlay from 90 to 32 lines (remove redundant env blocks)
- Add YAML anchors to blue-green overlay (eliminate blue/green duplication)
- Remove redundant OCR env block from staging overlay
- Change generate-log-config.sh to output to stdout (pipe into .env)
- Update staging/production CI/CD to generate .env with Stripe + log vars
- Remove dangerous pk_live_ default from VITE_STRIPE_PUBLISHABLE_KEY
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
36
.env.example
Normal file
36
.env.example
Normal file
@@ -0,0 +1,36 @@
|
||||
# MotoVaultPro Environment Configuration
|
||||
# Copy to .env and fill in environment-specific values
|
||||
# Generated .env files should NOT be committed to version control
|
||||
#
|
||||
# Local dev: No .env needed -- base docker-compose.yml defaults are sandbox values
|
||||
# Staging/Production: CI/CD generates .env from Gitea variables + generate-log-config.sh
|
||||
|
||||
# ===========================================
|
||||
# Stripe Price IDs (environment-specific)
|
||||
# ===========================================
|
||||
# Sandbox defaults used for local development
|
||||
STRIPE_PRO_MONTHLY_PRICE_ID=price_1T1ZHMJXoKkh5RcKwKSSGIlR
|
||||
STRIPE_PRO_YEARLY_PRICE_ID=price_1T1ZHnJXoKkh5RcKWlG2MPpX
|
||||
STRIPE_ENTERPRISE_MONTHLY_PRICE_ID=price_1T1ZIBJXoKkh5RcKu2jyhqBN
|
||||
STRIPE_ENTERPRISE_YEARLY_PRICE_ID=price_1T1ZIQJXoKkh5RcK34YXiJQm
|
||||
|
||||
# ===========================================
|
||||
# Stripe Publishable Key (baked into frontend at build time)
|
||||
# ===========================================
|
||||
# VITE_STRIPE_PUBLISHABLE_KEY=pk_test_...
|
||||
|
||||
# ===========================================
|
||||
# Log Levels (generated by scripts/ci/generate-log-config.sh)
|
||||
# ===========================================
|
||||
# Run: ./scripts/ci/generate-log-config.sh DEBUG >> .env
|
||||
#
|
||||
# BACKEND_LOG_LEVEL=debug
|
||||
# TRAEFIK_LOG_LEVEL=DEBUG
|
||||
# POSTGRES_LOG_STATEMENT=all
|
||||
# POSTGRES_LOG_MIN_DURATION=0
|
||||
# REDIS_LOGLEVEL=debug
|
||||
|
||||
# ===========================================
|
||||
# Grafana
|
||||
# ===========================================
|
||||
# GRAFANA_ADMIN_PASSWORD=admin
|
||||
Reference in New Issue
Block a user