
مكوّن CLI الخاص بـ purpleteam
npm install -g purpleteam
قم باستنساخ هذا المستودع.
انسخ ملف config/config.example.json إلى إما config/config.local.json أو config/config.cloud.json اعتمادًا على البيئة التي تخطط لاستخدامها.
استخدم ملف config/config.js للتوثيق والمزيد من الأمثلة.
loggers.testerProgress.dirname قم بتكوين هذه القيمة.
purpleteamApi إذا كنت تخطط لاستخدام البيئة local، يمكنك الاحتفاظ بقيم الخصائص الافتراضية. إذا كنت تخطط لاستخدام البيئة cloud، سيتم تزويدك بهذه المعلومات عند التسجيل للحصول على حساب purpleteam.
testerFeedbackComms.medium الاستقصاء الطويل (lp) مدعوم في كل من البيئتين local وcloud. الأحداث المرسلة من الخادم (sse) مدعومة فقط في البيئة local بسبب قيود AWS. كل من lp وsse هما في الوقت الفعلي. كلا التطبيقين لهما إيجابيات وسلبيات.
استخدام sse هو اتصال أحادي الاتجاه بعد الاشتراك الأولي من CLI إلى المنسق. يتم استخدام Redis pub/sub بين المختبرين والمنسق لنشر ملاحظات المختبرين. إذا تم إيقاف CLI (غير مشترك) في أي نقطة أثناء تشغيل اختبار الواجهة الخلفية، فسيتم فقدان الأحداث.
استخدام lp هو اتصال طلب-استجابة. يتم تقديم طلب ولا يتم الرد عليه إلا عندما تكون هناك رسائل ملاحظات مختبرين متاحة، أو يتم تجاوز المهلة المحددة للتطبيق (بدلاً من AWS Api Gateway). بمجرد أن يستلم CLI مجموعة (واحدة إلى عدة) من رسائل ملاحظات المختبرين، فإنه يقدم طلبًا آخر إلى المنسق (إذا كان يعمل في بيئة local) أو API (إذا كان يعمل في بيئة cloud). يتم استخدام Redis pub/sub بين المختبرين والمنسق لنشر ملاحظات المختبرين.
طالما تم تقديم طلب CLI الأولي لملاحظات المختبرين فور بدء الاختبار، فسيتم حفظ رسائل ملاحظات المختبرين في الذاكرة في قوائم Redis. هذا يعني أنه إذا تم إيقاف CLI مؤقتًا أثناء تشغيل اختبار، فعند إعادة تشغيله، سيستلم رسائل ملاحظات المختبرين التي وصلت إلى المنسق عندما لم يكن CLI قيد التشغيل... بشرط أن يستمر المنسق في العمل.
خلفية إضافية: قد يتغير هذا في المستقبل، WebSockets هي أيضًا خيار قد ننفذه في المستقبل، لكن تنفيذ WebSockets يعني أنه سيتعين علينا تغيير نهج المصادقة بأكمله. البنية التحتية السحابية التي اخترناها AWS Api Gateway لا تدعم البث ولا تدعم تدفق منح بيانات اعتماد العميل OAuth مع مجمعات مستخدمي Cognito.
purpleteamAuth إذا كنت تخطط لاستخدام البيئة local، يمكنك الاحتفاظ بقيم الخصائص الافتراضية. إذا كنت تخطط لاستخدام البيئة cloud، سيتم تزويدك بهذه المعلومات عند التسجيل للحصول على حساب purpleteam.
buildUserConfig.fileUri قم بتكوين هذه القيمة إذا كنت لا تريد تمريرها يدويًا كوسيطة لـ CLI. هذا هو ملف Job الذي قمت بتكوينه لتحديد تفاصيل نظامك تحت الاختبار (SUT).
outcomes.dir قم بتكوين هذه القيمة. هذا دليل من اختيارك حيث سيتم حفظ ملفات النتائج من المنسق (إذا كان يعمل في بيئة local) أو API (إذا كان يعمل في بيئة cloud).