#!/usr/bin/env bash # ============================================================================== # Rollback Script: Radio Chicken Kubernetes -> Standalone Docker on Host # ============================================================================== set -euo pipefail CLUSTER_HOST="10.2.0.4" SSH_USER="bart" HTPC_NS="htpc" KUBECONFIG_PATH="${KUBECONFIG:-$HOME/.kube/config_vmserver}" COLOR_GREEN="\033[0;32m" COLOR_YELLOW="\033[1;33m" COLOR_RED="\033[0;31m" COLOR_RESET="\033[0m" log_info() { echo -e "${COLOR_GREEN}[INFO]${COLOR_RESET} $1"; } log_warn() { echo -e "${COLOR_YELLOW}[WARN]${COLOR_RESET} $1"; } log_err() { echo -e "${COLOR_RED}[ERROR]${COLOR_RESET} $1"; } echo "========================================================================" echo " TERUGROLLEN RADIO CHICKEN: KUBERNETES -> STANDALONE HOST DOCKER" echo "========================================================================" read -p "Weet je zeker dat je Radio Chicken wilt terugrollen naar de host Docker containers? (j/N): " -r CONFIRM if [[ ! "$CONFIRM" =~ ^[jJyY]$ ]]; then log_info "Terugrol geannuleerd." exit 0 fi log_info "1. Schalen van Kubernetes deployment/radio-chicken naar 0..." KUBECONFIG="${KUBECONFIG_PATH}" kubectl scale deployment/radio-chicken -n "${HTPC_NS}" --replicas=0 log_info "2. Herstarten van Docker containers op ${CLUSTER_HOST}..." ssh "${SSH_USER}@${CLUSTER_HOST}" " cd /home/bart/jellyfinradio echo '--> Starten van docker-compose...' docker compose up -d " log_info "3. Verifiëren van status op ${CLUSTER_HOST}..." sleep 5 if curl -s -f -o /dev/null "http://${CLUSTER_HOST}:5000/live"; then log_info "✅ Radio Chicken draait weer op de host via Docker." else log_warn "⚠️ Radio Chicken reageert nog niet direct op poort 5000." fi echo "========================================================================" log_info "Terugrol voltooid." echo "========================================================================"