Infisical + Node.js के साथ पर्यावरण चर के प्रबंधन के लिए मार्गदर्शिका

May 04 2023
सॉफ्टवेयर विकास में, पर्यावरण चर जैसे एपीआई कुंजी, क्रेडेंशियल्स और अन्य संवेदनशील जानकारी का प्रबंधन महत्वपूर्ण है। Infisical एक ओपन-सोर्स, एंड-टू-एंड एन्क्रिप्टेड प्लेटफ़ॉर्म है जो आपको बड़े पैमाने पर पर्यावरण चर प्रबंधित करने में मदद कर सकता है।
इंफिसिकल + नोड

सॉफ्टवेयर विकास में, पर्यावरण चर जैसे एपीआई कुंजी, क्रेडेंशियल्स और अन्य संवेदनशील जानकारी का प्रबंधन महत्वपूर्ण है। Infisical एक ओपन-सोर्स, एंड-टू-एंड एन्क्रिप्टेड प्लेटफ़ॉर्म है जो आपको बड़े पैमाने पर पर्यावरण चर प्रबंधित करने में मदद कर सकता है।

इस ट्यूटोरियल में, हम प्रदर्शित करते हैं कि स्थानीय विकास से लेकर उत्पादन तक, अपने नोड स्टैक के लिए पर्यावरण चर का प्रबंधन करने के लिए इंफ़िसिकल का उपयोग कैसे करें । हम Infisical Cloud का उपयोग करेंगे , लेकिन यदि आप स्व-होस्ट किए गए उदाहरण का उपयोग कर रहे हैं तो वही चरण लागू होंगे ।

चलो गोता लगाएँ!

इंफिसिकल क्या है?

Infisical , एक ओपन-सोर्स, एंड-टू-एंड एन्क्रिप्टेड गुप्त प्रबंधन प्लेटफ़ॉर्म है जिसके साथ आप पर्यावरण चर को स्टोर कर सकते हैं। यह आपके स्वयं के बुनियादी ढांचे पर पूरी तरह से स्व-होस्टेबल है, अच्छी तरह से प्रलेखित है , और अत्यधिक सुंदर है।

इंफिसिकल

इसका नोड एसडीके आपको पर्यावरण चर को रनटाइम पर वापस लाने देता है चाहे वह स्थानीय विकास या उत्पादन में हो।

प्रोजेक्ट सेटअप

आरंभ करने के लिए, हम Infisical में एक प्रोजेक्ट स्थापित करेंगे और एक परिवेश में परिवेश चर जोड़ेंगे।

  1. Infisical में एक नया प्रोजेक्ट बनाएं।
  2. इस परियोजना के विकास परिवेश में एक रहस्य जोड़ें ताकि हम इसे स्थानीय विकास के लिए वापस खींच सकें। सीक्रेट ओवरव्यू पेज में, डेवलपमेंट एक्सप्लोर करें दबाएं और कुंजी NAME और मान YOUR_NAME के ​​साथ एक सीक्रेट जोड़ें . यह पर्यावरण चर स्थानीय विकास के लिए लाया जाएगा।

हमारे नोड एप्लिकेशन से रहस्य तक पहुँचने के लिए, हमें एक Infisical Token बनाने की आवश्यकता है ।

  1. प्रोजेक्ट सेटिंग्स > सर्विस टोकन पर जाएं और नया टोकन जोड़ें दबाएं ।
  2. टोकन को नाम दें (उदाहरण के लिए, "मेरा ऐप टोकन") और पर्यावरण के तहत विकास का चयन करें । इस चरण में, हम इस परियोजना के विकास परिवेश के लिए इस टोकन एक्सेस का प्रावधान कर रहे हैं।
  3. टोकन को कॉपी करें और इसे संभाल कर रखें।
  4. एक Infisical टोकन बनाएँ

इस गाइड के लिए, हम एक न्यूनतम एक्सप्रेस एप्लिकेशन बनाएंगे। हालाँकि, समान सिद्धांत किसी भी नोड एप्लिकेशन पर लागू होते हैं, जैसे कि Koa या Fastify पर निर्मित।

package.jsonएक डिफ़ॉल्ट फ़ाइल के साथ एक नया Node.js प्रोजेक्ट प्रारंभ करें ।

$ npm init -y

$ npm install express infisical-node

const express = require("express");
const app = express();
const PORT = 3000;

const client = new InfisicalClient({
    token: "YOUR_INFISICAL_TOKEN"
});

app.get("/", async (req, res) => {
    const name = (await client.getSecret("NAME")).secretValue;
    res.send(`Hello, ${name}!`);
});

app.listen(PORT, () => {
    console.log(`Example app listening on port ${PORT}`);
});

ऐप शुरू करें और विजिट करेंhttp://localhost:3000"हैलो, योर नेम" संदेश देखने के लिए।


$ node index.js

सलाह

इष्टतम प्रदर्शन सुनिश्चित करने के लिए, मैं Infisical क्लाइंट का एक उदाहरण बनाने और इसे आपके संपूर्ण ऐप में उपयोग करने के लिए निर्यात करने की सलाह दूंगा। इसका कारण यह है कि नोड एसडीके हर रहस्य को कैश करता है और अत्यधिक कॉल को कम करते हुए इसे समय-समय पर अपडेट करता है; यह बिल्ट-इन कैशिंग सिंकिंग पर्यावरण चर को बड़े पैमाने पर निर्बाध बनाता है।

.envमैं स्थानीय विकास में एक फ़ाइल में या उत्पादन में एकमात्र पर्यावरण चर के रूप में Infisical Token को संग्रहीत करने की भी सिफारिश करता हूं । इस तरह, आपको इसे अपने एप्लिकेशन में हार्डकोड करने की आवश्यकता नहीं है और इसका उपयोग आप अपने बाकी पर्यावरण चर लाने के लिए कर सकते हैं।

अंत में, SDK केवल रहस्य वापस लाने के अलावा और भी बहुत कुछ करने में सक्षम है। क्रिएट , अपडेट और डिलीट ऑपरेशंस उपलब्ध होने के साथ , गुप्त रोटेशन जैसे ऑपरेशंस के साथ एक पूर्ण, गतिशील गुप्त प्रबंधन रणनीति बनाना संभव है।

निष्कर्ष

अब आप जानते हैं कि अपने नोड एप्लिकेशन के लिए इंफ़िसिकल से रहस्य कैसे प्राप्त करें । विभिन्न परिवेशों के दायरे में आने वाले Infisical टोकन का उपयोग करके, आप स्थानीय विकास से लेकर उत्पादन तक अपनी परियोजना के विभिन्न चरणों में आसानी से रहस्यों का प्रबंधन कर सकते हैं। Infisical आपके संवेदनशील डेटा को प्रबंधित करने के लिए एक सुरक्षित, डेवलपर-अनुकूल समाधान प्रदान करता है, यह सुनिश्चित करता है कि आपके एप्लिकेशन सर्वोत्तम प्रथाओं को ध्यान में रखकर बनाए गए हैं।