इस प्रोजेक्ट के बारे में
# AliaJS
AliaJS एक इन्फ्रास्ट्रक्चर ऑर्केस्ट्रेटर है जो उन छोटी ऑपरेशन-इन्फ्रास्ट्रक्चर टीमों के लिए डिज़ाइन किया गया है जो JavaScript को अपनी परिभाषा और निष्पादन भाषा के रूप में पसंद करती हैं। यह वर्तमान में अल्फा स्थिति में है।
## मुख्य विशेषताएँ
- **JavaScript-आधारित इन्फ्रास्ट्रक्चर-एज़-कोड**: JavaScript का उपयोग करके इन्फ्रास्ट्रक्चर ऑर्केस्ट्रेशन को परिभाषित और निष्पादित करें।
- **HTTP-प्रथम डिज़ाइन**: HTTP को इनपुट के रूप में लेता है और HTTP के माध्यम से प्रथम-श्रेणी नागरिक के रूप में संवाद कर सकता है। यह एक Express.js सेवा है जो शेल कमांड और Node.js कोड चलाती है।
- **ऑल-इन-वन समाधान**: सीक्रेट वॉल्ट एकीकरण (Bitwarden), मॉनिटरिंग और अलर्टिंग सहित सेवा इन्फ्रास्ट्रक्चर का प्रबंधन करता है।
- **NGINX-उन्मुख**: NGINX को ध्यान में रखकर बनाया गया है।
## आर्किटेक्चर
यह प्रोजेक्ट कई मुख्य मॉड्यूल के साथ संरचित है:
- `src/app.js`, `src/main.js`, `src/routes.js`: मुख्य Express.js सर्वर फ़ाइलें।
- `src/deploy.js`: चल रही सेवा को अपडेट करता है।
- `src/new-image.js`: निर्धारित कार्यों के आधार पर वर्चुअल मशीन इमेज बनाता और बनाए रखता है।
- `src/new-instance.js`: `configurations/instances.js` में परिभाषाओं के अनुसार नए इंस्टेंस बनाता है।
- `src/renew-certificates.js`: SSL प्रमाणपत्र नवीनीकरण का प्रबंधन करता है।
- `src/items.js`: वॉल्ट प्रबंधन उपयोगिताएँ।
- `src/logger.js` और `utils.js`: उपयोगिता कोड।
- `templates/`: EJS टेम्पलेट फ़ाइलें।
- `configurations/`: इंस्टेंस और इमेज कॉन्फ़िगरेशन परिभाषाएँ।
## शुरुआत करना
1. अपने Bitwarden वॉल्ट के अनुसार `.env` में पर्यावरण चर कॉन्फ़िगर करें।
2. `npm install` और `npm run dev` चलाएँ।
## उपयोग
अपने शेल में `ALIAJS_AUTHORIZATION` पर्यावरण चर सेट करें।
**चल रही सेवा को अपडेट करें:**
```bash
curl -v -N --header "Authorization: ${ALIAJS_AUTHORIZATION}" "https://aliajs-production.rotat.io/deploy?checkout=${CHECKOUT}&service_name=aliajs&tier=production"
```
**नया इंस्टेंस शुरू करें:**
```bash
curl -v -N --header "Authorization: ${ALIAJS_AUTHORIZATION}" "https://aliajs-production.rotat.io/new-instance?address=1.1.1.1&checkout=${CHECKOUT}&instance_name=aliajs-production&replace=false"
```
new-instance के लिए क्वेरी पैरामीटर:
- `address`: क्लाउड प्रदाता से स्थायी IP का अनुरोध करने के लिए `allocate`, या एक विशिष्ट IP।
- `ephemeral`: एक अद्वितीय DNS के साथ नया अल्पकालिक इंस्टेंस बनाएँ (डिफ़ॉल्ट `false`)।
- `exclude`: ऑपरेशन प्रकारों को फ़िल्टर करें (जैसे, `exclude=backup`)।
- `replace`: वर्तमान चल रहे इंस्टेंस को बदलें (डिफ़ॉल्ट `false`)।
- `target`: विशिष्ट ऑपरेशन प्रकारों तक फ़िल्टर करें (जैसे, `target=initial&target=restore`)।
## सीमाएँ
- बड़ी ऑपरेशन-इन्फ्रास्ट्रक्चर टीमों के लिए अभिप्रेत नहीं है।
- अभी तक किसी समुदाय द्वारा अच्छी तरह समर्थित नहीं है।
यह प्रोजेक्ट प्रारंभिक विकास में है और महत्वपूर्ण रूप से बदल सकता है।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.