कठपुतली - रेस्टफुल एपीआई
कठपुतली कठपुतली मास्टर और कठपुतली एजेंटों दोनों के बीच संचार चैनल के रूप में RESTful API का उपयोग करता है। इस RESTful API तक पहुँचने के लिए मूल URL निम्नलिखित है।
https://brcleprod001:8140/{environment}/{resource}/{key}
https://brcleprod001:8139/{environment}/{resource}/{key}
अन्य एपीआई सुरक्षा
कठपुतली आमतौर पर सुरक्षा और एसएसएल प्रमाणपत्र प्रबंधन का ध्यान रखती है। हालाँकि, यदि कोई मशीन से कनेक्ट करने का प्रयास करते समय क्लस्टर के बाहर RESTful API का उपयोग करना चाहता है, तो उसे स्वयं ही प्रमाणपत्र का प्रबंधन करने की आवश्यकता होती है। कठपुतली के लिए सुरक्षा नीति को बाकी ऑक्टेंकोफिग फ़ाइल के माध्यम से कॉन्फ़िगर किया जा सकता है।
परीक्षण एपीआई
RESTful API कनेक्टिविटी को आराम देने के लिए कर्ल यूटिलिटी को एक बेसिक यूटिलिटी के रूप में इस्तेमाल किया जा सकता है। निम्नलिखित एक उदाहरण है कि हम REST API कर्ल कमांड का उपयोग करके नोड के कैटलॉग को कैसे पुनः प्राप्त कर सकते हैं।
curl --cert /etc/puppet/ssl/certs/brcleprod001.pem --key
/etc/puppet/ssl/private_keys/brcleprod001.pem
निम्नलिखित कमांड के सेट में हम सिर्फ एसएसएल सर्टिफिकेट सेट कर रहे हैं, जो एसएसएल निर्देशिका कहां है और उपयोग किए गए नोड के नाम के आधार पर अलग होगा। उदाहरण के लिए, आइए निम्न कमांड को देखें।
curl --insecure -H 'Accept: yaml'
https://brcleprod002:8140/production/catalog/brcleprod001
उपर्युक्त कमांड में, हम सिर्फ एक हेडर भेजते हैं जो उस प्रारूप या प्रारूप को निर्दिष्ट करता है जिसे हम वापस चाहते हैं और सूची बनाने के लिए एक RESTful URL। brcleprod001 उत्पादन वातावरण में, निम्नलिखित उत्पादन उत्पन्न करेगा।
--- &id001 !ruby/object:Puppet::Resource::Catalog
aliases: {}
applying: false
classes: []
...
चलिए एक और उदाहरण लेते हैं, जहां हम कठपुतली मास्टर से सीए प्रमाण पत्र प्राप्त करना चाहते हैं। इसे स्वयं के हस्ताक्षरित एसएसएल प्रमाणपत्र के साथ प्रमाणित करने की आवश्यकता नहीं है क्योंकि यह कुछ ऐसा है जिसे प्रमाणित होने से पहले आवश्यक है।
curl --insecure -H 'Accept: s' https://brcleprod001:8140/production/certificate/ca
-----BEGIN CERTIFICATE-----
MIICHTCCAYagAwIBAgIBATANBgkqhkiG9w0BAQUFADAXMRUwEwYDVQQDDAxwdXBw
कठपुतली मास्टर और एजेंट साझा एपीआई संदर्भ
GET /certificate/{ca, other}
curl -k -H "Accept: s" https://brcelprod001:8140/production/certificate/ca
curl -k -H "Accept: s" https://brcleprod002:8139/production/certificate/brcleprod002
कठपुतली मास्टर एपीआई संदर्भ
प्रमाणित संसाधन (मान्य, हस्ताक्षरित प्रमाण पत्र आवश्यक)।
कैटलाग
GET /{environment}/catalog/{node certificate name}
curl -k -H "Accept: pson" https://brcelprod001:8140/production/catalog/myclient
प्रमाणपत्र निरस्तीकरण सूची
GET /certificate_revocation_list/ca
curl -k -H "Accept: s" https://brcleprod001:8140/production/certificate/ca
प्रमाणपत्र का अनुरोध
GET /{environment}/certificate_requests/{anything} GET
/{environment}/certificate_request/{node certificate name}
curl -k -H "Accept: yaml" https://brcelprod001:8140/production/certificate_requests/all
curl -k -H "Accept: yaml" https://brcleprod001:8140/production/certificate_request/puppetclient
रिपोर्ट एक रिपोर्ट सबमिट करें
PUT /{environment}/report/{node certificate name}
curl -k -X PUT -H "Content-Type: text/yaml" -d "{key:value}" https://brcleprod002:8139/production
नोड - एक विशिष्ट नोड के संबंध में तथ्य
GET /{environment}/node/{node certificate name}
curl -k -H "Accept: yaml" https://brcleprod002:8140/production/node/puppetclient
स्थिति - परीक्षण के लिए प्रयुक्त
GET /{environment}/status/{anything}
curl -k -H "Accept: pson" https://brcleprod002:8140/production/certificate_request/puppetclient
कठपुतली एजेंट एपीआई संदर्भ
जब किसी भी मशीन पर एक नया एजेंट स्थापित किया जाता है, डिफ़ॉल्ट रूप से कठपुतली एजेंट HTTP अनुरोध को नहीं सुनता है। कठपुतली.फिन फ़ाइल में "सुनो = सच" जोड़कर कठपुतली में सक्षम होने की आवश्यकता है। यह कठपुतली एजेंटों को HTTP अनुरोध को सुनने के लिए सक्षम करेगा जब कठपुतली एजेंट शुरू हो रहा है।
तथ्यों
GET /{environment}/facts/{anything}
curl -k -H "Accept: yaml" https://brcelprod002:8139/production/facts/{anything}
Run - ग्राहक को कठपुतली या कठपुतली किक की तरह अद्यतन करने का कारण बनता है।
PUT /{environment}/run/{node certificate name}
curl -k -X PUT -H "Content-Type: text/pson" -d "{}"
https://brcleprod002:8139/production/run/{anything}