5
0
Fork 0
wa_public_init_repo/init.sh

148 lines
3.7 KiB
Bash
Executable File

#!/usr/bin/zsh
WA_REPO=$HOME/wa_repos
echo "################################################"
echo " basic init of wiseadvice node "
echo "################################################"
function clone_repo_with_retry(){
REPO_NAME=$1
echo "starting to pull into $(pwd)"
git clone git@git.service.wiseadvice.eu:wiseadvice_apps/$REPO_NAME.git -b main
if [ "$?" != "0" ]; then
echo " "
echo "Have you checked? "
echo "add deployment user as colaborator to the cimp repo"
echo "and add deployment user to the team shared_deployments"
echo "https://git.service.wiseadvice.eu/org/wiseadvice_apps/teams/shared_deployments"
echo -n "Have you checked? Should we try again? type yes: "
read -r yes_no
if [ "$yes_no" = "yes" ]; then
echo "starting to pull into $(pwd)"
git clone git@git.service.wiseadvice.eu:wiseadvice_apps/$REPO_NAME.git -b main
else
echo "Aborting"
exit 0
fi
fi
if [ "$?" != "0" ]; then
echo "Aborting"
exit 0
fi
}
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 bay logging into user $CLIENT_NAME keys ..."
echo "firefox 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
echo "preparing"
cat <<EOT >> $HOME/.ssh/config
Host git.service.wiseadvice.eu
HostName git.service.wiseadvice.eu
IdentityFile ~/.ssh/deploy_key
Port 8422
IdentitiesOnly yes
EOT
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 shared_resources_k8s
clone_repo_with_retry common_sysadmin
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
else
echo "Aborting"
exit 0
fi
fi
if [ -f $WA_REPO/node_type.sh ]; then
source $WA_REPO/node_type.sh
else
echo " "
echo -n "init as master? type yes: "
read -r init_as_master
if [ "$init_as_master" == "yes" ]; then
echo -n "export NODE_TYPE=master" > $WA_REPO/node_type.sh
NODE_TYPE=master
else
echo -n "export NODE_TYPE=worker" > $WA_REPO/node_type.sh
NODE_TYPE=worker
fi
fi
echo " "
echo -n "ready to set-up K8s? type yes: "
read -r ready_to_setup_k8s
if [ "$ready_to_setup_k8s" = "yes" ]; then
if [ "$NODE_TYPE" == "master" ]; then
echo "<=><=><=><=><=><=><=><=><=><=><=><=><=><=><=><=>"
echo "initializing K8s Master Set-Up"
source $WA_REPO/shared_resources_k8s/k8s/setup_master.sh
else
echo "<=><=><=><=><=><=><=><=><=><=><=><=><=><=><=><=>"
echo "initializing K8s Worker Set-Up"
source $WA_REPO/shared_resources_k8s/k8s/setup_worker.sh
fi
else
echo "Aborting"
exit 0
fi