Compose फाइल शेअर करता तेव्हा दोन आर्टिफॅक्ट असतात: तुम्ही लिहिलेली एक, आणि चल बदलल्यानंतर टूल रेंडर करते ती दुसरी। दुसरी बहुतेक वेळा पहिल्यापेक्षा संवेदनशील असते, आणि लोक न वाचता समस्या अहवालात जी पेस्ट करतात ती हीच असते। तुम्ही फक्त स्रोत फाइल तपासत असाल, तर चुकीचा दस्तऐवज तपासत आहात।

काय काढायचे हे ठरवण्यापूर्वी प्रत्येक प्रतीत काय असू शकते याची तुलना करा।

रेंडर केलेले मॉडेल वेगळा दस्तऐवज आहे

Compose पर्यावरण चल सोडवते, ओव्हरराइड फाइल्स एकत्र करते आणि हाताने लिहिलेल्या मूल्यांपासून वाचकाला आता वेगळे ओळखता येणार नाही अशी प्रभावी कॉन्फिगरेशन तयार करते। स्रोतातील चलाचे नाव अशी संदर्भ आउटपुटमध्ये खात्याचे टोकनच बनते। फाइल निदानासाठी उपयुक्त करणारी रचना त्या रूपांतरातून टिकते; जे कधीही त्यात नसावे तेही टिकते।

जोडण्यापूर्वी फाइल स्वतः रेंडर करा आणि ते आउटपुट तुम्ही तपासत असलेला आर्टिफॅक्ट माना। ती रेंडर करू शकत नसाल, तर तुम्ही काय प्रकाशित करणार आहात हे कळू शकत नाही।

गुप्त माहिती की फील्डपेक्षा अधिक ठिकाणी असते

स्पष्ट गोष्टीपासून सुरुवात करा: खाजगी की, आधीच शेअर केलेल्या की, टोकन, पासवर्ड आणि क्रेडेन्शियल्स असलेल्या कनेक्शन URL। नंतर फाइल ज्याकडे इशारा करते ते सर्व पहा, कारण संदर्भ म्हणजे रिडॅक्शन नाही। सेवेमध्ये माउंट केलेली env फाइल, होस्टवरून बाइंड-माउंट केलेली कॉन्फिगरेशन फाइल, टोकन घेऊन जाणारे लेबल आणि पासवर्ड असलेला कमांड आर्ग्युमेंट, YAML स्वच्छ दिसत असला तरी डिप्लॉयमेंटसोबत जातात। आश्वासक नावाच्या चलात पेस्ट केलेली कीही कीच असते।

होस्ट पाथ आणि सेवांची नावे दुसऱ्या प्रकारची माहिती गळवतात। घराच्या डिरेक्टरीचे नाव, अंतर्गत होस्टनेम किंवा नेटवर्क श्रेणी एकही क्रेडेन्शियल नसताना व्यक्ती किंवा संस्था ओळखू शकतात, आणि तो संदर्भही त्याच कारणास्तव काढण्यासारखा आहे।

गुप्त माहितीची घोषणा म्हणजे गुप्त माहिती नव्हे

Compose च्या गुप्त वस्तू घोषणा सामग्रीपासून वेगळ्या करतात: सेवेला पाथ किंवा लक्ष्य मिळते, आणि सामग्री दुसरीकडे राहते। सामग्री बदलताना घोषणा ठेवणे सहसा योग्य देवाणघेवाण असते, कारण पुनरावलोकनकर्त्याला गुप्त माहिती आहे आणि ती कशी माउंट केली आहे हे दिसले पाहिजे। टिकू नये ती सामग्री स्वतःच।

लेबल आणि टिप्पण्याही त्याच वागणुकीस पात्र आहेत। कोणता व्हॉल्ट पाथ उत्पादन की ठेवतो हे सांगणारी टिप्पणी हल्लेखोराला कुठे पाहावे हे सांगते, जरी त्यात कोणतीही की नसली तरी।

आकार टिकवा जेणेकरून फाइल अजूनही निदान करू शकेल

नेटवर्क मोड, इमेज आवृत्ती किंवा क्षमता सेटिंग्ज काढून टाकणारे रिडॅक्शन असे फाइल तयार करते ज्यावर कोणीही डीबग करू शकत नाही। संवेदनशील मूल्ये बदला आणि संबंध ठेवा: कोणती सेवा काय माउंट करते, कोणत्या नेटवर्कमध्ये सामील होते, कोणते उपकरण लागते। हा तो भाग आहे जो वाचक वापरतो हरवलेला मार्ग किंवा अनुपलब्ध उपकरण समजावण्यासाठी। हीच ती आवृत्ती आहे जी सहकारी आपल्या कार्यरत डिप्लॉयमेंटशी तुलना करू शकतो।

docker compose -f compose.yaml config > rendered.yaml
grep -nE 'PRIVATE_KEY|PASSWORD|TOKEN|PSK|PrivateKey|passphrase' rendered.yaml
wc -l rendered.yaml

रिडॅक्ट केलेली प्रत कार्यरत मूळ म्हणून डिप्लॉय करू नका। ती एक वर्णन आहे, आणि सुरक्षित दिसण्यासाठी संपादित केलेले वर्णन कॉन्फिगरेशन बगसारखे दिसणाऱ्या पद्धतीने अयशस्वी होईल।

सामग्री उघडकीस आली असेल, तर ती बदला

जोडणी काढून टाकल्याने इतरांनी आधीच तयार केलेल्या प्रती जात नाहीत, आणि मिरर व कॅश आपल्या प्रती ठेवतात। जे गळले त्यासाठी जारीकर्त्याची रद्द आणि बदली प्रक्रिया वापरा, नंतर डिप्लॉयमेंट अद्ययावत करा। क्रम महत्त्वाचा आहे, कारण आधी बदली आणि नंतर रद्द केल्यास दोन वैध क्रेडेन्शियल्स असलेली खिडकी राहते।

सपोर्ट थ्रेडमध्ये अचूक त्रुटी, इमेज आवृत्ती, नेटवर्क मोड आणि महत्त्वाची एक गैर-गुप्त सेटिंगपासून सुरुवात करा। हे संयोजन हरवलेले उपकरण किंवा तुटलेला मार्ग कीपेक्षा कितीतरी जास्त वेळा समजावते।

संबंधित लेख