منصوبے کے بارے میں
# 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"
```
نئی مثال کے لیے استعلامی پیرامیٹرز:
- `address`: `allocate` کلاؤڈ فراہم کنندہ سے مستقل IP کی درخواست کرنے کے لیے، یا ایک مخصوص 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.