Бесом - метла, сделанная из веточек, привязанной к палке. Метлы и базомы используются для защиты, для оттеснения злых духов и очищения ритуальных пространств. Кроме того, Besom - это Scala SDK, которая позволяет вам писать программы Pulumi в Scala, кстати.

Besom Scala SDK для Pulumi позволяет использовать полную мощность инфраструктуры Pulumi в качестве кодовой платформы с использованием языка программирования Scala. Поддержка Scala в настоящее время находится в публичной бета -версии .
Пулуми является зарегистрированным товарным знаком корпорации Pulumi.
Начните с BESOM : развернуть простое приложение в AWS, Azure, Google Cloud или Kubernetes, используя BEOM, чтобы описать желаемую инфраструктуру с использованием SCALA.
BEOM DOCS : Узнайте о концепциях 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 Language, запустите следующее:
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Развернуть в облаке :
Запустите pulumi up , чтобы донести свой код в облако:
pulumi up Это делает все облачные ресурсы, объявляемые в вашем коде. Просто внесите изменения в ваш проект, и последующие pulumi up вычислит минимальное различие для развертывания ваших изменений.
Используйте свою программу :
Теперь, когда ваш код развернут, вы можете взаимодействовать с ним. В приведенном выше примере мы можем найти название недавно предоставленного ведра S3:
pulumi stack output bucketNameУничтожьте свои ресурсы :
После того, как вы закончите, вы можете удалить все ресурсы, созданные вашей программой:
pulumi destroy -yЧтобы узнать больше, зайдите на Virtuslab.github.io/besom, чтобы получить больше информации, включая учебные пособия, примеры, а также концепции модели архитектуры и программирования.
Pulumi.yaml - ваш основной файл Pulumi, объясненный здесь.
project.scala -это файл, содержащий ваши зависимости для Scala-Cli.
Main.scala - это точка входа для вашей инфраструктуры в качестве кода.
Ресурсы, созданные в блоке Pulumi.run { ... } будут созданы Pulumi.
Простой пример с использованием CLA 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 - это рекомендуемый инструмент сборки, также поддерживаются другие инструменты. BEOM будет распознавать программы Scala CLI и SBT и автоматически перекомпилировать их без дальнейшей конфигурации. Поддерживаемые версии:
Другие Pulumi.yaml сборки поддерживаются с помощью опции runtime.options.binary
name : myproject
runtime :
name : scala
options :
binary : target/myproject-1.0-SNAPSHOT-jar-with-dependencies.jar Besom использует Scala-Cli для компиляции проекта и выполнения.
Чтобы настроить поддержку IDE для инфраструктурного проекта, используя BEOM выполнить эту команду в каталоге, в котором существуют файлы проектов BEOM:
scala-cli setup-ide . В результате этой команды в каталоге проекта будет создан каталог .bsp .
При открытии как Intellij Idea, так и Metals должны автоматически распознавать проект и соответствующим образом настроить IDE.
SBT, Gradle и Maven также поддерживаются вне коробки, но не рекомендуются из-за более медленной скорости итерации. Использование поддержки sbt , gradle или mvn предлагается для ситуаций, когда управляемая инфраструктура добавляется в уже существующий проект, который использует SBT в качестве основного инструмента сборки.
Настройка IDE для sbt , gradle или mvn работает автоматически как с идеей, так и с металлами.
Мельница еще не поддерживается.
Посетите Anforming.md для получения информации о строительстве BESOM из источника или вклад в улучшения.