Code Update

This commit is contained in:
Christer Warén 2024-06-16 04:01:17 +03:00
parent b014dd1990
commit 0071b7407d
6 changed files with 66 additions and 38 deletions

View File

@ -1,9 +1,13 @@
wx-logout(){
wx-header "Logout"
if [[ $USER != "root" && $USER != "local" ]]
if [[ $USER != "root" && $USER != "local" && -f "$HOME/.config/warengroup/config.json" ]]
then
wx-clean
jq '.login = {}' $HOME/.config/warengroup/config.json &> $HOME/.config/warengroup/config.json.tmp
mv $HOME/.config/warengroup/config.json.tmp $HOME/.config/warengroup/config.json &> /dev/null
VAULT_LOGIN=$(cat $HOME/.config/warengroup/config.json | jq -r .login)
if [[ $VAULT_LOGIN != null && $VAULT_LOGIN != "{}" ]]
then
wx-clean
jq '.login = {}' $HOME/.config/warengroup/config.json &> $HOME/.config/warengroup/config.json.tmp
mv $HOME/.config/warengroup/config.json.tmp $HOME/.config/warengroup/config.json &> /dev/null
fi
fi
}

View File

@ -1,6 +1,6 @@
wx-infra(){
wx-login
wx-ssh-sign &> /dev/null
wx-auto &> /dev/null
wx-header "Infra"
wx-restricted

View File

@ -7,9 +7,6 @@ wx-ssh(){
chmod 700 -R $HOME/.ssh/multiplex
case $1 in
sign)
wx-ssh-sign
;;
keys)
wx-ssh-keys $2 $3
;;
@ -18,7 +15,6 @@ wx-ssh(){
;;
*)
wx-header "SSH"
wx-stop
;;
esac

View File

@ -24,19 +24,19 @@ wx-ssh-config(){
}
wx-ssh-config-edit(){
wx-header "SSH / Config"
wx-header "SSH / Config / Edit"
wx-restricted
nano ~/.ssh/config
}
wx-ssh-config-save(){
wx-header "SSH / Config"
wx-header "SSH / Config / Save"
wx-restricted
curl https://$VAULT_DOMAIN/v1/cli/data/$USERNAME/settings/ssh/config -X POST --header "X-Vault-Token: ${config["login",$ORG]}" -d "{ \"data\": { \"data\": \"$(cat ~/.ssh/config | base64 -w 0)\" } }" -s &> /dev/null
}
wx-ssh-config-sync(){
wx-header "SSH / Config"
wx-header "SSH / Config / Sync"
wx-restricted
VAULT_STATUS=$(curl -s -o /dev/null -w "%{http_code}" https://$VAULT_DOMAIN/v1/cli/data/$USERNAME/settings/ssh/config -X GET --header "X-Vault-Token: ${config["login",$ORG]}")
if [[ $VAULT_STATUS -eq 200 ]]
@ -46,7 +46,7 @@ wx-ssh-config-sync(){
}
wx-ssh-config-clean(){
wx-header "SSH / Config"
wx-header "SSH / Config / Clean"
wx-restricted
VAULT_STATUS=$(curl -s -o /dev/null -w "%{http_code}" https://$VAULT_DOMAIN/v1/cli/data/$USERNAME/settings/ssh/config -X GET --header "X-Vault-Token: ${config["login",$ORG]}")
if [[ -f "$HOME/.ssh/config" && $VAULT_STATUS -eq 200 ]]

View File

@ -32,7 +32,7 @@ wx-ssh-keys(){
}
wx-ssh-keys-generate(){
wx-header "SSH / Keys"
wx-header "SSH / Keys / Generate"
wx-restricted
if [[ ! -z $1 ]]
then
@ -44,7 +44,7 @@ wx-ssh-keys-generate(){
}
wx-ssh-keys-sign(){
wx-header "SSH / Sign"
wx-header "SSH / Keys / Sign"
wx-restricted
if [[ $ORG == "warengroup" ]]
@ -82,7 +82,11 @@ wx-ssh-keys-sign-create(){
}
wx-ssh-keys-retrieve(){
wx-header "SSH / Keys"
if [[ -z $2 ]]
then
wx-header "SSH / Keys / Retrieve"
fi
wx-restricted
if [[ ! -z $1 ]]
then
@ -96,7 +100,7 @@ wx-ssh-keys-retrieve(){
}
wx-ssh-keys-save(){
wx-header "SSH / Keys"
wx-header "SSH / Keys / Save"
wx-restricted
if [[ ! -z $1 ]]
then
@ -108,14 +112,24 @@ wx-ssh-keys-save(){
}
wx-ssh-keys-sync(){
wx-header "SSH / Keys"
wx-header "SSH / Keys / Sync"
wx-restricted
VAULT_STATUS=$(curl -s -o /dev/null -w "%{http_code}" https://$VAULT_DOMAIN/v1/cli/metadata/$USERNAME/settings/ssh/keys -X LIST --header "X-Vault-Token: ${config["login",$ORG]}")
if [[ $VAULT_STATUS -eq 200 ]]
then
for name in $(curl https://$VAULT_DOMAIN/v1/cli/metadata/$USERNAME/settings/ssh/keys -X LIST --header "X-Vault-Token: ${config["login",$ORG]}" -s | jq -r '.data.keys | @sh' | tr -d \')
do
echo $name
wx-ssh-keys-retrieve $name --multiple
done
fi
}
wx-ssh-keys-clean(){
if [[ -z $1 ]]
then
wx-header "SSH / Keys"
wx-header "SSH / Keys / Clean"
fi
wx-restricted

52
wx
View File

@ -128,7 +128,7 @@ Maintenance Commands:
wx-infra(){
wx-login
wx-ssh-sign &> /dev/null
wx-auto &> /dev/null
wx-header "Infra"
wx-restricted
@ -173,9 +173,6 @@ wx-ssh(){
chmod 700 -R $HOME/.ssh/multiplex
case $1 in
sign)
wx-ssh-sign
;;
keys)
wx-ssh-keys $2 $3
;;
@ -184,7 +181,6 @@ wx-ssh(){
;;
*)
wx-header "SSH"
wx-stop
;;
esac
@ -368,11 +364,15 @@ wx-login(){
wx-logout(){
wx-header "Logout"
if [[ $USER != "root" && $USER != "local" ]]
if [[ $USER != "root" && $USER != "local" && -f "$HOME/.config/warengroup/config.json" ]]
then
wx-clean
jq '.login = {}' $HOME/.config/warengroup/config.json &> $HOME/.config/warengroup/config.json.tmp
mv $HOME/.config/warengroup/config.json.tmp $HOME/.config/warengroup/config.json &> /dev/null
VAULT_LOGIN=$(cat $HOME/.config/warengroup/config.json | jq -r .login)
if [[ $VAULT_LOGIN != null && $VAULT_LOGIN != "{}" ]]
then
wx-clean
jq '.login = {}' $HOME/.config/warengroup/config.json &> $HOME/.config/warengroup/config.json.tmp
mv $HOME/.config/warengroup/config.json.tmp $HOME/.config/warengroup/config.json &> /dev/null
fi
fi
}
@ -457,19 +457,19 @@ wx-ssh-config(){
}
wx-ssh-config-edit(){
wx-header "SSH / Config"
wx-header "SSH / Config / Edit"
wx-restricted
nano ~/.ssh/config
}
wx-ssh-config-save(){
wx-header "SSH / Config"
wx-header "SSH / Config / Save"
wx-restricted
curl https://$VAULT_DOMAIN/v1/cli/data/$USERNAME/settings/ssh/config -X POST --header "X-Vault-Token: ${config["login",$ORG]}" -d "{ \"data\": { \"data\": \"$(cat ~/.ssh/config | base64 -w 0)\" } }" -s &> /dev/null
}
wx-ssh-config-sync(){
wx-header "SSH / Config"
wx-header "SSH / Config / Sync"
wx-restricted
VAULT_STATUS=$(curl -s -o /dev/null -w "%{http_code}" https://$VAULT_DOMAIN/v1/cli/data/$USERNAME/settings/ssh/config -X GET --header "X-Vault-Token: ${config["login",$ORG]}")
if [[ $VAULT_STATUS -eq 200 ]]
@ -479,7 +479,7 @@ wx-ssh-config-sync(){
}
wx-ssh-config-clean(){
wx-header "SSH / Config"
wx-header "SSH / Config / Clean"
wx-restricted
VAULT_STATUS=$(curl -s -o /dev/null -w "%{http_code}" https://$VAULT_DOMAIN/v1/cli/data/$USERNAME/settings/ssh/config -X GET --header "X-Vault-Token: ${config["login",$ORG]}")
if [[ -f "$HOME/.ssh/config" && $VAULT_STATUS -eq 200 ]]
@ -522,7 +522,7 @@ wx-ssh-keys(){
}
wx-ssh-keys-generate(){
wx-header "SSH / Keys"
wx-header "SSH / Keys / Generate"
wx-restricted
if [[ ! -z $1 ]]
then
@ -534,7 +534,7 @@ wx-ssh-keys-generate(){
}
wx-ssh-keys-sign(){
wx-header "SSH / Sign"
wx-header "SSH / Keys / Sign"
wx-restricted
if [[ $ORG == "warengroup" ]]
@ -572,7 +572,11 @@ wx-ssh-keys-sign-create(){
}
wx-ssh-keys-retrieve(){
wx-header "SSH / Keys"
if [[ -z $2 ]]
then
wx-header "SSH / Keys / Retrieve"
fi
wx-restricted
if [[ ! -z $1 ]]
then
@ -586,7 +590,7 @@ wx-ssh-keys-retrieve(){
}
wx-ssh-keys-save(){
wx-header "SSH / Keys"
wx-header "SSH / Keys / Save"
wx-restricted
if [[ ! -z $1 ]]
then
@ -598,14 +602,24 @@ wx-ssh-keys-save(){
}
wx-ssh-keys-sync(){
wx-header "SSH / Keys"
wx-header "SSH / Keys / Sync"
wx-restricted
VAULT_STATUS=$(curl -s -o /dev/null -w "%{http_code}" https://$VAULT_DOMAIN/v1/cli/metadata/$USERNAME/settings/ssh/keys -X LIST --header "X-Vault-Token: ${config["login",$ORG]}")
if [[ $VAULT_STATUS -eq 200 ]]
then
for name in $(curl https://$VAULT_DOMAIN/v1/cli/metadata/$USERNAME/settings/ssh/keys -X LIST --header "X-Vault-Token: ${config["login",$ORG]}" -s | jq -r '.data.keys | @sh' | tr -d \')
do
echo $name
wx-ssh-keys-retrieve $name --multiple
done
fi
}
wx-ssh-keys-clean(){
if [[ -z $1 ]]
then
wx-header "SSH / Keys"
wx-header "SSH / Keys / Clean"
fi
wx-restricted