
OpenBMC के लिए एक सब कुछ करने वाला Redfish, KVM, GUI, और DBus वेबसर्वर
यह घटक OpenBMC के लिए एक "सब कुछ करने वाला" एम्बेडेड वेबसर्वर बनने का प्रयास करता है।
वेबसर्वर कुछ अलग इंटरफ़ेस लागू करता है:
bmcweb प्रोटोकॉल स्तर पर http और https का समर्थन करता है। OpenSSL के माध्यम से TLS समर्थित है। TLS कनेक्शन के लिए ALPN पंजीकरण और http कनेक्शन के लिए h2c अपग्रेड हेडर का उपयोग करके HTTP/1 और HTTP/2 समर्थित हैं।
Bmcweb कई प्रमाणीकरण प्रोटोकॉल का समर्थन करता है:
इनमें से प्रत्येक प्रकार के प्रमाणीकरण को रनटाइम नीति परिवर्तनों (प्रासंगिक Redfish API के माध्यम से) या कॉन्फ़िगर समय विकल्पों के माध्यम से सक्षम या अक्षम किया जा सकता है। उपयोगकर्ता नाम/पासवर्ड का समर्थन करने वाले सभी प्रमाणीकरण तंत्र libpam पर रूट किए जाते हैं, ताकि प्रमाणीकरण कार्यान्वयन में अनुकूलन की अनुमति मिल सके।
bmcweb में सभी प्राधिकरण रूटिंग समय पर और प्रति रूट निर्धारित किया जाता है, और Redfish PrivilegeRegistry का अनुपालन करता है।
*नोट: गैर-Redfish कार्यों को निकटतम समतुल्य Redfish विशेषाधिकार स्तर पर मैप किया जाता है।
bmcweb को meson बिल्ड फ़ाइलों के अनुसार कॉन्फ़िगर किया गया है। उपलब्ध विकल्प meson.options में प्रलेखित हैं।
meson setup builddir
ninja -C builddir
यदि कॉन्फ़िगरेशन के दौरान होस्ट सिस्टम पर कोई भी निर्भरता नहीं मिलती है, तो meson स्वचालित रूप से bmcweb/subprojects में उल्लिखित अपनी रैप निर्भरताओं के माध्यम से उन्हें डाउनलोड करेगा।
bmcweb प्रक्रिया के आंतरिक स्थायी डेटा के भंडारण के लिए कुछ ऑन-सिस्टम डेटा पर निर्भर करता है। संग्रहीत सटीक डेटा और इसे कब पढ़ा/लिखा जाता है, इसका विवरण persistent_data नेमस्पेस से देखा जा सकता है।
bmcweb मल्टीपार्ट फ़ॉर्म अपलोड के दौरान अस्थायी फ़ाइल भंडारण के लिए /tmp/bmcweb का उपयोग करता है। सेवा फ़ाइल में TemporaryFileSystem निर्देश के माध्यम से सेवा पुनरारंभ होने पर यह निर्देशिका स्वचालित रूप से systemd द्वारा साफ़ कर दी जाती है।
जब SSL समर्थन सक्षम होता है और एक उपयोगी प्रमाणपत्र नहीं मिलता है, तो bmcweb सर्वर लॉन्च करने से पहले एक स्व-हस्ताक्षरित प्रमाणपत्र उत्पन्न करेगा। कृपया इस प्रमाणपत्र के निर्माण में उपयोग किए गए मापदंडों के विवरण के लिए bmcweb स्रोत कोड देखें।
bmcweb zstd और gzip सहित http संपीड़न के विभिन्न रूपों का समर्थन करता है। यह निर्धारित करने के लिए कि संपीड़ित पेलोड समर्थित हैं या नहीं, क्लाइंट हेडर देखे जाते हैं।
bmcweb सैटेलाइट BMC से संसाधनों को एकत्र करने में सक्षम है। इस सुविधा को सक्षम और उपयोग करने के तरीके के बारे में अधिक जानकारी के लिए AGGREGATION.md देखें।