install_newt.sh aktualisiert
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -ex # -e = Abbruch bei Fehler, -x = Ausgabe jeder ausgeführten Zeile
|
||||||
|
|
||||||
GREEN='\033[0;32m'
|
GREEN='\033[0;32m'
|
||||||
YELLOW='\033[1;33m'
|
YELLOW='\033[1;33m'
|
||||||
@@ -28,12 +28,15 @@ for arg in "$@"; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
get_latest_version() {
|
get_latest_version() {
|
||||||
|
echo "[DEBUG] get_latest_version aufgerufen"
|
||||||
curl -fsSL "https://api.github.com/repos/${REPO}/releases/latest" | grep -Po '"tag_name": *"\K[^"]+'
|
curl -fsSL "https://api.github.com/repos/${REPO}/releases/latest" | grep -Po '"tag_name": *"\K[^"]+'
|
||||||
}
|
}
|
||||||
|
|
||||||
download_newt() {
|
download_newt() {
|
||||||
|
echo "[DEBUG] download_newt aufgerufen mit Version=$1"
|
||||||
version="$1"
|
version="$1"
|
||||||
arch=$(uname -m)
|
arch=$(uname -m)
|
||||||
|
echo "[DEBUG] Architektur erkannt: $arch"
|
||||||
|
|
||||||
case "$arch" in
|
case "$arch" in
|
||||||
x86_64) file="newt_linux_amd64" ;;
|
x86_64) file="newt_linux_amd64" ;;
|
||||||
@@ -57,6 +60,7 @@ download_newt() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
cleanup_old_versions() {
|
cleanup_old_versions() {
|
||||||
|
echo "[DEBUG] cleanup_old_versions aufgerufen"
|
||||||
cd "$INSTALL_DIR"
|
cd "$INSTALL_DIR"
|
||||||
keep=$(readlink -f newt_latest)
|
keep=$(readlink -f newt_latest)
|
||||||
versions=($(ls -1 newt_* | grep -v latest | sort -Vr))
|
versions=($(ls -1 newt_* | grep -v latest | sort -Vr))
|
||||||
@@ -73,12 +77,16 @@ cleanup_old_versions() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
setup_systemd_service() {
|
setup_systemd_service() {
|
||||||
|
echo "[DEBUG] setup_systemd_service aufgerufen"
|
||||||
info "🛠️ Erstelle systemd-Dienst ${SERVICE_NAME} ..."
|
info "🛠️ Erstelle systemd-Dienst ${SERVICE_NAME} ..."
|
||||||
|
|
||||||
# Eingabeaufforderungen im User-Kontext
|
# Eingabeaufforderungen im User-Kontext
|
||||||
read -rp "🆔 Bitte gib die Pangolin-ID ein: " PANGOLIN_ID
|
read -rp "🆔 Bitte gib die Pangolin-ID ein: " PANGOLIN_ID
|
||||||
|
echo "[DEBUG] Pangolin-ID eingegeben: $PANGOLIN_ID"
|
||||||
read -rp "🔑 Bitte gib das Secret ein: " PANGOLIN_SECRET
|
read -rp "🔑 Bitte gib das Secret ein: " PANGOLIN_SECRET
|
||||||
|
echo "[DEBUG] Secret eingegeben (aus Sicherheitsgründen nicht ausgegeben)"
|
||||||
read -rp "🌐 Bitte gib den Endpoint (z. B. https://pangolin.domain.de) ein: " PANGOLIN_ENDPOINT
|
read -rp "🌐 Bitte gib den Endpoint (z. B. https://pangolin.domain.de) ein: " PANGOLIN_ENDPOINT
|
||||||
|
echo "[DEBUG] Endpoint eingegeben: $PANGOLIN_ENDPOINT"
|
||||||
|
|
||||||
SERVICE_CONTENT="[Unit]
|
SERVICE_CONTENT="[Unit]
|
||||||
Description=Newt Client - ${SERVICE_NAME}
|
Description=Newt Client - ${SERVICE_NAME}
|
||||||
@@ -102,6 +110,7 @@ WantedBy=multi-user.target"
|
|||||||
}
|
}
|
||||||
|
|
||||||
perform_install() {
|
perform_install() {
|
||||||
|
echo "[DEBUG] perform_install aufgerufen"
|
||||||
if [ -f "$SERVICE_FILE" ]; then
|
if [ -f "$SERVICE_FILE" ]; then
|
||||||
warn "Dienst ${SERVICE_NAME} existiert bereits. Nutze --reinstall für Neuinstallation."
|
warn "Dienst ${SERVICE_NAME} existiert bereits. Nutze --reinstall für Neuinstallation."
|
||||||
exit 0
|
exit 0
|
||||||
@@ -116,6 +125,7 @@ perform_install() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
perform_update() {
|
perform_update() {
|
||||||
|
echo "[DEBUG] perform_update aufgerufen"
|
||||||
if [ ! -f "$SERVICE_FILE" ]; then
|
if [ ! -f "$SERVICE_FILE" ]; then
|
||||||
error "Dienst ${SERVICE_NAME} nicht installiert. Nutze --install oder --reinstall."
|
error "Dienst ${SERVICE_NAME} nicht installiert. Nutze --install oder --reinstall."
|
||||||
exit 1
|
exit 1
|
||||||
@@ -136,17 +146,21 @@ perform_update() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
perform_reinstall() {
|
perform_reinstall() {
|
||||||
|
echo "[DEBUG] perform_reinstall aufgerufen"
|
||||||
version=$(get_latest_version)
|
version=$(get_latest_version)
|
||||||
version=${version#v}
|
version=${version#v}
|
||||||
info "📦 Neueste Version: ${version}"
|
info "📦 Neueste Version: ${version}"
|
||||||
download_newt "$version"
|
download_newt "$version"
|
||||||
cleanup_old_versions
|
cleanup_old_versions
|
||||||
sudo rm -f "$SERVICE_FILE" || true
|
sudo rm -f "$SERVICE_FILE" || true
|
||||||
|
echo "[DEBUG] Vor setup_systemd_service"
|
||||||
setup_systemd_service
|
setup_systemd_service
|
||||||
|
echo "[DEBUG] Nach setup_systemd_service"
|
||||||
info "🚀 Reinstallation abgeschlossen!"
|
info "🚀 Reinstallation abgeschlossen!"
|
||||||
}
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
|
echo "[DEBUG] main aufgerufen mit MODE=$MODE"
|
||||||
case "$MODE" in
|
case "$MODE" in
|
||||||
install) perform_install ;;
|
install) perform_install ;;
|
||||||
update) perform_update ;;
|
update) perform_update ;;
|
||||||
|
|||||||
Reference in New Issue
Block a user