porthole/jmphost/funs_uc.sh
Trung Thai 5f3ce78d7f The script creates and sets up of user K8S profile
*  Allow users the ability to connect K8S cluster remotely
  *  Authenthicate to UCP Keystone
  *  Then able remotely execute into containers
  *  Install all required software components

Change-Id: I1062ab14d1c643e1161b6fcfb870eaee55f5e64b
2019-09-26 10:51:29 -04:00

57 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
#
# Author: Trung Thai, tt2189@att.com
#
# Purpose: Common shared functions defined and used on jumphost server.
#
# Author Krishna Venkata, kv988c@att.com
#
# Purpose - kubectl wrapper providing some of overwriting behavior from Kubectl
# when users to exectute into utility container.
declare -frx kubectl
function kubectl() {
if [[ $* == *"exec"* ]] && [[ $* == *"bash"* ]]; then
aft_bash=$(echo "$*" | awk -F'bash' '{print $2}')
bef_bash=$(echo "$*" | awk -F'bash' '{print $1}')
if [[ -z $aft_bash ]]; then
if [[ $* == *"--"* ]]; then
$(which kubectl) $bef_bash bash -c "export AUSER=$USER;bash;"
else
$(which kubectl) $bef_bash -- bash -c "export AUSER=$USER;bash;"
fi
else
command=$(echo $aft_bash | cut -d' ' -f2-)
$(which kubectl) $bef_bash bash -c "export AUSER=$USER;$command;"
fi
elif [[ $* == *"exec"* ]] && [[ $* == *"sh"* ]]; then
aft_sh=$(echo "$*" | awk -F'sh' '{print $2}')
bef_sh=$(echo "$*" | awk -F'sh' '{print $1}')
if [[ -z $aft_sh ]]; then
if [[ $* == *"--"* ]]; then
$(which kubectl) $bef_sh sh -c "export AUSER=$USER;sh;"
else
$(which kubectl) $bef_sh -- sh -c "export AUSER=$USER;sh;"
fi
else
command=$(echo $aft_sh | cut -d' ' -f2-)
`which kubectl` $bef_sh sh -c "export AUSER=$USER;$command;"
fi
elif [[ $* == *"exec"* ]] && [[ $* == *"utilscli"* ]]; then
aft_utilscli=$(echo "$*" | awk -F'utilscli' '{print $2}')
bef_utilscli=$(echo "$*" | awk -F'utilscli' '{print $1}')
if [[ -z $aft_utilscli ]]; then
echo "Invalid Command"
else
if [[ $* == *"--"* ]]; then
$(which kubectl) $bef_utilscli bash -c "export AUSER=$USER;utilscli $aft_utilscli;"
else
$(which kubectl) $bef_utilscli -- bash -c "export AUSER=$USER;utilscli $aft_utilscli;"
fi
fi
else
$(which kubectl) $*
fi
}