
एक रिपॉजिटरी जो GitHub Actions के माध्यम से स्वचालित रूप से Docker इमेज की एक श्रृंखला उत्पन्न करने और अद्यतित रखने के लिए है।
RAUDI (Regularly and Automatically Updated Docker Images) उन टूल्स के लिए Docker Images को GitHub Actions के माध्यम से स्वचालित रूप से उत्पन्न और अद्यतन रखता है जो डेवलपर्स द्वारा प्रदान नहीं किए जाते हैं।
RAUDI वह चीज है जो आपको मैन्युअल रूप से बहुत सारी डॉकर इमेजेस बनाने और प्रबंधित करने से बचाएगा। हर बार जब कोई सॉफ्टवेयर अपडेट होता है तो आपको डॉकर इमेज को अपडेट करना होगा यदि आप नवीनतम सुविधाओं का उपयोग करना चाहते हैं, निर्भरताएँ अब काम नहीं करती हैं।
यह अव्यवस्थित और समय लेने वाला है।
अब और चिंता न करें, हमने आपको कवर कर लिया है।
आप या तो इस रिपॉजिटरी को फोर्क कर सकते हैं और स्वयं GitHub Workflow का उपयोग कर सकते हैं या इसे स्थानीय रूप से उपयोग कर सकते हैं (और इसके निष्पादन को अपनी इच्छानुसार प्रबंधित कर सकते हैं)।
यदि आप इस रिपॉजिटरी को फोर्क करना चाहते हैं तो आपको अपने व्यक्तिगत Docker Hub खाते पर अपनी इमेजेस को पुश करने में सक्षम होने के लिए कुछ सीक्रेट्स सेट करने होंगे। दो GitHub सीक्रेट्स अनिवार्य रूप से सेट होने चाहिए:
इन सीक्रेट्स को सेट करने के बाद आपको tools/main.py फ़ाइल में सेट organization वेरिएबल को संपादित करना होगा क्योंकि यह SecSI के लिए Docker Hub पर पुश करने के लिए कॉन्फ़िगर किया गया है।
बस इतना ही दोस्तों: Action पर जाएं, इसे अपने फोर्क किए गए रिपॉजिटरी के लिए सक्षम करें, मध्यरात्रि तक प्रतीक्षा करें, और Workflow भारी काम करेगा!
इस रिपॉजिटरी को स्थानीय रूप से भी निष्पादित किया जा सकता है। पूर्ण करने के लिए आवश्यकताएँ निम्नलिखित हैं:
BuildX के साथ काम करने के लिए दस्तावेज़ यहाँ है: https://docs.docker.com/buildx/working-with-buildx/
सेटअप चरण काफी सीधा है, बस आपको निम्नलिखित कमांड्स की आवश्यकता है:
git clone https://github.com/cybersecsi/RAUDI
cd RAUDI
pip install -r requirements.txt
आप जाने के लिए तैयार हैं!
परीक्षण चलाने के लिए आपको pytest को pip install pytest कमांड से इंस्टॉल करना होगा (यह requirements.txt में नहीं है क्योंकि यह केवल परीक्षण उद्देश्यों के लिए आवश्यक है) और फिर आप चला सकते हैं:
pytest -s
या
python -m pytest -s
परीक्षण चलाने के लिए।
RAUDI tools निर्देशिका में रखे गए सभी टूल्स को बना और पुश कर सकता है। इसे चलाते समय विभिन्न विकल्पों का उपयोग किया जा सकता है। स्थानीय रूप से उपयोग करने से पहले आपको एक .env फ़ाइल बनानी चाहिए (आप बस .env.sample फ़ाइल को कॉपी कर सकते हैं) और रेट लिमिटिंग से बचने के लिए अपना GitHub Personal Access Token जोड़ें। अप्रमाणित उपयोगकर्ताओं के लिए GitHub प्रति घंटे 60 अनुरोधों की अनुमति देता है, जबकि प्रमाणित उपयोगकर्ताओं को प्रति घंटे 15,000 अनुरोधों की अनुमति है। इस कारण से हम इसे जोड़ने की सलाह देते हैं! आप बिना किसी स्कोप के एक व्यक्तिगत एक्सेस टोकन भी बना सकते हैं क्योंकि हम जो कुछ भी करते हैं वह प्रत्येक GitHub रिपॉजिटरी के लिए कुछ जानकारी पढ़ना है।
इस मोड में RAUDI यदि आवश्यक हो तो सभी टूल्स बनाने का प्रयास करता है। इसे चलाने का कमांड बस यह है:
python3 ./raudi.py --all
इस मोड में RAUDI केवल निर्दिष्ट टूल को बनाने का प्रयास करता है। इस स्थिति में कमांड है:
python3 ./raudi.py --single <tool_name>
tool_name tools फ़ोल्डर के अंदर निर्देशिका का नाम होना चाहिए।
चूंकि टूल की कॉन्फ़िगरेशन संरचना में tests पैरामीटर जोड़ा गया है, इसलिए यह जाँचने में सहायक हो सकता है कि डाले गए कमांड्स 0 स्थिति कोड लौटाते हैं। किसी विशिष्ट टूल का परीक्षण करने का कमांड है:
python3 ./raudi.py --test <tool_name>
tool_name tools फ़ोल्डर के अंदर निर्देशिका का नाम होना चाहिए।
यदि आप उपलब्ध टूल्स जानना चाहते हैं तो आप यह कमांड चला सकते हैं:
python3 ./raudi.py --list
यदि आप उपलब्ध टेम्पलेट्स में से किसी एक से शुरू करके जल्दी से एक नया टूल फ़ोल्डर जोड़ना चाहते हैं तो आप यह कमांड चला सकते हैं:
python3 ./raudi.py --bootstrap <new_tool_name>
| विकल्प | विवरण | डिफ़ॉल्ट मान |
|---|---|---|
| --push | क्या स्वचालित रूप से Docker Hub पर पुश करना है | False |
| --remote | क्या निर्माण से पहले स्थानीय Docker के बजाय Docker Hub के विरुद्ध जाँच करना है | False |
| --force | क्या यदि समान टैगनाम वाली इमेज मिली है तब भी बनाना है या नहीं | False |
यह उन टूल्स की वर्तमान सूची है जिन्हें जोड़ा गया है। ये सभी वे टूल्स हैं जिनके पास डेवलपर द्वारा प्रदान की गई आधिकारिक डॉकर इमेज नहीं है: