Compare commits

..

4 Commits

Author SHA1 Message Date
Christer Warén
869a22cb73 Add extra-vars parameter to use with Build tasks on Manager playbook in Infra command 2026-01-22 01:44:41 +02:00
Christer Warén
21db6ac4e9 Update Login in Config function 2026-01-22 01:30:42 +02:00
Christer Warén
7dd2a07186 Update SSH Keys Sign feature 2026-01-18 19:01:40 +02:00
Christer Warén
a37fce53e8 Update Login and Logout process 2026-01-18 18:54:36 +02:00
8 changed files with 86 additions and 34 deletions

View File

@@ -12,7 +12,7 @@ wx-login(){
elif [[ ! -z ${args['token']} ]] elif [[ ! -z ${args['token']} ]]
then then
AUTH_METHOD=token AUTH_METHOD=token
elif [[ -f "$HOME/.warengroup/config.json" && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != 'null' && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != '' ]] elif [[ $(wxi-config login read) ]]
then then
AUTH_METHOD=token AUTH_METHOD=token
elif [[ ! -z ${args['username']} ]] elif [[ ! -z ${args['username']} ]]
@@ -61,11 +61,12 @@ wx-login(){
if [[ -z $VAULT_LOGIN || ${#VAULT_LOGIN} -lt 95 || ${#VAULT_LOGIN} -gt 95 ]] if [[ -z $VAULT_LOGIN || ${#VAULT_LOGIN} -lt 95 || ${#VAULT_LOGIN} -gt 95 ]]
then then
wxi-content status "Login" "Failed" wxi-content status "Login" "Failed"
wxi-footer
wxi-stop wxi-stop
fi fi
TOKEN=$VAULT_LOGIN TOKEN=$VAULT_LOGIN
wxi-config login wxi-config login write
;; ;;
token) token)
echo -n "Token: " echo -n "Token: "
@@ -75,9 +76,9 @@ wx-login(){
then then
TOKEN=${args['token']} TOKEN=${args['token']}
fi fi
elif [[ -f "$HOME/.warengroup/config.json" && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != 'null' && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != '' ]] elif [[ $(wxi-config login read) ]]
then then
TOKEN=$(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) TOKEN=$(wxi-config login read)
else else
read -s TOKEN read -s TOKEN
fi fi
@@ -105,11 +106,19 @@ wx-login(){
if [[ -z $VAULT_LOGIN || ${#VAULT_LOGIN} -lt 95 || ${#VAULT_LOGIN} -gt 95 ]] if [[ -z $VAULT_LOGIN || ${#VAULT_LOGIN} -lt 95 || ${#VAULT_LOGIN} -gt 95 ]]
then then
wxi-content status "Login" "Failed" wxi-content status "Login" "Failed"
wxi-stop wxi-footer
if [[ $(wxi-config login read) ]]
then
wx-logout &> /dev/null
wx-login
else
wxi-stop
fi
fi fi
TOKEN=$VAULT_LOGIN TOKEN=$VAULT_LOGIN
wxi-config login wxi-config login write
;; ;;
*) *)
wxi-content status "Login Type" "Unsupported" wxi-content status "Login Type" "Unsupported"

View File

@@ -14,10 +14,8 @@ wx-logout(){
then then
wxi-header "$ORG_HEADER" h3 wxi-header "$ORG_HEADER" h3
echo "Logging Out..." echo "Logging Out..."
TOKEN="" wxi-config login erase
wxi-config login
wxi-footer wxi-footer
wxi-stop
fi fi
} }

View File

@@ -1,5 +1,5 @@
wx-infra(){ wx-infra(){
wx-login &> /dev/null wx-login
wx-auto &> /dev/null wx-auto &> /dev/null
wxi-header "Infra" wxi-header "Infra"
@@ -72,10 +72,12 @@ wx-infra(){
else else
host=${args['host']} host=${args['host']}
fi fi
operation=${args['operation']} operation=${args['operation']}
extra_vars=${args['extra-vars']}
wxi-header "Manager" h3 wxi-header "Manager" h3
ansible-playbook $INFRA_VAULT manager.yml --tags $operation --extra-vars "host=$host" ansible-playbook $INFRA_VAULT manager.yml --tags $operation --extra-vars "host=$host" --extra-vars="$extra_vars"
else else
wxi-header "Infra" h3 wxi-header "Infra" h3
host=${args['host']} host=${args['host']}

View File

@@ -1,5 +1,5 @@
wx-auto(){ wx-auto(){
wx-login &> /dev/null wx-login
wxi-header "Auto" wxi-header "Auto"
wxi-restricted wxi-restricted

View File

@@ -1,5 +1,5 @@
wx-settings(){ wx-settings(){
wx-login &> /dev/null wx-login
wx-auto &> /dev/null wx-auto &> /dev/null
wxi-header "Settings" wxi-header "Settings"

View File

@@ -2,11 +2,12 @@ wxi-ssh-keys-sign(){
wxi-header "SSH / Keys / Sign" wxi-header "SSH / Keys / Sign"
wxi-restricted wxi-restricted
wxi-ssh-keys-sign-create $ORG sysadmin 3600
if [[ $USERNAME == "cwchristerw" ]] if [[ $USERNAME == "cwchristerw" ]]
then then
wxi-ssh-keys-sign-create cwchristerw sysadmin 3600
wxi-ssh-keys-sign-create warengroup sysadmin 3600 wxi-ssh-keys-sign-create warengroup sysadmin 3600
else
wxi-ssh-keys-sign-create $ORG sysadmin 3600
fi fi
wxi-footer wxi-footer
} }

View File

@@ -1,8 +1,24 @@
wxi-config(){ wxi-config(){
case $1 in case $1 in
login) login)
jq '.login.'$ORG'.token = "'$TOKEN'"' $HOME/.warengroup/config.json &> $HOME/.warengroup/config.json.tmp case $2 in
;; write)
jq '.login.'$ORG'.token = "'$TOKEN'"' $HOME/.warengroup/config.json &> $HOME/.warengroup/config.json.tmp
;;
read)
if [[ -f "$HOME/.warengroup/config.json" && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != 'null' && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != '' ]]
then
cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token
else
return 1
fi
;;
erase)
TOKEN=""
wxi-config login write
;;
esac
;;
*) *)
echo -n "" echo -n ""
;; ;;

60
wx
View File

@@ -12,8 +12,24 @@ declare -Ax messages
wxi-config(){ wxi-config(){
case $1 in case $1 in
login) login)
jq '.login.'$ORG'.token = "'$TOKEN'"' $HOME/.warengroup/config.json &> $HOME/.warengroup/config.json.tmp case $2 in
;; write)
jq '.login.'$ORG'.token = "'$TOKEN'"' $HOME/.warengroup/config.json &> $HOME/.warengroup/config.json.tmp
;;
read)
if [[ -f "$HOME/.warengroup/config.json" && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != 'null' && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != '' ]]
then
cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token
else
return 1
fi
;;
erase)
TOKEN=""
wxi-config login write
;;
esac
;;
*) *)
echo -n "" echo -n ""
;; ;;
@@ -271,7 +287,7 @@ wxi-footer
} }
wx-infra(){ wx-infra(){
wx-login &> /dev/null wx-login
wx-auto &> /dev/null wx-auto &> /dev/null
wxi-header "Infra" wxi-header "Infra"
@@ -344,10 +360,12 @@ wx-infra(){
else else
host=${args['host']} host=${args['host']}
fi fi
operation=${args['operation']} operation=${args['operation']}
extra_vars=${args['extra-vars']}
wxi-header "Manager" h3 wxi-header "Manager" h3
ansible-playbook $INFRA_VAULT manager.yml --tags $operation --extra-vars "host=$host" ansible-playbook $INFRA_VAULT manager.yml --tags $operation --extra-vars "host=$host" --extra-vars="$extra_vars"
else else
wxi-header "Infra" h3 wxi-header "Infra" h3
host=${args['host']} host=${args['host']}
@@ -406,7 +424,7 @@ wx-login(){
elif [[ ! -z ${args['token']} ]] elif [[ ! -z ${args['token']} ]]
then then
AUTH_METHOD=token AUTH_METHOD=token
elif [[ -f "$HOME/.warengroup/config.json" && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != 'null' && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != '' ]] elif [[ $(wxi-config login read) ]]
then then
AUTH_METHOD=token AUTH_METHOD=token
elif [[ ! -z ${args['username']} ]] elif [[ ! -z ${args['username']} ]]
@@ -455,11 +473,12 @@ wx-login(){
if [[ -z $VAULT_LOGIN || ${#VAULT_LOGIN} -lt 95 || ${#VAULT_LOGIN} -gt 95 ]] if [[ -z $VAULT_LOGIN || ${#VAULT_LOGIN} -lt 95 || ${#VAULT_LOGIN} -gt 95 ]]
then then
wxi-content status "Login" "Failed" wxi-content status "Login" "Failed"
wxi-footer
wxi-stop wxi-stop
fi fi
TOKEN=$VAULT_LOGIN TOKEN=$VAULT_LOGIN
wxi-config login wxi-config login write
;; ;;
token) token)
echo -n "Token: " echo -n "Token: "
@@ -469,9 +488,9 @@ wx-login(){
then then
TOKEN=${args['token']} TOKEN=${args['token']}
fi fi
elif [[ -f "$HOME/.warengroup/config.json" && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != 'null' && $(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) != '' ]] elif [[ $(wxi-config login read) ]]
then then
TOKEN=$(cat $HOME/.warengroup/config.json | jq -r .login.$ORG.token) TOKEN=$(wxi-config login read)
else else
read -s TOKEN read -s TOKEN
fi fi
@@ -499,11 +518,19 @@ wx-login(){
if [[ -z $VAULT_LOGIN || ${#VAULT_LOGIN} -lt 95 || ${#VAULT_LOGIN} -gt 95 ]] if [[ -z $VAULT_LOGIN || ${#VAULT_LOGIN} -lt 95 || ${#VAULT_LOGIN} -gt 95 ]]
then then
wxi-content status "Login" "Failed" wxi-content status "Login" "Failed"
wxi-stop wxi-footer
if [[ $(wxi-config login read) ]]
then
wx-logout &> /dev/null
wx-login
else
wxi-stop
fi
fi fi
TOKEN=$VAULT_LOGIN TOKEN=$VAULT_LOGIN
wxi-config login wxi-config login write
;; ;;
*) *)
wxi-content status "Login Type" "Unsupported" wxi-content status "Login Type" "Unsupported"
@@ -549,10 +576,8 @@ wx-logout(){
then then
wxi-header "$ORG_HEADER" h3 wxi-header "$ORG_HEADER" h3
echo "Logging Out..." echo "Logging Out..."
TOKEN="" wxi-config login erase
wxi-config login
wxi-footer wxi-footer
wxi-stop
fi fi
} }
@@ -621,7 +646,7 @@ wx-update(){
} }
wx-auto(){ wx-auto(){
wx-login &> /dev/null wx-login
wxi-header "Auto" wxi-header "Auto"
wxi-restricted wxi-restricted
@@ -642,7 +667,7 @@ wx-clean(){
} }
wx-settings(){ wx-settings(){
wx-login &> /dev/null wx-login
wx-auto &> /dev/null wx-auto &> /dev/null
wxi-header "Settings" wxi-header "Settings"
@@ -835,11 +860,12 @@ wxi-ssh-keys-sign(){
wxi-header "SSH / Keys / Sign" wxi-header "SSH / Keys / Sign"
wxi-restricted wxi-restricted
wxi-ssh-keys-sign-create $ORG sysadmin 3600
if [[ $USERNAME == "cwchristerw" ]] if [[ $USERNAME == "cwchristerw" ]]
then then
wxi-ssh-keys-sign-create cwchristerw sysadmin 3600
wxi-ssh-keys-sign-create warengroup sysadmin 3600 wxi-ssh-keys-sign-create warengroup sysadmin 3600
else
wxi-ssh-keys-sign-create $ORG sysadmin 3600
fi fi
wxi-footer wxi-footer
} }