5
0
Fork 0

commit by to_remotes 2024-05-03 12:30:44 +0200 from vmdevhw

main
Holger Wasem 2024-05-03 12:30:44 +02:00
parent 5ffb27df1a
commit eac2ebf230
4 changed files with 68 additions and 164 deletions

View File

@ -1,7 +1,5 @@
**usage**
*guided installation*
bash <(curl -sk https://git.service.wiseadvice.eu/wiseadvice_public_repos/wa_public_init_repo/raw/branch/main/guided_setup.sh)

View File

@ -89,3 +89,59 @@ EOT
fi
fi
}
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
}
# Oh-my-zsh compatible bash ssh-agent start script
function _start_agent() {
if [[ -f "$ssh_env_cache" ]]; then
. "$ssh_env_cache" > /dev/null
fi
if [[ -S "$SSH_AUTH_SOCK" ]]; then
return 0
fi
echo "Starting ssh-agent ..."
ssh-agent -s | sed '/^echo/d' > "$ssh_env_cache"
chmod 600 "$ssh_env_cache"
. "$ssh_env_cache" > /dev/null
}
function start_ssh_agent(){
SHORT_HOST="${HOSTNAME/.*/}"
ssh_env_cache="$HOME/.ssh/environment-$SHORT_HOST"
_start_agent
unset ssh_env_cache
unset -f _start_agent
ssh-add ~/.ssh/deploy_key
}

View File

@ -1,6 +1,8 @@
#!/usr/bin/zsh
WA_REPO=$HOME/wa_repos
TASK_PERFORMING=nfs_server_setup
source <(curl -sk https://git.service.wiseadvice.eu/wiseadvice_public_repos/wa_public_init_repo/raw/branch/main/common_lib.sh)
sudo lsblk
echo -n "disk name (eg vdb): "
@ -33,10 +35,11 @@ Choose an option: "
EOF
sudo mkdir -p $PNFS
sudo chown nobody:nogroup $PNFS
# sudo vgcreate $NFSGRP /dev/$DISK_NAME
# sudo lvcreate -n $NFSVOL -l +100%FREE $NFSGRP
# sudo mkfs -t xfs -n ftype=1 /dev/$NFSGRP/$NFSVOL
sudo echo "/dev/mapper/$NFSGRP-$NFSVOL /$NFSGRP/$NFSVOL xfs defaults,nofail,x-systemd.device-timeout=10 0 0" >> /etc/fstab
sudo vgcreate $NFSGRP /dev/$DISK_NAME
sudo lvcreate -n $NFSVOL -l +100%FREE $NFSGRP
sudo mkfs -t xfs -n ftype=1 /dev/$NFSGRP/$NFSVOL
echo "/dev/mapper/$NFSGRP-$NFSVOL /$NFSGRP/$NFSVOL xfs defaults,nofail,x-systemd.device-timeout=10 0 0" sudo tee -a /etc/fstab
sudo systemctl daemon-reload
sudo mount -a
;;

View File

@ -1,167 +1,14 @@
#!/usr/bin/zsh
WA_REPO=$HOME/wa_repos
TASK_PERFORMING=k8s_setup
source <(curl -sk https://git.service.wiseadvice.eu/wiseadvice_public_repos/wa_public_init_repo/raw/branch/main/common_lib.sh)
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
}
# Oh-my-zsh compatible bash ssh-agent start script
function _start_agent() {
if [[ -f "$ssh_env_cache" ]]; then
. "$ssh_env_cache" > /dev/null
fi
if [[ -S "$SSH_AUTH_SOCK" ]]; then
return 0
fi
echo "Starting ssh-agent ..."
ssh-agent -s | sed '/^echo/d' > "$ssh_env_cache"
chmod 600 "$ssh_env_cache"
. "$ssh_env_cache" > /dev/null
}
function start_ssh_agent(){
SHORT_HOST="${HOSTNAME/.*/}"
ssh_env_cache="$HOME/.ssh/environment-$SHORT_HOST"
_start_agent
unset ssh_env_cache
unset -f _start_agent
ssh-add ~/.ssh/deploy_key
}
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 <<EOT >> $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 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
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
}
mainmenu() {
mainmenu_k8s() {
echo -ne "
MAIN MENU
1) Init Master
@ -190,10 +37,10 @@ Choose an option: "
;;
*)
echo "Wrong option."
mainmenu
mainmenu_k8s
;;
esac
}
init_repos
mainmenu
mainmenu_k8s