שיעור 11: Secrets והעיקרון של twelve-factor
בשיעור הקודם הכרנו את ConfigMap — מקום לשמור הגדרות שאינן רגישות, מחוץ ל-image. אבל מה עושים עם סיסמת מסד נתונים או טוקן API? אלה דברים שאסור שכל אחד יראה, ובוודאי שאסור לשמור אותם בתוך הקוד או להעלות ל-Git. בשביל זה קיים Secret: הוא דומה מאוד ל-ConfigMap, אבל מיועד למידע רגיש. חשוב מאוד להבין נקודה
ConfigMap הוא מדף פתוח שכולם רואים מה עליו; Secret הוא מגירה נעולה לדברים פרטיים. רק שימו לב — לנעול את המגירה (base64) זה לא להפוך את מה שבפנים לבלתי-קריא, אלא רק לשים אותו במקום שצריך מפתח כדי לפתוח.
- סיקרט
- אובייקט ב-Kubernetes לאחסון מידע רגיש (סיסמאות, טוקנים) בנפרד מה-image ומהקוד. נשמר בקידוד base64 ומוגן באמצעות בקרת גישה — לא באמצעות הצפנה כברירת מחדל.
- טוולב-פקטור
- מתודולוגיה לבניית אפליקציות. עיקרון מרכזי בה: לשמור את כל הקונפיגורציה בסביבה (environment), בהפרדה מלאה מהקוד, כך שאותו build ירוץ בכל סביבה.
- בייס-64
- שיטת קידוד שמייצגת נתונים בינאריים כטקסט. זו אינה הצפנה: כל אחד יכול לפענח base64 בחזרה לערך המקורי בלי שום מפתח.
- קונפיגמאפ
- אובייקט לאחסון הגדרות שאינן רגישות (מפתח/ערך), שמוזרק לקונטיינר כמשתני סביבה או כקבצים. המקבילה ה"פתוחה" של Secret.
- משתנה סביבה
- ערך בשם מסוים שזמין לתהליך בזמן ריצה. דרך נפוצה להזריק קונפיגורציה — מ-ConfigMap או מ-Secret — אל תוך האפליקציה בלי לשנות את הקוד.