diff --git a/README.md b/README.md index 0f705a6..958b69b 100644 --- a/README.md +++ b/README.md @@ -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) diff --git a/common_lib.sh b/common_lib.sh index fbb5a39..35d85cc 100644 --- a/common_lib.sh +++ b/common_lib.sh @@ -88,4 +88,60 @@ EOT exit 0 fi fi -} \ No newline at end of file +} + +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 +} diff --git a/init_nfs_server.sh b/init_nfs_server.sh index 6a35c24..b548cbf 100644 --- a/init_nfs_server.sh +++ b/init_nfs_server.sh @@ -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 ;; diff --git a/initk8s.sh b/initk8s.sh index b971f42..9b47c92 100755 --- a/initk8s.sh +++ b/initk8s.sh @@ -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 <> $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