function init_repos(){ if [ -d "$WA_REPO" ]; then echo "$WA_REPO does exist, skipping cloning" source $WA_REPO/export_client_name.sh echo "found client name: $CLIENT_NAME" source $HOME/.zshrc git_pull else echo -n "client name: " read -r CLIENT_NAME if [ ! -f $HOME/.ssh/deploy_key ]; then echo "create ssh key" echo -n "ssh passphrase: " stty_orig=$(stty -g) # save original terminal setting. stty -echo read -r passphrase stty "$stty_orig" # restore terminal setting. echo "1. client name: $CLIENT_NAME" mkdir -p $HOME/.ssh ssh-keygen -t rsa -N "$passphrase" -C "deploy_key_$CLIENT_NAME" -f $HOME/.ssh/deploy_key echo "please upload now pub key by logging into user $CLIENT_NAME keys ..." echo "if user does not exit. login with admin user and create new user with name: $CLIENT_NAME" echo "make sure the user $CLIENT_NAME is in team shared_deployments and is allowed to pull repository cimp_$CLIENT_NAME" echo "https://git.service.wiseadvice.eu/user/settings/keys" echo " " cat $HOME/.ssh/deploy_key.pub fi echo " " echo -n "ready to pull? type yes: " read -r ready_to_pull if [ "$ready_to_pull" = "yes" ]; then start_ssh_agent echo "preparing" if grep "git.service.wiseadvice.eu" $HOME/.ssh/config > /dev/null then echo "ssh configuration already set" else echo "set ssh configuration" cat <> $HOME/.ssh/config Host git.service.wiseadvice.eu HostName git.service.wiseadvice.eu IdentityFile ~/.ssh/deploy_key Port 8422 IdentitiesOnly yes EOT fi mkdir -p $WA_REPO echo "export CLIENT_NAME=$CLIENT_NAME" > $WA_REPO/export_client_name.sh source $WA_REPO/export_client_name.sh cd $WA_REPO clone_repo_with_retry cimp_$CLIENT_NAME clone_repo_with_retry common_sysadmin if [ "$TASK_PERFORMING" = "k8s_setup" ]; then clone_repo_with_retry shared_resources_k8s ln -sf $WA_REPO/common_sysadmin/k8s $HOME/kubeconfs_common ln -sf $WA_REPO/shared_resources_k8s/k8s $HOME/kubeconfs_common ln -sf $WA_REPO/shared_resources_k8s/manifest.sh $HOME/.zshrc ln -sf $WA_REPO/cimp_$CLIENT_NAME/k8s $HOME/kubeconfs fi echo "source .zshrc after pull" echo "change default SHELL of user sysadmin:" chsh -s /usr/bin/zsh source $HOME/.zshrc else echo "Aborting" exit 0 fi fi }