क्या कठपुतली (या समान) बुनियादी लेकिन महत्वपूर्ण जन परिवर्तनों की देखभाल के लिए एक उपयुक्त तकनीक है?
हां, इसे इस तरह से इस्तेमाल किया जा सकता है। मैं इसका उपयोग बाहरी क्लाइंट सिस्टम का समर्थन करने के लिए करता हूं।
मैं नहीं चाहता कि कोई भी सर्वर किसी भी विन्यास को देख सके जो उसे नहीं करना चाहिए
यदि आप कठपुतली का उपयोग कर रहे हैं, तो आपको ऑटोसाइन को सक्षम नहीं करना चाहिए । ऑटोसाइन स्वचालित रूप से एक प्रमाण पत्र का अनुरोध करने के लिए मेजबान को अनुमति देता है। प्रमाणपत्र में आपका कॉन्फ़िगरेशन और अनुमतियां लगभग निश्चित रूप से CN से सीधे जुड़ी होंगी। आप यादृच्छिक कंप्यूटर ऑनलाइन नहीं आना चाहते हैं और यह दावा करने में सक्षम हैं कि वे वास्तव में सभी गुप्त उच्च सुरक्षा सामानों के साथ सिस्टम हैं।
यदि आप वास्तव में पागल हैं तो आप शेयर बनाने के लिए कठपुतलियों की फाइलरसेट सेटिंग्स को समायोजित कर सकते हैं जो केवल कुछ सिस्टम ही एक्सेस कर सकते हैं। फाइलरवर एक्सेस प्रमाणपत्रों पर आधारित है।
मैं नहीं चाहता कि कठपुतली कोई भी बदलाव करे, जो उसे नहीं करना चाहिए, या सर्वर पर किए गए किसी भी मैनुअल बदलाव को वापस नहीं लेना चाहिए।
स्थानीय परिवर्तनों की अनुमति देने के लिए कुछ अलग दृष्टिकोण हैं।
एक विधि जिसका मैं अक्सर उपयोग करता हूं वह नीचे है। मूल रूप से यदि आप किसी सूची को पास करते हैं source
, तो कठपुतली सूची में प्रत्येक आइटम का प्रयास करती है। इसलिए मैं सूची में पहला आइटम स्थानीय फ़ाइल पर इंगित करने के लिए जोड़ता हूं।
file { '/etc/ssh/sshd_config':
ensure => present,
source => ["/etc/ssh/sshd_config_local",
"puppet:///modules/ssh/$ssh_config_file"],
...
}
एक अन्य विकल्प सिम्बलिंक का उपयोग करना होगा। अगर कोई कठपुतली संस्करण का उपयोग करना चाहता है, तो वे एक फ़ाइल के कठपुतली संस्करण के लिए सहानुभूति रखते हैं। अगर वे स्थानीय रूप से अपने कॉन्फिगर को बनाए रखना चाहते हैं, तो वे सिम्बल नहीं बनाते हैं।
file { '/etc/ssh/sshd_config_puppet':
ensure => present,
source => "puppet:///modules/ssh/$ssh_config_file",
...
}
दूसरी संभावना यह है कि पूरी फ़ाइलों को बदलने के बजाय लाइन-स्तर के परिवर्तन करने के लिए ईगिस का उपयोग करें। आप जो बदलते हैं उसके बारे में बहुत रूढ़िवादी रहें।