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:
136
config/shared/production.yml
Executable file
136
config/shared/production.yml
Executable 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
|
||||
Reference in New Issue
Block a user