निर्भरताएँ (Dependencies)

यह मार्गदर्शिका का यह अनुभाग Chart.yaml में घोषित निर्भरताओं के लिए सर्वोत्तम प्रथाओं को कवर करता है।

संस्करण

जहाँ संभव हो, किसी निश्चित संस्करण को पिन करने के बजाय संस्करण रेंज का उपयोग करें। सुझाया गया डिफ़ॉल्ट है पैच स्तरीय संस्करण मेल:

version: ~1.2.3

यह संस्करण 1.2.3 और उस रिलीज़ के किसी भी पैच से मेल खाएगा। दूसरे शब्दों में, ~1.2.3 का अर्थ है >= 1.2.3, < 1.3.0

संस्करण मिलान सिंटैक्स की पूरी जानकारी के लिए, कृपया semver प्रलेखन देखें।

पूर्व-रिलीज़ संस्करण

उपरोक्त संस्करण प्रतिबंध पूर्व-रिलीज़ संस्करणों से मेल नहीं खाएँगे।
उदाहरण के लिए, version: ~1.2.3 संस्करण version: ~1.2.4 से मेल खाएगा, लेकिन version: ~1.2.3-1 से नहीं।
नीचे दिया गया उदाहरण पूर्व-रिलीज़ और पैच-स्तरीय मिलान दोनों प्रदान करता है:

version: ~1.2.3-0

रिपॉजिटरी URLs

जहाँ संभव हो, https:// रिपॉजिटरी URLs का उपयोग करें, इसके बाद http:// URLs का उपयोग करें।

यदि रिपॉजिटरी को रिपॉजिटरी इंडेक्स फ़ाइल में जोड़ा गया है, तो रिपॉजिटरी का नाम URL का उपनाम के रूप में उपयोग किया जा सकता है। alias: या @ का उपयोग करें, इसके बाद रिपॉजिटरी नाम डालें।

फ़ाइल URLs (file://...) को "विशेष मामला" माना जाता है, जो उन चार्ट्स के लिए होते हैं जो एक निश्चित डिप्लॉयमेंट पाइपलाइन द्वारा संकलित किए जाते हैं।

डाउनलोडर प्लगइन्स का उपयोग करते समय URL स्कीम विशेष रूप से प्लगइन पर निर्भर होगी। ध्यान दें, चार्ट का उपयोगकर्ता अपडेट करने या निर्भरता बनाने के लिए उस स्कीम को सपोर्ट करने वाला प्लगइन इंस्टॉल करना होगा।

जब repository फ़ील्ड को खाली छोड़ा जाता है, तो Helm निर्भरता प्रबंधन ऑपरेशन नहीं कर सकता। उस स्थिति में, Helm मान लेगा कि निर्भरता charts फ़ोल्डर के उप-निर्देशिका में है, और उसका नाम निर्भरता के name प्रॉपर्टी के समान होगा।

शर्तें और टैग्स

शर्तें या टैग्स उन किसी भी निर्भरताओं में जोड़ी जानी चाहिए जो वैकल्पिक हों।

एक शर्त का प्राथमिक रूप इस प्रकार है:

condition: somechart.enabled

जहाँ somechart निर्भरता का चार्ट नाम है।

जब कई सबचार्ट्स (निर्भरता) मिलकर कोई वैकल्पिक या बदलने योग्य फ़ीचर प्रदान करते हैं, तो उन चार्ट्स को समान टैग्स साझा करना चाहिए।

उदाहरण के लिए, यदि nginx और memcached दोनों मिलकर चार्ट में मुख्य ऐप के लिए प्रदर्शन ऑप्टिमाइजेशन प्रदान करते हैं, और उस फ़ीचर को सक्षम करते समय दोनों का होना आवश्यक है, तो दोनों के पास इस तरह का एक टैग सेक्शन होना चाहिए:

tags:
  - webaccelerator

यह उपयोगकर्ता को एक टैग के साथ उस फ़ीचर को चालू और बंद करने की अनुमति देता है।