Besom- 막대기 주위에 묶인 나뭇 가지로 만든 빗자루. 빗자루와 BESOM은 보호, 악령을 물리 치고 의식 공간의 정화에 사용됩니다. 또한 Besom은 Scala SDK로, Scala에서 Pulumi 프로그램을 우연히 작성할 수 있습니다.

Pulumi의 Besom Scala SDK를 사용하면 Scala 프로그래밍 언어를 사용하여 Code 플랫폼으로 Pulumi 인프라의 전체 힘을 활용할 수 있습니다. Scala Support는 현재 공개 베타 에 있습니다.
Pulumi는 Pulumi Corporation의 등록 상표입니다.
Besom으로 시작하십시오 : Besom을 사용하여 AWS, Azure, Google Cloud 또는 Kubernetes에 간단한 응용 프로그램을 배포하여 Scala를 사용하는 원하는 인프라를 설명하십시오.
Besom Docs : Besom 개념에 대해 배우고 사용자 가이드를 따르고 참조 문서를 참조하십시오.
예 : 컨테이너, 서버리스 및 인프라를 포함한 많은 구름과 시나리오에서 스칼라 예제를 찾아보십시오.
Pulumi Cli 설치 :
최신 Pulumi 릴리스를 설치하려면 다음을 실행하십시오 (추가 설치 옵션은 전체 설치 지침 참조) :
curl -fsSL https://get.pulumi.com/ | shScala Cli 설치 :
최신 Scala CLI 릴리스를 설치하려면 다음을 실행하십시오 (추가 설치 옵션은 설치 지침 참조) :
curl -sSLf https://scala-cli.virtuslab.org/get | shpulumi에 Scala Language Plugin을 설치하십시오 .
최신 스칼라 언어 플러그인 릴리스를 설치하려면 다음을 실행하십시오.
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-demopulumi 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자세한 내용을 알아 보려면 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
)
}메모
의존성에주의를 기울이십시오. com.pulumi:* 가 아닌 org.virtuslab::besom-* 만 사용하십시오 . Besom은 Pulumi Java SDK에 의존하지 않으며 완전히 별도의 구현입니다.
Stack 구조에 포함시킴으로써 직접 또는 전이 적으로 (이에 의존하는 리소스를 참조하여) 평가가 트리거되도록하십시오.Context 에 대한 액세스가 필요합니다. Context Pulumi.run 블록에서 주어진 (암시 적으로) 사용할 수 있지만 (using Context) 기능을 사용하는 모든 기능에서도 명시 적으로 요구할 수도 있습니다. Scala CLI는 권장되는 빌드 도구이며 다른 도구도 지원됩니다. Besom은 Scala CLI 및 SBT 프로그램을 인식하고 추가 구성없이 자동 재 컴파일합니다. 지원되는 버전은 다음과 같습니다.
다른 빌드 도구는 runtime.options.binary 구성 옵션을 통해 지원됩니다 Pulumi.yaml
name : myproject
runtime :
name : scala
options :
binary : target/myproject-1.0-SNAPSHOT-jar-with-dependencies.jar Besom은 프로젝트 컴파일 및 실행에 Scala-Cli를 사용합니다.
BESOM을 사용하여 인프라 프로젝트에 대한 IDE 지원을 설정하려면 BESOM 프로젝트 파일이 존재하는 디렉토리 내 에서이 명령을 실행합니다.
scala-cli setup-ide . 이 명령의 결과로 .bsp 디렉토리가 프로젝트 디렉토리 내부에서 생성됩니다.
개설되면 Intellij 아이디어와 금속 모두 프로젝트를 자동으로 인식하고 그에 따라 IDE를 설정해야합니다.
SBT, Gradle 및 Maven은 또한 상자 외부에 지원되지만 반복 속도가 느리기 때문에 권장되지 않습니다 . sbt , gradle 또는 mvn 지원을 사용하는 것은 관리 인프라를 기본 빌드 도구로 사용하는 이미 기존 프로젝트에 추가되는 상황에 대해 제안됩니다.
sbt , gradle 또는 mvn 의 IDE 설정은 Intellij 아이디어 및 금속 모두에서 자동으로 작동합니다.
밀은 아직 지원되지 않았습니다.
소스의 구축 또는 기여 개선에 대한 정보는 Contributing.md를 방문하십시오.