// 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