test
This commit is contained in:
parent
3d5c2ff0cb
commit
0e7095621d
@ -13,11 +13,7 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
setup_yq
|
||||||
curl -sSL https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 \
|
|
||||||
-o /usr/local/bin/yq && chmod +x /usr/local/bin/yq
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
PG_VERSION="16" install_postgresql
|
PG_VERSION="16" install_postgresql
|
||||||
|
|
||||||
msg_info "Setting up PostgreSQL Database"
|
msg_info "Setting up PostgreSQL Database"
|
||||||
|
@ -1444,3 +1444,71 @@ install_adminer() {
|
|||||||
msg_ok "Adminer available at /adminer (Debian/Ubuntu)"
|
msg_ok "Adminer available at /adminer (Debian/Ubuntu)"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Installs or updates yq (mikefarah/yq - Go version).
|
||||||
|
#
|
||||||
|
# Description:
|
||||||
|
# - Checks if yq is installed and from correct source
|
||||||
|
# - Compares with latest release on GitHub
|
||||||
|
# - Updates if outdated or wrong implementation
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
function setup_yq() {
|
||||||
|
msg_info "Setup yq (mikefarah/yq)"
|
||||||
|
|
||||||
|
local TMP_DIR
|
||||||
|
TMP_DIR=$(mktemp -d)
|
||||||
|
local CURRENT_VERSION
|
||||||
|
local BINARY_PATH="/usr/local/bin/yq"
|
||||||
|
local GITHUB_REPO="mikefarah/yq"
|
||||||
|
|
||||||
|
if command -v yq &>/dev/null; then
|
||||||
|
if ! yq --version 2>&1 | grep -q 'mikefarah'; then
|
||||||
|
msg_info "Found incompatible yq implementation, replacing..."
|
||||||
|
rm -f "$(command -v yq)"
|
||||||
|
else
|
||||||
|
CURRENT_VERSION=$(yq --version | awk '{print $NF}' | sed 's/v//')
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Fetch latest version from GitHub
|
||||||
|
local RELEASE_JSON
|
||||||
|
RELEASE_JSON=$(curl -fsSL "https://api.github.com/repos/${GITHUB_REPO}/releases/latest")
|
||||||
|
local LATEST_VERSION
|
||||||
|
LATEST_VERSION=$(echo "$RELEASE_JSON" | jq -r '.tag_name' | sed 's/^v//')
|
||||||
|
|
||||||
|
if [[ -z "$LATEST_VERSION" ]]; then
|
||||||
|
msg_error "Could not determine latest yq version from GitHub."
|
||||||
|
rm -rf "$TMP_DIR"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$CURRENT_VERSION" == "$LATEST_VERSION" ]]; then
|
||||||
|
msg_ok "yq is already at version $CURRENT_VERSION"
|
||||||
|
rm -rf "$TMP_DIR"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
msg_info "Installing/Updating yq to $LATEST_VERSION"
|
||||||
|
curl -fsSL "https://github.com/${GITHUB_REPO}/releases/download/v${LATEST_VERSION}/yq_linux_amd64" -o "$TMP_DIR/yq"
|
||||||
|
chmod +x "$TMP_DIR/yq"
|
||||||
|
mv "$TMP_DIR/yq" "$BINARY_PATH"
|
||||||
|
|
||||||
|
if [[ ! -x "$BINARY_PATH" ]]; then
|
||||||
|
msg_error "Failed to install yq to $BINARY_PATH"
|
||||||
|
rm -rf "$TMP_DIR"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -rf "$TMP_DIR"
|
||||||
|
hash -r
|
||||||
|
|
||||||
|
local FINAL_VERSION
|
||||||
|
FINAL_VERSION=$("$BINARY_PATH" --version 2>/dev/null | awk '{print $NF}')
|
||||||
|
if [[ "$FINAL_VERSION" == "v$LATEST_VERSION" ]]; then
|
||||||
|
msg_ok "yq installed/updated to version $LATEST_VERSION"
|
||||||
|
else
|
||||||
|
msg_error "yq installation incomplete or version mismatch"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user