Track config files for CI/CD deployment

Config files were previously gitignored, causing CI/CD pipeline to fail
because Docker would create directories instead of mounting the expected files.

- Remove config/** from .gitignore
- Track all config files (secrets still ignored)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Eric Gullickson
2025-12-18 13:28:27 -06:00
parent a991c01f64
commit 667632f54b
9 changed files with 931 additions and 5 deletions

79
config/app/ci.yml Executable file
View File

@@ -0,0 +1,79 @@
# CI-specific configuration for backend tests. Mirrors production schema with safe defaults.
server:
name: mvp-backend-ci
port: 3001
environment: test
node_env: test
database:
host: mvp-postgres
port: 5432
name: motovaultpro
user: postgres
redis:
host: mvp-redis
port: 6379
db: 0
platform:
services:
vehicles:
url: http://mvp-platform-vehicles-api:8000
timeout: 5s
external:
vpic:
url: https://vpic.nhtsa.dot.gov/api/vehicles
timeout: 10s
service:
name: mvp-backend
cors:
origins:
- http://localhost
allow_credentials: false
max_age: 0
frontend:
api_base_url: /api
auth0:
domain: motovaultpro.us.auth0.com
audience: https://api.motovaultpro.com
health:
endpoints:
basic: /health
ready: /health/ready
live: /health/live
startup: /health/startup
probes:
startup:
initial_delay: 1s
period: 1s
timeout: 1s
failure_threshold: 3
readiness:
period: 1s
timeout: 1s
failure_threshold: 3
liveness:
period: 1s
timeout: 1s
failure_threshold: 3
logging:
level: debug
format: json
destinations:
- console
performance:
request_timeout: 30s
max_request_size: 10MB
compression_enabled: false
circuit_breaker:
enabled: false
failure_threshold: 5
timeout: 5s

92
config/app/production.yml Executable file
View File

@@ -0,0 +1,92 @@
# Application Configuration (K8s ConfigMap equivalent)
# Non-sensitive configuration for admin application services
# Server Configuration
server:
name: mvp-backend
port: 3001
environment: production
node_env: production
# Database Configuration
database:
host: mvp-postgres
port: 5432
name: motovaultpro
user: postgres
pool_size: 20
# password loaded from secrets/app/postgres-password.txt
# Redis Configuration
redis:
host: mvp-redis
port: 6379
db: 0
# Auth0 Configuration
auth0:
domain: motovaultpro.us.auth0.com
audience: https://api.motovaultpro.com
# client_id and client_secret loaded from secrets
# External APIs Configuration
# google_maps_api_key loaded from secrets/app/google-maps-api-key.txt
# Service Authentication
service:
name: mvp-backend
# auth_token loaded from secrets/app/service-auth-token.txt
# CORS Configuration
cors:
origins:
- https://motovaultpro.com
allow_credentials: true
max_age: 86400
# Frontend Configuration (Vite build variables)
frontend:
api_base_url: /api
auth0:
domain: motovaultpro.us.auth0.com
audience: https://api.motovaultpro.com
# Health Check Configuration (K8s probe equivalent)
health:
endpoints:
basic: /health # Basic health check
ready: /health/ready # Readiness probe (K8s equivalent)
live: /health/live # Liveness probe (K8s equivalent)
startup: /health/startup # Startup probe (K8s equivalent)
probes:
startup:
initial_delay: 30s
period: 10s
timeout: 5s
failure_threshold: 6
readiness:
period: 10s
timeout: 5s
failure_threshold: 3
liveness:
period: 30s
timeout: 10s
failure_threshold: 3
# Logging Configuration
logging:
level: INFO
format: json
destinations:
- console
- file:/var/log/app/application.log
# Performance Configuration
performance:
request_timeout: 30s
max_request_size: 10MB
compression_enabled: true
circuit_breaker:
enabled: true
failure_threshold: 5
timeout: 30s