From d449255bc9ddb6dcaca5c82de29ba54ecb66e4d9 Mon Sep 17 00:00:00 2001 From: LordMathis Date: Sat, 2 Aug 2025 21:23:31 +0200 Subject: [PATCH] Persist instance state after starting and stopping instances --- pkg/manager.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkg/manager.go b/pkg/manager.go index e95fbd2..8a9fc9f 100644 --- a/pkg/manager.go +++ b/pkg/manager.go @@ -210,6 +210,13 @@ func (im *instanceManager) StartInstance(name string) (*Instance, error) { return nil, fmt.Errorf("failed to start instance %s: %w", name, err) } + im.mu.Lock() + defer im.mu.Unlock() + err := im.persistInstance(instance) + if err != nil { + return nil, fmt.Errorf("failed to persist instance %s: %w", name, err) + } + return instance, nil } @@ -230,6 +237,13 @@ func (im *instanceManager) StopInstance(name string) (*Instance, error) { return nil, fmt.Errorf("failed to stop instance %s: %w", name, err) } + im.mu.Lock() + defer im.mu.Unlock() + err := im.persistInstance(instance) + if err != nil { + return nil, fmt.Errorf("failed to persist instance %s: %w", name, err) + } + return instance, nil }