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

136
config/shared/production.yml Executable file
View File

@@ -0,0 +1,136 @@
# 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