| client_crt=$(pwd)/client.crt |
| client_key=$(pwd)/client.key |
| printf "\ngen_kubespec.sh <kubeconfig.yaml>\n" |
| # Check for a config file |
| printf "\nERROR: No kubeconfig.yaml specified\n" |
| printf "\nERROR: Supplied kubeconfig file not exists at '$1'\n" |
| # extract data as variables |
| declare $(sed -e 's/:[^:\/\/,:443,:6443]/=/g;s/ *=/=/g;s/-/_/g' $1 | grep 'certificate\|key\|server' | tr -d ' ') |
| echo "# Declared variable: server=$server" |
| ### Uncomment if separate files needed |
| printf "# Creating 'ca.crt', 'client.crt' and 'client.key'\n" |
| echo $certificate_authority_data | base64 -d >${ca_crt} |
| echo $client_certificate_data | base64 -d >${client_crt} |
| echo $client_key_data | base64 -d >${client_key} |
| printf "Generating 'kubespec.yaml'\n" |
| cat << EOF >kubespec_generated.yaml |
| certificate-authority: ${ca_crt} |
| client-certificate: ${client_crt} |
| client-key: ${client_key} |