From 6ee9dce3004d101012ad4c8fae49b69debefe517 Mon Sep 17 00:00:00 2001 From: biersoeckli Date: Sun, 2 Feb 2025 11:44:30 +0000 Subject: [PATCH] fix: improve password reset script --- setup/reset-password.sh | 19 ++++++++++--------- .../standalone-services/app-logs.service.ts | 6 +++++- .../password-change.service.ts | 13 +++++++++++-- 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/setup/reset-password.sh b/setup/reset-password.sh index 9431bc0..688965d 100644 --- a/setup/reset-password.sh +++ b/setup/reset-password.sh @@ -1,4 +1,6 @@ -#!/bin/bash +#!/bin/sh + +# curl -sfL https://get.quickstack.dev/reset-password.sh | sh - DEPLOYMENT="quickstack" NAMESPACE="quickstack" @@ -25,17 +27,16 @@ kubectl patch deployment "$DEPLOYMENT" -n "$NAMESPACE" --type='json' -p='[ echo "Initialized password change successfully, please wait..." -# Wait for a new pod to be created +sleep 2 + +echo "Waiting for the new pod to be in Running status..." +kubectl wait --for=condition=Ready pod -l app="$DEPLOYMENT" -n "$NAMESPACE" --timeout=300s + +# Retreive the new pod name NEW_POD="" -while [[ -z "$NEW_POD" || "$NEW_POD" == "$OLD_POD" ]]; do +while [ -z "$NEW_POD" ] || [ "$NEW_POD" = "$OLD_POD" ]; do sleep 2 NEW_POD=$(kubectl get pods -n "$NAMESPACE" -l app="$DEPLOYMENT" -o jsonpath="{.items[-1].metadata.name}") done -echo "New pod detected: $NEW_POD" - -# Wait until the new pod is in Running state -echo "Waiting for pod $NEW_POD to be in Running state..." -kubectl wait --for=condition=ready pod "$NEW_POD" -n "$NAMESPACE" --timeout=60s - kubectl logs -f "$NEW_POD" -n "$NAMESPACE" \ No newline at end of file diff --git a/src/server/services/standalone-services/app-logs.service.ts b/src/server/services/standalone-services/app-logs.service.ts index 6f549b8..c1c54da 100644 --- a/src/server/services/standalone-services/app-logs.service.ts +++ b/src/server/services/standalone-services/app-logs.service.ts @@ -93,7 +93,11 @@ class AppLogsService { async writeLogsToDiskForAllRunningApps(date?: Date) { const apps = await dataAccess.client.app.findMany(); for (const app of apps) { - await this.writeAppLogsToDiskForApp(app.id, date); + try { + await this.writeAppLogsToDiskForApp(app.id, date); + } catch (error) { + console.error(`Error writing logs to disk for app ${app.id}`, error); + } } } diff --git a/src/server/services/standalone-services/password-change.service.ts b/src/server/services/standalone-services/password-change.service.ts index f421d47..fb2103c 100644 --- a/src/server/services/standalone-services/password-change.service.ts +++ b/src/server/services/standalone-services/password-change.service.ts @@ -30,13 +30,22 @@ class PasswordChangeService { } }); - console.log(' ******* Password change *******'); + console.log(``); + console.log(``); + console.log('*******************************'); + console.log('******* Password change *******'); + console.log('*******************************'); console.log(``); console.log(`New password for user ${firstCreatedUser.email} is: ${generatedPassword}`); console.log(``); - console.log(' *******************************'); + console.log('*******************************'); + console.log('*******************************'); + console.log('*******************************'); + console.log(``); console.log(``); console.log(`Restarting QuickStack, please wait...`); + console.log(``); + console.log(``); const existingDeployment = await quickStackService.getExistingDeployment(); await quickStackService.createOrUpdateDeployment(existingDeployment.nextAuthSecret, existingDeployment.isCanaryDeployment ? 'canary' : 'latest');