// Azure base package package azure import ( "alpha.dagger.io/dagger" "alpha.dagger.io/docker" "alpha.dagger.io/os" ) // Default Azure CLI version let defaultVersion = "2.27.1@sha256:1e117183100c9fce099ebdc189d73e506e7b02d2b73d767d3fc07caee72f9fb1" //Azure Config shared by all Azure packages #Config: { // AZURE tenant id tenantId: dagger.#Secret & dagger.#Input // AZURE subscription id subscriptionId: dagger.#Secret & dagger.#Input // AZURE app id for the service principal used appId: dagger.#Secret & dagger.#Input // AZURE password for the service principal used password: dagger.#Secret & dagger.#Input } // Azure Cli to be used by all Azure packages #CLI: { // Azure Config config: #Config // Azure CLI version to install version: string | *defaultVersion // Container image os.#Container & { image: docker.#Pull & { from: "mcr.microsoft.com/azure-cli:\(version)" } always: true command: """ az login --service-principal -u "$(cat /run/secrets/appId)" -p "$(cat /run/secrets/password)" -t "$(cat /run/secrets/tenantId)" az account set -s "$(cat /run/secrets/subscriptionId)" """ secret: { "/run/secrets/appId": config.appId "/run/secrets/password": config.password "/run/secrets/tenantId": config.tenantId "/run/secrets/subscriptionId": config.subscriptionId } } }