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>
136 lines
2.5 KiB
YAML
Executable File
136 lines
2.5 KiB
YAML
Executable File
# Shared Configuration (K8s ConfigMap equivalent)
|
|
# Common configuration shared across all services
|
|
|
|
# Global Settings
|
|
global:
|
|
environment: production
|
|
cluster_name: motovaultpro-dev
|
|
namespace: motovaultpro
|
|
timezone: UTC
|
|
|
|
# Common Service Configuration
|
|
service_defaults:
|
|
port_naming:
|
|
http: 8080
|
|
https: 8443
|
|
metrics: 9090
|
|
|
|
timeouts:
|
|
startup: 30s
|
|
readiness: 5s
|
|
liveness: 10s
|
|
shutdown: 30s
|
|
|
|
resource_limits:
|
|
tier_1: # Critical services
|
|
memory: 2g
|
|
cpu: 2.0
|
|
tier_2: # Supporting services
|
|
memory: 1g
|
|
cpu: 1.0
|
|
tier_3: # Infrastructure services
|
|
memory: 512m
|
|
cpu: 0.5
|
|
|
|
# Network Configuration
|
|
networking:
|
|
networks:
|
|
frontend:
|
|
purpose: public-traffic-only
|
|
internal: false
|
|
backend:
|
|
purpose: api-services
|
|
internal: true
|
|
database:
|
|
purpose: app-data-layer
|
|
internal: true
|
|
platform:
|
|
purpose: platform-services
|
|
internal: true
|
|
|
|
# Security Configuration
|
|
security:
|
|
tls:
|
|
min_version: "1.2"
|
|
preferred_version: "1.3"
|
|
cipher_suites:
|
|
- TLS_CHACHA20_POLY1305_SHA256
|
|
- TLS_AES_256_GCM_SHA384
|
|
- TLS_AES_128_GCM_SHA256
|
|
|
|
headers:
|
|
hsts_max_age: 31536000
|
|
content_type_options: nosniff
|
|
frame_options: DENY
|
|
xss_protection: "1; mode=block"
|
|
|
|
# Monitoring & Observability
|
|
monitoring:
|
|
prometheus:
|
|
enabled: true
|
|
port: 9090
|
|
path: /metrics
|
|
scrape_interval: 30s
|
|
|
|
health_checks:
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
logging:
|
|
level: INFO
|
|
format: json
|
|
retention: 30d
|
|
|
|
# Performance Configuration
|
|
performance:
|
|
compression:
|
|
enabled: true
|
|
types:
|
|
- text/html
|
|
- text/css
|
|
- text/javascript
|
|
- application/json
|
|
- application/xml
|
|
|
|
caching:
|
|
enabled: true
|
|
max_age: 3600
|
|
static_assets: 86400
|
|
|
|
# External Services Configuration
|
|
external_services:
|
|
auth0:
|
|
base_domain: motovaultpro.us.auth0.com
|
|
api_audience: https://api.motovaultpro.com
|
|
|
|
google_maps:
|
|
base_url: https://maps.googleapis.com/maps/api
|
|
|
|
vpic:
|
|
base_url: https://vpic.nhtsa.dot.gov/api/vehicles
|
|
|
|
# Development Configuration
|
|
development:
|
|
debug_enabled: false
|
|
hot_reload: false
|
|
ssl_verify: true
|
|
local_overrides: false
|
|
|
|
# Container Configuration
|
|
containers:
|
|
restart_policy: unless-stopped
|
|
log_driver: json-file
|
|
log_options:
|
|
max_size: 10m
|
|
max_file: 3
|
|
|
|
# Service Discovery Configuration
|
|
service_discovery:
|
|
provider: traefik
|
|
auto_discovery: true
|
|
health_check_path: /health
|
|
labels:
|
|
security_tier: production
|
|
monitoring: enabled
|
|
backup: required |