diff --git a/generate-yaml.sh b/generate-yaml.sh index fc8edc9ac629..ebe9fec097f7 100755 --- a/generate-yaml.sh +++ b/generate-yaml.sh @@ -40,24 +40,33 @@ while test $# -gt 0; do done if [ $OVERWRITE -ne 1 ] && [ -f $PROVIDERCOMPONENT_GENERATED_FILE ]; then - echo File $PROVIDERCOMPONENT_GENERATED_FILE already exists. Delete it manually before running this script. + echo "File $PROVIDERCOMPONENT_GENERATED_FILE already exists. Delete it manually before running this script." exit 1 fi -if [ ! -f $MACHINE_CONTROLLER_SSH_PRIVATE_FILE ]; then - echo Generate SSH key files fo machine controller - ssh-keygen -t rsa -f $MACHINE_CONTROLLER_SSH_PRIVATE_FILE -N "" +# Check if the ssh key already exists. If not, generate and copy to the .ssh dir. +if [ ! -f $MACHINE_CONTROLLER_SSH_HOME$MACHINE_CONTROLLER_SSH_PRIVATE_FILE ]; then + echo "Generating SSH key files for machine controller." + # This is needed because GetKubeConfig assumes the key in the home .ssh dir. + ssh-keygen -t rsa -f $MACHINE_CONTROLLER_SSH_HOME$MACHINE_CONTROLLER_SSH_PRIVATE_FILE -N "" fi -# Copy file to home ssh directory till using vsphere GetIP logic that -# does not assume the file at this location -cp $MACHINE_CONTROLLER_SSH_PUBLIC_FILE $MACHINE_CONTROLLER_SSH_HOME -cp $MACHINE_CONTROLLER_SSH_PRIVATE_FILE $MACHINE_CONTROLLER_SSH_HOME - -MACHINE_CONTROLLER_SSH_PUBLIC=$(cat $MACHINE_CONTROLLER_SSH_PUBLIC_FILE|base64 -w0) -MACHINE_CONTROLLER_SSH_PRIVATE=$(cat $MACHINE_CONTROLLER_SSH_PRIVATE_FILE|base64 -w0) +OS=$(uname) +if [[ "$OS" =~ "Linux" ]]; then + MACHINE_CONTROLLER_SSH_PUBLIC=$(cat $MACHINE_CONTROLLER_SSH_HOME$MACHINE_CONTROLLER_SSH_PUBLIC_FILE|base64 -w0) + MACHINE_CONTROLLER_SSH_PRIVATE=$(cat $MACHINE_CONTROLLER_SSH_HOME$MACHINE_CONTROLLER_SSH_PRIVATE_FILE|base64 -w0) +elif [[ "$OS" =~ "Darwin" ]]; then + MACHINE_CONTROLLER_SSH_PUBLIC=$(cat $MACHINE_CONTROLLER_SSH_HOME$MACHINE_CONTROLLER_SSH_PUBLIC_FILE|base64) + MACHINE_CONTROLLER_SSH_PRIVATE=$(cat $MACHINE_CONTROLLER_SSH_HOME$MACHINE_CONTROLLER_SSH_PRIVATE_FILE|base64) +else + echo "Unrecognized OS : $OS" + exit 1 +fi cat $PROVIDERCOMPONENT_TEMPLATE_FILE \ | sed -e "s/\$MACHINE_CONTROLLER_SSH_PUBLIC/$MACHINE_CONTROLLER_SSH_PUBLIC/" \ | sed -e "s/\$MACHINE_CONTROLLER_SSH_PRIVATE/$MACHINE_CONTROLLER_SSH_PRIVATE/" \ - > $PROVIDERCOMPONENT_GENERATED_FILE \ No newline at end of file + > $PROVIDERCOMPONENT_GENERATED_FILE + +echo "Done generating $PROVIDERCOMPONENT_GENERATED_FILE" +echo "You will still need to generate the cluster.yaml and machines.yaml" \ No newline at end of file