Besom - مكنسة مصنوعة من الأغصان مربوطة حول عصا. تستخدم المكانس والبيومس للحماية ، لدرء الأرواح الشريرة ، وتطهير المساحات الطقسية. أيضًا ، Besom هو Scala SDK الذي يسمح لك بكتابة برامج Pulumi في Scala ، بالمناسبة.

يتيح لك Besom Scala SDK لـ Pulumi الاستفادة من القوة الكاملة للبنية التحتية Pulumi كبرنامج رمز باستخدام لغة برمجة Scala. دعم Scala حاليًا في الإصدار التجريبي العام .
Pulumi هي علامة تجارية مسجلة لشركة Pulumi Corporation.
ابدأ مع BESOM : نشر تطبيقًا بسيطًا في AWS أو Azure أو Google Cloud أو Kubernetes باستخدام BESOM لوصف البنية التحتية المطلوبة باستخدام Scala.
مستندات BESOM : تعرف على مفاهيم BESOM ، واتبع دليل المستخدم ، واستشر الوثائق المرجعية.
أمثلة : تصفح أمثلة Scala عبر العديد من الغيوم والسيناريوهات بما في ذلك الحاويات ، الخادم ، والبنية التحتية.
تثبيت Pulumi Cli :
لتثبيت أحدث إصدار من Pulumi ، قم بتشغيل ما يلي (انظر تعليمات التثبيت الكاملة لخيارات التثبيت الإضافية):
curl -fsSL https://get.pulumi.com/ | shتثبيت Scala CLI :
لتثبيت أحدث إصدار من Scala CLI ، قم بتشغيل ما يلي (انظر تعليمات التثبيت لخيارات التثبيت الإضافية):
curl -sSLf https://scala-cli.virtuslab.org/get | shقم بتثبيت المكون الإضافي لغة Scala في Pulumi :
لتثبيت أحدث إصدار مكون إضافي لغة Scala ، قم بتشغيل ما يلي:
pulumi plugin install language scala 0.3.2 --server github://api.github.com/VirtusLab/besomإنشاء مشروع جديد :
يمكنك البدء في كتابة رمز BESOM الخاص بك في هذه المرحلة ، ولكن لمساعدتك في إعداد BESOM يأتي مع قوالب Pulumi.
يمكنك البدء في أمر pulumi new :
mkdir besom-demo && cd besom-demopulumi new https://github.com/VirtusLab/besom/tree/v0.3.2/templates/awsانتشر على السحابة :
Run pulumi up للحصول على الكود الخاص بك إلى السحابة:
pulumi up هذا يجعل جميع الموارد السحابية معلنة في الكود الخاص بك. ما عليك سوى إجراء تعديلات لمشروعك ، وسوف يقوم pulumi up Sense بإجراء الحد الأدنى من Diff لنشر التغييرات الخاصة بك.
استخدم برنامجك :
الآن بعد نشر الكود الخاص بك ، يمكنك التفاعل معه. في المثال أعلاه ، يمكننا العثور على اسم دلو S3 الموفر حديثًا:
pulumi stack output bucketNameتدمير مواردك :
بعد الانتهاء ، يمكنك إزالة جميع الموارد التي أنشأتها برنامجك:
pulumi destroy -yلمعرفة المزيد ، توجه إلى VirtusLab.github.io/besom لمزيد من المعلومات ، بما في ذلك البرنامج التعليمي والأمثلة ومفاهيم نموذج الهندسة المعمارية والبرمجة.
Pulumi.yaml هو ملف Pulumi الرئيسي الخاص بك ، الموضح هنا.
project.scala هو الملف الذي يحتوي على تبعياتك لـ Scala-Cli.
Main.scala هي نقطة الدخول للبنية التحتية الخاصة بك كرمز.
سيتم إنشاء الموارد التي تم إنشاؤها في Pulumi.run { ... } بواسطة Pulumi.
مثال بسيط باستخدام Scala CLI:
//> using scala " 3.3.1 "
//> using plugin " org.virtuslab::besom-compiler-plugin:0.3.2 "
//> using dep " org.virtuslab::besom-core:0.3.2 "
//> using dep " org.virtuslab::besom-aws:6.31.0-core.0.3 "
import besom . *
import besom . api . aws
@ main def run = Pulumi .run {
val bucket = aws.s3. Bucket ( " my-bucket " )
Stack .exports(
bucketName = bucket.bucket
)
}ملحوظة
يرجى الانتباه إلى تبعياتك ، فقط استخدم org.virtuslab::besom-* وليس com.pulumi:* . لا يعتمد Besom على Pulumi Java SDK ، إنه تطبيق منفصل تمامًا.
Stack النهائي لبرنامجك.Context . يتوفر Context على أنه معين (ضمنيًا) في كتلة Pulumi.run ، ولكن يمكنك أيضًا أن تطلبها بشكل صريح في أي من وظائفك (using Context) . Scala CLI هي أداة الإنشاء الموصى بها ، يتم دعم الأدوات الأخرى أيضًا. سوف يتعرف BESOM على برامج Scala CLI و SBT وإعادة ترجمةها تلقائيًا دون أي تكوين آخر. الإصدارات المدعومة هي:
يتم دعم أدوات البناء الأخرى عبر runtime.options.binary Configuration خيار يمكن أن يشير إلى جرة تم إنشاؤها مسبقًا في Pulumi.yaml ، على سبيل المثال:
name : myproject
runtime :
name : scala
options :
binary : target/myproject-1.0-SNAPSHOT-jar-with-dependencies.jar يستخدم Besom Scala-Cli لتجميع المشروع والتنفيذ.
لإعداد دعم IDE لمشروع البنية التحتية باستخدام BESOM ، قم بتنفيذ هذا الأمر داخل الدليل الذي توجد فيه ملفات مشروع BESOM:
scala-cli setup-ide . نتيجة لهذا الأمر ، سيتم إنشاء دليل .bsp داخل دليل المشروع.
عند فتحه ، يجب على كل من Idea and Metals التعرف تلقائيًا على المشروع وإعداد IDE وفقًا لذلك.
يتم دعم SBT و Gradle و Maven أيضًا خارج الصندوق ، ولكن لا ينصح بها بسبب سرعة التكرار البطيئة. يُقترح استخدام دعم sbt أو gradle أو mvn للمواقف التي تتم فيها إضافة البنية التحتية المدارة إلى مشروع موجود بالفعل يستخدم SBT كأداة بناء رئيسية.
يعمل إعداد IDE لـ sbt أو gradle أو mvn تلقائيًا مع كل من Idea and Metals.
لم يتم دعم مطحنة بعد.
تفضل بزيارة المساهمة.