Environment Configuration Patterns: From Dev to Production
Configuration management sounds simple until youβre debugging why production is reading from the staging database at 3am. Hereβs how to structure configuration so environments stay isolated and secrets stay secret. The Twelve-Factor Baseline The Twelve-Factor App got it right: store config in environment variables. But thatβs just the starting point. Real systems need layers. β β β β β β β β β β β β β β β β β β β β R β S β E β D β β u β e β n β e β β n β c β v β f β β t β r β i β a β β i β e β r β u β β m β t β o β l β β e β s β n β t β β β β m β β β E β M β e β c β β n β a β n β o β β v β n β t β n β β i β a β - β f β β r β g β s β i β β o β e β p β g β β n β r β e β β β m β β c β i β β e β ( β i β n β β n β V β f β β β t β a β i β c β β β u β c β o β β V β l β β d β β a β t β c β e β β r β , β o β β β i β β n β β β a β A β f β β β b β W β i β β β l β S β g β β β e β β β β β s β S β f β β β β S β i β β β β M β l β β β β , β e β β β β β s β β β β e β β β β β t β β β β β c β β β β β . β β β β β ) β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β€ β β€ β β€ β β β β H L i o g w h e e s s t t p p r r i i o o r r i i t t y y Each layer overrides the one below it. Defaults live in code, environment-specific values in config files, secrets in a secrets manager, and runtime overrides in environment variables. ...