Externalized Configuration Best Practices
Spring, PROFILES, (application-dev.yml, application-prod.yml) se, ENVIRONMENT-SPECIFIC, configuration, MANAGE, ki, ja, sakti, hai — spring.profiles.active, se, DECIDE, hota, hai, ki, KAUN, sa, PROFILE, ACTIVE, hai.
SENSITIVE, data, (passwords, API, keys) ko, PLAIN-TEXT, config, files, mein, STORE, karna, AVOID, karna, CHAHIYE — Vault, (HashiCorp) ya, Config, Server, ki, ENCRYPTION, capabilities, USE, karni, CHAHIYE.
# application-prod.yml:
spring:
datasource:
url: ${DATABASE_URL}
password: '{cipher}AQBl2fF8...' # encrypted, value
# JVM argument: -Dspring.profiles.active=prod- Spring Profiles, se, environment-specific, config, (dev, staging, prod)
- Sensitive data, ko, encrypt, karna, CHAHIYE — plain-text, mein, kabhi, nahi
- Config Server, mein, BUILT-IN, encryption/decryption, support, hai
Spring, Boot, MULTIPLE, config, sources, (command-line, args, environment, variables, application.yml, Config, Server) ko, EK, SPECIFIC, PRECEDENCE, ORDER, mein, MERGE, karta hai — command-line, args, GENERALLY, HIGHEST, precedence, PAR, HOTE, HAIN.
Kubernetes, PAR, deploy, karte, waqt, Kubernetes, Secrets, (base64, encoded, — TRUE, encryption, nahi) aur, Config, Server, encryption, (TRUE, cipher-based) mein, EK, CHOICE, hai — SENSITIVE, DATA, ke, liye, EK, DEDICATED, secrets, manager, (Vault) aksar, BEHTAR, hai.