Secrets ve Configs Yonetimi
Bu sayfa, Docker Swarm icinde gizli bilgi ile normal konfigurasyonun nasil ayrilacagini tanimlar.
Temel Kural
Her runtime deger ayni sinifa ait degildir.
Iki ana aile:
- secret -> sizdirilmamasi gereken degerler
- config -> servis davranisini belirleyen ama gizli olmayan degerler
Secret Ornekleri
- database password
- JWT signing secret
- Kafka auth bilgileri
- SMTP/API provider credential'lari
- FTP/FOTA credential'lari
- OAuth client secret'lari
Config Ornekleri
- topic isimleri
- timeout ve retry ayarlari
- feature flag'ler
- environment bazli endpoint adresleri
- threshold ve operational tuning parametreleri
Neden Ayrim Onemli?
Bu ayrim sayesinde:
- hassas bilgi log ve config dump'larina daha az karisir
- rollout sirasinda neyin rotate edilmesi gerektigi netlesir
- servis davranisi degisen config ile credential rotation ayni islem gibi ele alinmaz
Onerilen Prensipler
- Secret'lar image icine gomulmez.
- Config ile secret ayni dosyada tutulmaz.
- Secret rotation icin yeniden deploy etkisi onceden bilinir.
- Servis dokumanlarinda hangi secret/config'e ihtiyac oldugu deployment contract olarak yazilir.
- Production ve staging environment ayrimi secret/config seviyesinde net olur.
Deployment Contract Acisindan
Her servis icin en az su tablo gelecekte yazilmalidir:
- gerekli secret'lar
- gerekli config'ler
- opsiyonel config'ler
- default fallback davranisi var mi yok mu
Bu model, deployment dokumani ile servis dokumanini birbirine baglayan kritik noktadir.