Besom : una escoba hecha de ramitas atadas alrededor de un palo. Las escobas y los besoms se usan para protección, para evitar los espíritus malignos y la limpieza de espacios rituales. Además, Besom es Scala SDK que le permite escribir programas Pulumi en Scala, por cierto.
Besom Scala SDK para Pulumi le permite aprovechar toda la potencia de la infraestructura de Pulumi como plataforma de código utilizando el lenguaje de programación Scala. El soporte de Scala se encuentra actualmente en beta pública .
Pulumi es una marca registrada de Pulumi Corporation.
Comience con Besom : implementa una aplicación simple en AWS, Azure, Google Cloud o Kubernetes usando Besom para describir la infraestructura deseada usando Scala.
Besom Docs : Aprenda sobre los conceptos de Besom, siga las guías de usuario y consulte la documentación de referencia.
Ejemplos : Explore los ejemplos de Scala en muchas nubes y escenarios, incluidos contenedores, sin servidor e infraestructura.
Instale Pulumi CLI :
Para instalar la última versión de Pulumi, ejecute lo siguiente (consulte las instrucciones de instalación completas para opciones de instalación adicionales):
curl -fsSL https://get.pulumi.com/ | sh
Instale Scala CLI :
Para instalar la última versión de Scala CLI, ejecute lo siguiente (consulte las instrucciones de instalación para opciones de instalación adicionales):
curl -sSLf https://scala-cli.virtuslab.org/get | sh
Instale el complemento de lenguaje Scala en Pulumi :
Para instalar la última versión de complemento de idioma Scala, ejecute lo siguiente:
pulumi plugin install language scala 0.3.2 --server github://api.github.com/VirtusLab/besom
Crea un nuevo proyecto :
Puede comenzar a escribir su código BESOM en este momento, pero para ayudarlo a configurar Besom viene con plantillas de Pulumi.
Puede comenzar con el pulumi new
:
mkdir besom-demo && cd besom-demo
pulumi new https://github.com/VirtusLab/besom/tree/v0.3.2/templates/aws
Implementar en la nube :
Ejecute pulumi up
para llevar su código a la nube:
pulumi up
Esto hace que todos los recursos en la nube se declaren en su código. Simplemente realice ediciones en su proyecto, y pulumi up
S posterior calculará la diferencia mínima para implementar sus cambios.
Use su programa :
Ahora que su código está implementado, puede interactuar con él. En el ejemplo anterior, podemos encontrar el nombre del cubo S3 recién aprovisionado:
pulumi stack output bucketName
Destruye tus recursos :
Una vez que haya terminado, puede eliminar todos los recursos creados por su programa:
pulumi destroy -y
Para obtener más información, diríjase a virtuslab.github.io/besom para obtener mucha más información, incluidos el tutorial, los ejemplos y los conceptos del modelo de arquitectura y programación.
Pulumi.yaml
es su archivo principal de Pulumi, explicado aquí.
project.scala
es el archivo que contiene sus dependencias para Scala-Cli.
Main.scala
es el punto de entrada para su infraestructura como código.
Los recursos creados en el bloque Pulumi.run { ... }
serán creados por Pulumi.
Un ejemplo simple usando 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
)
}
Nota
Preste atención a sus dependencias, solo use org.virtuslab::besom-*
y no com.pulumi:*
. Besom no depende de Pulumi Java SDK , es una implementación completamente separada.
Stack
de su programa.Context
. Context
está disponible como un determinado (implícitamente) en el bloque Pulumi.run
, pero también puede requerirlo explícitamente en cualquiera de sus funciones (using Context)
. Scala CLI es la herramienta de compilación recomendada, también se admiten otras herramientas. Besom reconocerá los programas Scala y SBT y los recompensará automáticamente sin ninguna configuración adicional. Las versiones compatibles son:
Otras herramientas de compilación se admiten a través de la opción de configuración de tiempo Pulumi.yaml
runtime.options.binary
name : myproject
runtime :
name : scala
options :
binary : target/myproject-1.0-SNAPSHOT-jar-with-dependencies.jar
Besom usa Scala-Cli para la compilación y ejecución del proyecto.
Para configurar el soporte IDE para un proyecto de infraestructura utilizando Besom, ejecute este comando dentro del directorio en el que existen archivos del proyecto BESOM:
scala-cli setup-ide .
Como resultado de este comando, se creará un directorio .bsp
dentro del directorio del proyecto.
Cuando se abre, tanto la idea de IntelliJ como los metales deben reconocer automáticamente el proyecto y configurar el IDE en consecuencia.
SBT, Gradle y Maven también son compatibles fuera de la caja, pero no se recomiendan debido a la velocidad de iteración más lenta. El uso de soporte sbt
, gradle
o mvn
se sugiere para situaciones en las que se agrega infraestructura administrada a un proyecto ya existente que utiliza SBT como la herramienta de compilación principal.
La configuración IDE para sbt
, gradle
o mvn
funciona automáticamente con la idea de IntelliJ y los metales.
Mill aún no es compatible.
Visite contribuir.md para obtener información sobre la construcción de Besom desde la fuente o las mejoras contribuyentes.