Besom-一根包木纏在棍子上的樹枝製成的掃帚。掃帚和貝斯木絲用於保護,防止邪靈以及清潔儀式空間。另外,BESOM是Scala SDK,允許您偶然地在Scala中編寫Pulumi程序。
Besom Scala SDK用於PULUMI,可讓您使用Scala編程語言利用Pulumi基礎架構作為代碼平台的全部功能。 Scala支持目前正在公共Beta中。
Pulumi是Pulumi Corporation的註冊商標。
開始使用Besom :使用Besom在AWS,Azure,Google Cloud或Kubernetes中部署一個簡單的應用程序,以描述使用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
在Pulumi中安裝Scala語言插件:
要安裝最新的Scala語言插件版本,請運行以下內容:
pulumi plugin install language scala 0.3.2 --server github://api.github.com/VirtusLab/besom
創建一個新項目:
您可以在這一點上開始編寫Besom代碼,但是為了幫助您設置Besom,請帶有Pulumi模板。
您可以開始使用pulumi new
Command:
mkdir besom-demo && cd besom-demo
pulumi new https://github.com/VirtusLab/besom/tree/v0.3.2/templates/aws
部署到雲:
運行pulumi up
以使您的代碼進入雲:
pulumi up
這使所有云資源在您的代碼中聲明。只需對您的項目進行編輯,然後隨後的pulumi up
S將計算最小的差異以部署更改。
使用您的程序:
現在,您的代碼已部署,您可以與之進行交互。在上面的示例中,我們可以找到新提供的S3存儲桶的名稱:
pulumi stack output bucketName
破壞您的資源:
完成後,您可以刪除程序創建的所有資源:
pulumi destroy -y
要了解更多信息,請轉到firtuslab.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
配置選項支持其他構建工具,該選項可以指向Pulumi.yaml
中的預先構建的JAR,例如:
name : myproject
runtime :
name : scala
options :
binary : target/myproject-1.0-SNAPSHOT-jar-with-dependencies.jar
Besom使用Scala-CLI進行項目彙編和執行。
為了在Besom Project Files的目錄內執行此命令,為基礎架構項目設置IDE支持:
scala-cli setup-ide .
由於此命令,將在項目目錄中創建.bsp
目錄。
打開時,Intellij Idea和Metals均應自動識別項目並相應地設置IDE。
SBT,Gradle和Maven也受到了接地外的支持,但由於迭代速度較慢而不建議使用。建議使用sbt
, gradle
或mvn
支持,以將託管基礎架構添加到現有的現有項目中,該項目使用SBT作為主要的構建工具。
sbt
, gradle
或mvn
的IDE設置會自動與Intellij Idea和Metals一起使用。
工廠尚未得到支持。
請訪問貢獻.MD,以獲取有關從源頭構建BESOM或貢獻改進的信息。