mirror of
https://gitlab.com/psuapp/psu.git
synced 2024-08-30 18:12:34 +00:00
Move initial globals setting to a function
This commit is contained in:
parent
79f461535d
commit
ad040ff9a3
110
psu
110
psu
@ -6,6 +6,73 @@
|
|||||||
# Main entrypoint #
|
# Main entrypoint #
|
||||||
###################
|
###################
|
||||||
main() {
|
main() {
|
||||||
|
set_globals $@
|
||||||
|
|
||||||
|
# Get Portainer auth token. Will be used on every API request.
|
||||||
|
echo_verbose "Getting auth token..."
|
||||||
|
AUTH_TOKEN=$(http \
|
||||||
|
--check-status \
|
||||||
|
--ignore-stdin \
|
||||||
|
--verify=$HTTPIE_VERIFY_SSL \
|
||||||
|
$PORTAINER_URL/api/auth \
|
||||||
|
username=$PORTAINER_USER \
|
||||||
|
password=$PORTAINER_PASSWORD)
|
||||||
|
echo_debug "Get auth token response -> $AUTH_TOKEN"
|
||||||
|
check_for_errors $? "$AUTH_TOKEN"
|
||||||
|
AUTH_TOKEN=$(echo $AUTH_TOKEN | jq -r .jwt)
|
||||||
|
echo_debug "Auth token -> $AUTH_TOKEN"
|
||||||
|
|
||||||
|
# Get list of all stacks
|
||||||
|
echo_verbose "Getting stack $PORTAINER_STACK_NAME..."
|
||||||
|
local stacks=$(http \
|
||||||
|
--check-status \
|
||||||
|
--ignore-stdin \
|
||||||
|
--verify=$HTTPIE_VERIFY_SSL \
|
||||||
|
"$PORTAINER_URL/api/stacks" \
|
||||||
|
"Authorization: Bearer $AUTH_TOKEN")
|
||||||
|
echo_debug "Get stacks response -> $stacks"
|
||||||
|
check_for_errors $? "$stacks"
|
||||||
|
|
||||||
|
# Get desired stack from stacks list by it's name
|
||||||
|
STACK=$(echo "$stacks" \
|
||||||
|
| jq --arg PORTAINER_STACK_NAME "$PORTAINER_STACK_NAME" -jc '.[] | select(.Name == $PORTAINER_STACK_NAME)')
|
||||||
|
echo_debug "Stack -> $STACK"
|
||||||
|
|
||||||
|
if [ $ACTION == "deploy" ]; then
|
||||||
|
deploy
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $ACTION == "undeploy" ]; then
|
||||||
|
undeploy
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo_error "Error: Unknown action \"$ACTION\"."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
##########################
|
||||||
|
# Set globals #
|
||||||
|
# Globals: #
|
||||||
|
# ACTION #
|
||||||
|
# PORTAINER_USER #
|
||||||
|
# PORTAINER_PASSWORD #
|
||||||
|
# PORTAINER_URL #
|
||||||
|
# PORTAINER_STACK_NAME #
|
||||||
|
# DOCKER_COMPOSE_FILE #
|
||||||
|
# PORTAINER_ENDPOINT #
|
||||||
|
# PORTAINER_PRUNE #
|
||||||
|
# HTTPIE_VERIFY_SSL #
|
||||||
|
# VERBOSE_MODE #
|
||||||
|
# DEBUG_MODE #
|
||||||
|
# STRICT_MODE #
|
||||||
|
# Arguments: #
|
||||||
|
# None #
|
||||||
|
# Returns: #
|
||||||
|
# None #
|
||||||
|
##########################
|
||||||
|
set_globals() {
|
||||||
# Set arguments through envvars
|
# Set arguments through envvars
|
||||||
ACTION=${ACTION}
|
ACTION=${ACTION}
|
||||||
PORTAINER_USER=${PORTAINER_USER}
|
PORTAINER_USER=${PORTAINER_USER}
|
||||||
@ -65,49 +132,6 @@ main() {
|
|||||||
if [ $ACTION == "deploy" ]; then
|
if [ $ACTION == "deploy" ]; then
|
||||||
check_argument "$DOCKER_COMPOSE_FILE" "docker compose file" "DOCKER_COMPOSE_FILE" "c"
|
check_argument "$DOCKER_COMPOSE_FILE" "docker compose file" "DOCKER_COMPOSE_FILE" "c"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Get Portainer auth token. Will be used on every API request.
|
|
||||||
echo_verbose "Getting auth token..."
|
|
||||||
AUTH_TOKEN=$(http \
|
|
||||||
--check-status \
|
|
||||||
--ignore-stdin \
|
|
||||||
--verify=$HTTPIE_VERIFY_SSL \
|
|
||||||
$PORTAINER_URL/api/auth \
|
|
||||||
username=$PORTAINER_USER \
|
|
||||||
password=$PORTAINER_PASSWORD)
|
|
||||||
echo_debug "Get auth token response -> $AUTH_TOKEN"
|
|
||||||
check_for_errors $? "$AUTH_TOKEN"
|
|
||||||
AUTH_TOKEN=$(echo $AUTH_TOKEN | jq -r .jwt)
|
|
||||||
echo_debug "Auth token -> $AUTH_TOKEN"
|
|
||||||
|
|
||||||
# Get list of all stacks
|
|
||||||
echo_verbose "Getting stack $PORTAINER_STACK_NAME..."
|
|
||||||
local stacks=$(http \
|
|
||||||
--check-status \
|
|
||||||
--ignore-stdin \
|
|
||||||
--verify=$HTTPIE_VERIFY_SSL \
|
|
||||||
"$PORTAINER_URL/api/stacks" \
|
|
||||||
"Authorization: Bearer $AUTH_TOKEN")
|
|
||||||
echo_debug "Get stacks response -> $stacks"
|
|
||||||
check_for_errors $? "$stacks"
|
|
||||||
|
|
||||||
# Get desired stack from stacks list by it's name
|
|
||||||
STACK=$(echo "$stacks" \
|
|
||||||
| jq --arg PORTAINER_STACK_NAME "$PORTAINER_STACK_NAME" -jc '.[] | select(.Name == $PORTAINER_STACK_NAME)')
|
|
||||||
echo_debug "Stack -> $STACK"
|
|
||||||
|
|
||||||
if [ $ACTION == "deploy" ]; then
|
|
||||||
deploy
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $ACTION == "undeploy" ]; then
|
|
||||||
undeploy
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo_error "Error: Unknown action \"$ACTION\"."
|
|
||||||
exit 1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
############################
|
############################
|
||||||
|
Loading…
Reference in New Issue
Block a user