From 59af09b5da504c35d347b981290633336a0afb49 Mon Sep 17 00:00:00 2001 From: Jeremy Schoemaker Date: Tue, 25 Aug 2026 15:49:43 -0500 Subject: [PATCH] fix(compose): restart dependency stuck in Created after watch rebuild Fix verified RED->GREEN. watch rebuild with depends_on leaves dependency stuck in Created (502) at watch.go:697 Signed-off-by: Jeremy Schoemaker --- pkg/compose/watch.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pkg/compose/watch.go b/pkg/compose/watch.go index 00dff1206d..6d15114fc4 100644 --- a/pkg/compose/watch.go +++ b/pkg/compose/watch.go @@ -694,11 +694,17 @@ func (s *composeService) rebuild(ctx context.Context, project *types.Project, se options.LogTo.Log(api.WatchLogger, fmt.Sprintf("service(s) %q successfully built", services)) + // Guard the recreate so it does not cascade to depends_on dependencies. + // Services is informational for the reconciler (whole project converges), + // so without RecreateDependencies=never a rebuild of A that depends on B + // can recreate B and leave it in Created; the following start is scoped + // to A and its dependents, so B stays Created and A gets a 502. err = s.create(ctx, project, api.CreateOptions{ - Services: services, - Inherit: true, - Recreate: api.RecreateForce, - SkipProviders: true, + Services: services, + Inherit: true, + Recreate: api.RecreateForce, + RecreateDependencies: api.RecreateNever, + SkipProviders: true, }) if err != nil { options.LogTo.Log(api.WatchLogger, fmt.Sprintf("Failed to recreate services after update. Error: %v", err))