From 75693af00394d775f5491bd492b7c804efb87090 Mon Sep 17 00:00:00 2001 From: syedowais312 Date: Mon, 22 Jun 2026 14:30:26 +0530 Subject: [PATCH] fix: remove stale instance entry on recreate and guard stop against missing containers Signed-off-by: syedowais312 --- cmd/start.go | 2 +- cmd/stop.go | 2 +- pkg/config/localconfig.go | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cmd/start.go b/cmd/start.go index 1d5066d7..3f745afd 100644 --- a/cmd/start.go +++ b/cmd/start.go @@ -66,8 +66,8 @@ microcks start --name [name of you container/instance]`, errors.CheckError(err) if !exists { fmt.Printf("Container for instance %s no longer exists, recreating it\n", name) + localConfig.RemoveInstance(instance.ContainerID) instance.Status = "" - instance.ContainerID = "" } } diff --git a/cmd/stop.go b/cmd/stop.go index eaba91fd..f94c884a 100644 --- a/cmd/stop.go +++ b/cmd/stop.go @@ -59,7 +59,7 @@ func NewStopCommand(globalClientOpts *connectors.ClientOptions) *cobra.Command { _ = localConfig.RemoveServer(ctx.Server.Server) _ = localConfig.RemoveUser(ctx.User.Name) _ = localConfig.RemoveAuth(ctx.Server.Server) - _ = localConfig.RemoveInstance(instance.Name) + _ = localConfig.RemoveInstance(instance.ContainerID) localConfig.CurrentContext = "" log.Printf("Instance %s removed successfully", instance.Name) diff --git a/pkg/config/localconfig.go b/pkg/config/localconfig.go index 1e5eeda6..5deb95ea 100644 --- a/pkg/config/localconfig.go +++ b/pkg/config/localconfig.go @@ -321,12 +321,12 @@ func (l *LocalConfig) UpsertInstance(instance Instance) { } // Returns true if server was removed successfully -func (l *LocalConfig) RemoveInstance(instanceName string) bool { - if instanceName == "" { +func (l *LocalConfig) RemoveInstance(instanceID string) bool { + if instanceID == "" { return true } for a, i := range l.Instances { - if i.Name == instanceName { + if i.ContainerID == instanceID { l.Instances = append(l.Instances[:a], l.Instances[a+1:]...) return true }