Vault SecretRefs
बंडल किया गया Vault Plugin, Gateway के शुरू होने और रीलोड होने के समय OpenClaw को HashiCorp Vault सेexec SecretRefs हल करने देता है। OpenClaw कॉन्फ़िगरेशन में Vault संदर्भ संग्रहीत करता है, हल किए गए मानों को इन-मेमोरी सीक्रेट्स स्नैपशॉट में रखता है और हल की गई API कुंजियों को openclaw.json में वापस नहीं लिखता।
इसका उपयोग तब करें, जब आप पहले से Vault चला रहे हों या मॉडल प्रदाता की कुंजियों को OpenClaw कॉन्फ़िगरेशन फ़ाइलों से बाहर रखना चाहते हों। SecretRef रनटाइम मॉडल के लिए सीक्रेट प्रबंधन देखें।
शुरू करने से पहले
आपको चाहिए:- बंडल किया गया
vaultPlugin उपलब्ध रखने वाला OpenClaw - एक पहुँच योग्य Vault सर्वर
- ऐसा Vault प्रमाणीकरण, जो उन सीक्रेट पाथ पर पढ़ने की पहुँच वाला क्लाइंट टोकन बना सके जिन्हें OpenClaw को हल करना चाहिए
- Gateway शुरू करने वाले परिवेश में
VAULT_ADDRऔर इनमें से कोई एक अवश्य शामिल होना चाहिए:VAULT_TOKEN,VAULT_TOKEN_FILEके साथOPENCLAW_VAULT_AUTH_METHOD=token_file, या कॉन्फ़िगर किया गया JWT/Kubernetes लॉगिन
openclaw vault कमांड चलाने से पहले बंडल किया गया Plugin सक्षम करें:
Vault में प्रदाता कुंजी संग्रहीत करें
OpenClaw डिफ़ॉल्ट रूप सेsecret पर माउंट किए गए KV v2 का उपयोग करता है, जो Vault डेवलपमेंट-सर्वर के उदाहरणों से मेल खाता है। प्रोडक्शन Vault के लिए SecretRef आईडी बनाने से पहले OPENCLAW_VAULT_KV_MOUNT को अपने वास्तविक KV माउंट पाथ पर सेट करें। OpenClaw के डिफ़ॉल्ट के साथ यह SecretRef आईडी:
Vault को Gateway के लिए दृश्यमान बनाएँ
कंटेनर के बिना चलने वाले स्थानीय Gateway के लिए Vault सेटिंग्स को उसी शेल में एक्सपोर्ट करें, जिससे OpenClaw शुरू होता है। डिफ़ॉल्ट प्रमाणीकरण विधिVAULT_TOKEN से Vault क्लाइंट टोकन पढ़ती है:
jwt प्रकार की Vault भूमिका उपयोग करें:
kubernetes उपयोग करें। यह Pods के रूप में चलने वाले Gateways के लिए है; डिफ़ॉल्ट माउंट kubernetes है और डिफ़ॉल्ट JWT फ़ाइल मानक सर्विस अकाउंट टोकन पाथ है:
OPENCLAW_VAULT_AUTH_MOUNT को केवल तब सेट करें, जब Vault ने Kubernetes प्रमाणीकरण को auth/kubernetes के अलावा कहीं और माउंट किया हो। OPENCLAW_VAULT_JWT_FILE को केवल तब सेट करें, जब सर्विस अकाउंट टोकन किसी कस्टम पाथ पर प्रोजेक्ट किया गया हो।
वैकल्पिक सेटिंग्स:
openclaw vault status कभी भी VAULT_TOKEN प्रिंट नहीं करता; यह केवल बताता है कि टोकन, टोकन फ़ाइल और JWT फ़ाइल सेट हैं या नहीं।
SecretRef योजना बनाएँ और लागू करें
OpenRouter की मॉडल प्रदाता API कुंजी को Vault से मैप करने वाली योजना बनाएँ:--allow-exec उपयोग करें, क्योंकि Vault Plugin OpenClaw द्वारा प्रबंधित exec SecretRef प्रदाता के माध्यम से हल करता है।
यदि Gateway अभी नहीं चल रहा है, तो openclaw secrets reload चलाने के बजाय योजना लागू करने के बाद उसे सामान्य रूप से शुरू करें।
अधिक प्रदाता कुंजियाँ कॉन्फ़िगर करें
अंतर्निहित शॉर्टकट:--provider-key उपयोग करते हैं:
--provider-key <provider=id>, models.providers.<provider>.apiKey में एक SecretRef लिखता है। कस्टम प्रदाताओं के लिए यह प्रदाता की baseUrl, api या models सेटिंग्स नहीं बनाता; पहले उन्हें कॉन्फ़िगर करें।
किसी भी ज्ञात SecretRef लक्ष्य पाथ के लिए --target <path=id> उपयोग करें:
openclaw.json पर लागू होते हैं। मौजूदा auth-profiles.json लक्ष्यों के लिए auth-profiles:<agentId>:<path> उपयोग करें।
लक्ष्य पाथ एक पंजीकृत OpenClaw SecretRef लक्ष्य होना चाहिए। सेटअप कमांड OpenClaw में मनमाने नाम वाले सीक्रेट नहीं बनाता; Vault ही सीक्रेट स्टोर रहता है और OpenClaw केवल समर्थित कॉन्फ़िगरेशन फ़ील्ड में SecretRefs संग्रहीत करता है।
SecretRef आईडी प्रारूप
Vault SecretRef आईडी इस परंपरा का उपयोग करती हैं:
लौटाया गया Vault फ़ील्ड एक स्ट्रिंग होना चाहिए।
KV v1 के लिए यह सेट करें:
providers/openrouter/apiKey यह पढ़ता है:
OpenClaw क्या संग्रहीत करता है
Vault सेटअप योजना लागू करने पर Plugin द्वारा प्रबंधित प्रदाता संग्रहीत होता है:कंटेनर और प्रबंधित परिनियोजन
कंटेनर में चलने वाले Gateways भी उसी Plugin और SecretRef कॉन्फ़िगरेशन का उपयोग करते हैं। कंटेनर को ये मिलने चाहिए:VAULT_ADDR- एक प्रमाणीकरण स्रोत:
VAULT_TOKENVAULT_TOKEN_FILEके साथOPENCLAW_VAULT_AUTH_METHOD=token_fileOPENCLAW_VAULT_AUTH_MOUNT,OPENCLAW_VAULT_AUTH_ROLEऔरOPENCLAW_VAULT_JWT_FILEके साथOPENCLAW_VAULT_AUTH_METHOD=jwtOPENCLAW_VAULT_AUTH_ROLEके साथOPENCLAW_VAULT_AUTH_METHOD=kubernetes; वैकल्पिक रूप सेOPENCLAW_VAULT_AUTH_MOUNTयाOPENCLAW_VAULT_JWT_FILEको ओवरराइड करें
- वैकल्पिक
VAULT_NAMESPACE,OPENCLAW_VAULT_KV_MOUNTऔरOPENCLAW_VAULT_KV_VERSION
OPENCLAW_VAULT_AUTH_METHOD=kubernetes को प्राथमिकता दें।
OPENCLAW_VAULT_AUTH_METHOD=jwt का उपयोग केवल तब करें, जब Vault को क्लस्टर को सामान्य JWT/OIDC जारीकर्ता मानने के लिए कॉन्फ़िगर किया गया हो। दोनों में से कोई भी विकल्प Kubernetes Secret में लंबे समय तक रहने वाले Vault टोकन से बेहतर है। Vault Agent साइडकार या इंजेक्टर परिनियोजन इसके बजाय token_file उपयोग कर सकते हैं।
बहु-किरायेदार Vault सेटअप के लिए किरायेदार रूटिंग को Vault नीति और परिनियोजन कॉन्फ़िगरेशन में रखें। OpenClaw को किसी निश्चित माउंट, भूमिका या पाथ की आवश्यकता नहीं है: प्रत्येक Gateway परिवेश अपने स्वयं के OPENCLAW_VAULT_KV_MOUNT, OPENCLAW_VAULT_AUTH_ROLE और SecretRef आईडी सेट कर सकता है। यदि एक साझा Gateway को एक ही समय में अलग-अलग Vault उपयोगकर्ताओं को हल करना हो, तो अलग-अलग प्रमाणीकरण परिवेशों को रैप करने वाले मैन्युअल रूप से कॉन्फ़िगर किए गए exec प्रदाता उपयोग करें, या किरायेदारों को अलग-अलग Vault परिवेश वेरिएबल वाले Gateway परिवेशों में विभाजित करें।