سجل Pulumi هو الفهرس العالمي لكل ما يمكنك القيام به مع Pulumi. منزل pulumi.com/registry.
نحن حريصون دائمًا على توسيع هذا الفهرس مع حزم Pulumi الجديدة. سواء كنت ترغب في تأليف مزود أصلي جديد ، أو سد مزودًا من النظام الإيكولوجي Terraform ، أو إنشاء مكون سحابي ذو أفضل الممارسات والافتراضات المعقولة المدمجة ، نود أن نعمل معك لإدراجها على سجل Pulumi. للبدء ، استخدم دليلنا على تأليف حزمة Pulumi الخاصة بك.
لنشر حزمة تم صيانتها على المجتمع على سجل Pulumi كعضو في المجتمع:
docs/_index.md ، والتي يجب أن تحتوي على ملخص لغرض الموفر (المطلوب) جنبا إلى جنب مع عينة رمز (مفضل). سيتم عرض هذا الملف كصفحة الفهرس لمزودك (مثال).docs/installation-configuration.md . سيتم عرض هذا الملف كصفحة التثبيت والتكوين لمزودك (مثال).للحصول على المساعدة ، يرجى التواصل مع Slack Pulumi Community أو الاتصال بنا عبر نموذج الاتصال هذا.
بمجرد أن يقدم عضو المجتمع العلاقات العامة لإضافة المزود إلى السجل ، يجب على أحد موظفي Pulumi إجراء الخطوات التالية:
مراجعة العلاقات العامة. تأكد من أن العلاقات العامة قد تم تربيتها إذا لزم الأمر قبل الاندماج. إذا طيب ، دمج.
بمجرد دمج العلاقات العامة ، ستقوم المهمة المجدولة بالتقاط التغييرات وإنشاء العلاقات العامة لإضافة بيانات تعريف الحزمة إلى السجل. سيتضمن Metadata Pr (مثال) الملفات التالية ، على الأقل:
data/registry/${PROVIDER}.yaml والتي تتضمن بيانات تعريف منظمة حول المزود. يتم تضمين هذا الملف دائمًا مع كل العلاقات العامة التي يتم إنشاؤها لإصدار جديد.themes/default/content/registry/packages/${PROVIDER}/installation-configuration.md ، كما هو موضح أعلاه. يجب تضمين هذا الملف في الإصدار الأول ، ولكن سيتم تضمينه فقط في PRS اللاحقة إذا تغير المحتوى.themes/default/content/registry/packages/exoscale/_index.md ، كما هو موضح أعلاه. يجب تضمين هذا الملف في الإصدار الأول ، ولكن سيتم تضمينه فقط في PRS اللاحقة إذا تغير المحتوى.اختياريا ، قد يتضمن العلاقات العامة ملفات محتوى إضافية مثل الإرشادات إذا كانت موجودة في الريبو المنبع.
دمج العلاقات العامة إذا كان يبدو على ما يرام.
في Pulumi/Docs ، يتم تشغيل المهمة المجدولة كل ساعة وستلتقط أي تغييرات في هذا الريبو ، وإنشاء ملفات من مخطط المزود data/registry/${PROVIDER}.yaml ، ونشر إلى pulumi.com.
تفتقر هذه المهمة المجدولة حاليًا إلى المراقبة الكافية ، ويجب مراقبتها للتأكد من أنها تعمل بشكل صحيح حتى الانتهاء . (إذا فشلت ، فسوف تمنع جميع التحديثات إلى Pulumi.com ، بما في ذلك تسويق صفحات المستندات التي تم الحفاظ عليها يدويًا.)
هذا المستودع هو وحدة Hugo التي تتضاعف كخادم تطوير لتسهيل العمل على الصفحات التي تشكل سجل Pulumi. أنه يحتوي على جميع ملفات Hugo content layouts ، JavaScript ، CSS ، ومكونات الويب. تضم ما تراه في https://pulumi.com/registry
نقوم ببناء حزم JavaScript و CSS التي تعمل على تشغيل سجل Pulumi هنا ، ضمن themes/default/theme . إذا كنت تقوم بإجراء تغييرات على التصميم على طول الجوانب ، فاستخدم make serve-all لتمكين إعادة التحميل الساخنة لكل من الأصول و CSS/JS.
نقوم ببناء موقع Pulumi بشكل ثابت مع Hugo ، وإدارة تبعيات Node.js مع الغزل ، واكتب معظم وثائقنا في Markdown. فيما يلي قائمة بالأدوات التي ستحتاجها لتشغيل موقع الويب محليًا:
يجب تثبيت المتطلبات المسبقة المذكورة أعلاه على جهازك لخدمة الموقع.
قم بتشغيل make ensure التحقق من الأدوات والإصدارات المناسبة ، وتثبيت أي تبعيات. سوف يعلمك البرنامج النصي إذا كنت تفتقد أي شيء مهم.
make ensure
بمجرد أن ينجح ذلك ، قم بتشغيل make build_assets لبناء الأصول التي يعتمد عليها الموقع. يجب القيام بذلك قبل المرة الأولى التي تخدم فيها هذا الريبو بحيث توجد الأصول على جهازك المحلي.
make build-assets
بمجرد تشغيل ما سبق بنجاح ، تكون مستعدًا لتشغيل خادم التطوير:
make serve
اختياريا ، استخدم make serve-all لتمكين إعادة تحميل كل من الصفحات وأصول CSS/JS.
لا يحتوي هذا المستودع على محتوى حزم مستندات API. ننشئ هذه الصفحات في وقت الانتشار. من أجل تقديم مستندات API للحزمة محليًا ، ستحتاج إلى إنشاء صفحات مستندات API لذلك. يمكن إنشاء مستندات API للحزم عند الطلب باستخدام أداة resourcedocsgen .
cd tools/resourcedocsgen
go build -o "${GOPATH}/bin/resourcedocsgen" .
على سبيل المثال ، يمكنك إنشاء مستندات API لحزمة معينة عن طريق تشغيل أداة ResourcedOcsGen وتمريرها اسم الحزمة على النحو التالي:
resourcedocsgen docs registry <package_name> --baseDocsOutDir "./themes/default/content/registry/packages"
Run resourcedocsgen --help للحصول على المساعدة فيما يتعلق باستخدامه أو رؤية resourcedocsgen ReadMe.
قبل إرسال طلب سحب ، قم بتشغيل Linter محليًا:
make lint عندما تكون مستعدًا لتقديم طلب سحب ، تأكد من إزالة أي شيء لا يبدو أنه ينتمي ( go.mod / go.sum .
ملحوظة
يتطلب حاليًا جهازًا بحد أدنى 32 جيجابايت من الذاكرة (64 جيجابايت مفضلة) لبناء السجل بالكامل بما في ذلك جميع Pacakges.
بمجرد الموافقة على العلاقات العامة الخاصة بك ودمجها في الفرع الافتراضي لهذا المستودع ، سيتم نشره في موقع التسجيل (https://pulumi.com/registry).