This commit is contained in:
80
packer/azure/scripts/new-sku.sh
Executable file
80
packer/azure/scripts/new-sku.sh
Executable file
@@ -0,0 +1,80 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
OS=${OS:-"Ubuntu"}
|
||||
OS_VERSION=${OS_VERSION:-"18.04"}
|
||||
PUB_VERSION=${PUB_VERSION:-"v0.3.3"}
|
||||
VM_GENERATION=${VM_GENERATION:-"gen1"}
|
||||
[[ -n ${DEBUG:-} ]] && set -o xtrace
|
||||
|
||||
required_env_vars=(
|
||||
"AZURE_CLIENT_ID"
|
||||
"AZURE_CLIENT_SECRET"
|
||||
"AZURE_TENANT_ID"
|
||||
"KUBERNETES_VERSION"
|
||||
"OFFER"
|
||||
"OS"
|
||||
"OS_VERSION"
|
||||
"PUB_VERSION"
|
||||
"PUBLISHER"
|
||||
"SKU_TEMPLATE_FILE"
|
||||
"VM_GENERATION"
|
||||
)
|
||||
|
||||
for v in "${required_env_vars[@]}"
|
||||
do
|
||||
if [ -z "${!v}" ]; then
|
||||
echo "$v was not set!"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ! -f "$SKU_TEMPLATE_FILE" ]; then
|
||||
echo "Could not find sku template file: ${SKU_TEMPLATE_FILE}!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
os=$(echo "$OS" | tr '[:upper:]' '[:lower:]')
|
||||
version=$(echo "$OS_VERSION" | tr '[:upper:]' '[:lower:]' | tr -d .)
|
||||
sku_id="${os}-${version}-${VM_GENERATION}"
|
||||
|
||||
if [ "$OS" == "Ubuntu" ]; then
|
||||
os_type="Ubuntu"
|
||||
os_family="Linux"
|
||||
elif [ "$OS" == "Windows" ]; then
|
||||
os_type="Other"
|
||||
os_family="Windows"
|
||||
else
|
||||
echo "Cannot configure unknown OS: ${OS}!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
< $SKU_TEMPLATE_FILE sed s/{{ID}}/"$sku_id"/ \
|
||||
| sed s/{{KUBERNETES_VERSION}}/"$KUBERNETES_VERSION/" \
|
||||
| sed s/{{OS}}/"$OS/" \
|
||||
| sed s/{{OS_VERSION}}/"$OS_VERSION/" \
|
||||
| sed s/{{OS_TYPE}}/"$os_type/" \
|
||||
| sed s/{{OS_FAMILY}}/"$os_family/" \
|
||||
> sku.json
|
||||
cat sku.json
|
||||
|
||||
echo
|
||||
echo "Getting pub..."
|
||||
(set -x ; curl -fsSL https://github.com/devigned/pub/releases/download/${PUB_VERSION}/pub_${PUB_VERSION}_linux_amd64.tar.gz -o pub; tar -xzf pub)
|
||||
|
||||
echo "Creating new SKU"
|
||||
set -x
|
||||
./pub_linux_amd64 skus put -p $PUBLISHER -o "$OFFER" -f sku.json
|
||||
set +x
|
||||
echo -e "\nCreated sku"
|
||||
|
||||
echo "Writing publishing info"
|
||||
cat <<EOF > sku-publishing-info.json
|
||||
{
|
||||
"publisher" : "$PUBLISHER",
|
||||
"offer" : "$OFFER",
|
||||
"sku_id" : "$sku_id",
|
||||
"k8s_version" : "$KUBERNETES_VERSION"
|
||||
}
|
||||
EOF
|
||||
|
||||
cat sku-publishing-info.json
|
Reference in New Issue
Block a user