Besom - Uma vassoura feita de galhos amarrados em torno de um graveto. Vassouras e besoms são usados para proteção, para afastar os maus espíritos e a limpeza de espaços rituais. Além disso, o Besom é o Scala SDK que permite escrever programas Pulumi em Scala, aliás.
O Besom Scala SDK para Pulumi permite aproveitar toda a potência da infraestrutura de Pulumi como plataforma de código usando a linguagem de programação Scala. O suporte da Scala está atualmente na versão beta pública .
Pulumi é uma marca registrada da Pulumi Corporation.
Comece a Besom : implante um aplicativo simples na AWS, Azure, Google Cloud ou Kubernetes usando o BESOM para descrever a infraestrutura desejada usando o Scala.
Besom Docs : Aprenda sobre conceitos Besom, siga-se-guias e consulte a documentação de referência.
Exemplos : Procure exemplos de Scala em muitas nuvens e cenários, incluindo contêineres, sem servidor e infraestrutura.
Instale a CLI Pulumi :
Para instalar a versão mais recente do Pulumi, execute o seguinte (consulte as instruções completas de instalação para obter opções de instalação adicionais):
curl -fsSL https://get.pulumi.com/ | sh
Instale o Scala CLI :
Para instalar a versão mais recente da CLI do Scala, execute o seguinte (consulte as instruções de instalação para obter opções de instalação adicionais):
curl -sSLf https://scala-cli.virtuslab.org/get | sh
Instale o plug -in de linguagem Scala em Pulumi :
Para instalar a versão mais recente do plug -in de idioma do Scala, execute o seguinte:
pulumi plugin install language scala 0.3.2 --server github://api.github.com/VirtusLab/besom
Crie um novo projeto :
Você pode começar a escrever seu código Besom neste momento, mas para ajudá -lo a configurar o Besom vem com modelos Pulumi.
Você pode começar com o pulumi new
:
mkdir besom-demo && cd besom-demo
pulumi new https://github.com/VirtusLab/besom/tree/v0.3.2/templates/aws
Implantar para a nuvem :
Execute pulumi up
para levar seu código para a nuvem:
pulumi up
Isso faz com que todos os recursos da nuvem declarados em seu código. Simplesmente faça edições em seu projeto e pulumi up
subsequente calculará o diferencial mínimo para implantar suas alterações.
Use seu programa :
Agora que seu código está implantado, você pode interagir com ele. No exemplo acima, podemos encontrar o nome do recém -provisionado S3 Bucket:
pulumi stack output bucketName
Destrua seus recursos :
Depois de terminar, você pode remover todos os recursos criados pelo seu programa:
pulumi destroy -y
Para saber mais, acesse o virtuslab.github.io/besom para muito mais informações, incluindo tutorial, exemplos e conceitos de modelo de arquitetura e programação.
Pulumi.yaml
é o seu principal arquivo Pulumi, explicado aqui.
project.scala
é o arquivo que contém suas dependências para Scala-Cli.
Main.scala
é o ponto de entrada para sua infraestrutura como código.
Os recursos criados no bloco Pulumi.run { ... }
serão criados por Pulumi.
Um exemplo simples usando o 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
)
}
Observação
Por favor, preste atenção às suas dependências, use apenas org.virtuslab::besom-*
e não com.pulumi:*
. O Besom não depende do Pulumi Java SDK , é uma implementação completamente separada.
Stack
do seu programa.Context
. Context
está disponível como um dado (implicitamente) no bloco Pulumi.run
, mas você também pode exigir explicitamente em qualquer uma das suas funções (using Context)
. CLI da Scala é a ferramenta de construção recomendada, outras ferramentas também são suportadas. A Besom reconhecerá os programas Scala CLI e SBT e os recompilará automaticamente sem nenhuma configuração adicional. As versões suportadas são:
Outras ferramentas de compilação são suportadas pela opção de configuração de tempo Pulumi.yaml
runtime.options.binary
name : myproject
runtime :
name : scala
options :
binary : target/myproject-1.0-SNAPSHOT-jar-with-dependencies.jar
Besom usa o Scala-Cli para compilação e execução do projeto.
Para configurar o suporte IDE para um projeto de infraestrutura usando o Besom Execute este comando dentro do diretório no qual existem arquivos do projeto Besom:
scala-cli setup-ide .
Como resultado deste comando, um diretório .bsp
será criado dentro do diretório do projeto.
Quando aberta, a idéia e a Intellij e os metais devem reconhecer automaticamente o projeto e configurar o IDE de acordo.
SBT, Gradle e Maven também são suportados para fora da caixa, mas não são recomendados devido à velocidade de iteração mais lenta. O uso do suporte sbt
, gradle
ou mvn
é sugerido para situações em que a infraestrutura gerenciada está sendo adicionada a um projeto já existente que usa o SBT como a ferramenta de construção principal.
A configuração do IDE para sbt
, gradle
ou mvn
funciona automaticamente com a Intellij Idea e os metais.
Mill ainda não foi suportado.
Visite Contribuindo.md para obter informações sobre a construção de Besom a partir da fonte ou melhorias contribuintes.