#!/usr/bin/env bash # # Copyright (c) 2019 Intel Corporation # # SPDX-License-Identifier: Apache-2.0 # set -o errexit set -o pipefail set -o nounset export AZURE_HTTP_USER_AGENT="GITHUBACTIONS_${GITHUB_ACTION_NAME}_${GITHUB_REPOSITORY}" LOCATION=${LOCATION:-westus2} DNS_PREFIX=${DNS_PREFIX:-kata-deploy-${GITHUB_SHA:0:10}} CLUSTER_CONFIG=${CLUSTER_CONFIG:-/kubernetes-containerd.json} function die() { msg="$*" echo "ERROR: $msg" >&2 exit 1 } function destroy_aks() { set +x export KUBECONFIG="${PWD}/_output/${DNS_PREFIX}/kubeconfig/kubeconfig.${LOCATION}.json" az login --service-principal -u "$AZ_APPID" -p "$AZ_PASSWORD" --tenant "$AZ_TENANT_ID" az group delete --name "$DNS_PREFIX" --yes --no-wait az logout } function setup_aks() { [[ -z "$AZ_APPID" ]] && die "no Azure service principal ID provided" [[ -z "$AZ_PASSWORD" ]] && die "no Azure service principal secret provided" [[ -z "$AZ_SUBSCRIPTION_ID" ]] && die "no Azure subscription ID provided" [[ -z "$AZ_TENANT_ID" ]] && die "no Azure tenant ID provided" aks-engine deploy --subscription-id "$AZ_SUBSCRIPTION_ID" \ --client-id "$AZ_APPID" --client-secret "$AZ_PASSWORD" \ --location "$LOCATION" --dns-prefix "$DNS_PREFIX" \ --api-model "$CLUSTER_CONFIG" --force-overwrite export KUBECONFIG="${PWD}/_output/${DNS_PREFIX}/kubeconfig/kubeconfig.${LOCATION}.json" # wait for the cluster to be settled: kubectl wait --timeout=10m --for=condition=Ready --all nodes # make sure coredns is up before moving forward: kubectl wait --timeout=10m -n kube-system --for=condition=Available deployment/coredns }