Created
February 27, 2018 08:01
-
-
Save JonJam/8243f908e738ec5ff33e99e8ad8bc3e1 to your computer and use it in GitHub Desktop.
k8s infrastructure - install helm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # Setting -e and -v as pert https://docs.travis-ci.com/user/customizing-the-build/#Implementing-Complex-Build-Steps | |
| # -e: immediately exit if any command has a non-zero exit status | |
| # -v: print all lines in the script before executing them | |
| # -o: prevents errors in a pipeline from being masked | |
| set -euo pipefail | |
| # IFS new value is less likely to cause confusing bugs when looping arrays or arguments (e.g. $@) | |
| IFS=$'\n\t' | |
| usage() { echo "Usage: $0 -u <servicePrincipalId> -s <servicePrincipalSecret> -t <tenant> -g <resourceGroupName> -c <clusterName>" 1>&2; exit 1; } | |
| declare servicePrincipalId="" | |
| declare servicePrincipalSecret="" | |
| declare tenant="" | |
| declare resourceGroupName="" | |
| declare clusterName="" | |
| # Initialize parameters specified from command line | |
| while getopts ":u:s:t:g:c:" arg; do | |
| case "${arg}" in | |
| u) | |
| servicePrincipalId=${OPTARG} | |
| ;; | |
| s) | |
| servicePrincipalSecret=${OPTARG} | |
| ;; | |
| t) | |
| tenant=${OPTARG} | |
| ;; | |
| g) | |
| resourceGroupName=${OPTARG} | |
| ;; | |
| c) | |
| clusterName=${OPTARG} | |
| ;; | |
| esac | |
| done | |
| shift $((OPTIND-1)) | |
| # Prompt for parameters is some required parameters are missing | |
| if [[ -z "$servicePrincipalId" ]]; then | |
| echo "ServicePrincipalId:" | |
| read servicePrincipalId | |
| [[ "${servicePrincipalId:?}" ]] | |
| fi | |
| if [[ -z "$servicePrincipalSecret" ]]; then | |
| echo "ServicePrincipalSecret:" | |
| read servicePrincipalSecret | |
| [[ "${servicePrincipalSecret:?}" ]] | |
| fi | |
| if [[ -z "$tenant" ]]; then | |
| echo "Tenant:" | |
| read tenant | |
| [[ "${tenant:?}" ]] | |
| fi | |
| if [[ -z "$resourceGroupName" ]]; then | |
| echo "ResourceGroupName:" | |
| read resourceGroupName | |
| [[ "${resourceGroupName:?}" ]] | |
| fi | |
| if [[ -z "$clusterName" ]]; then | |
| echo "ClusterName:" | |
| read clusterName | |
| [[ "${clusterName:?}" ]] | |
| fi | |
| # Follow the steps here to create a Service Principal: https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal | |
| az login --service-principal -u $servicePrincipalId -p $servicePrincipalSecret --tenant $tenant 1> /dev/null | |
| echo "Getting credentials for cluster..." | |
| az aks get-credentials --name $clusterName --resource-group $resourceGroupName | |
| echo "Setting up Helm..." | |
| helm init --override storage=secret |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment