deploy.update_config.order support to start-first or stop-first when replacing containers (#248)

This commit is contained in:
Nick
2026-02-09 09:31:19 +00:00
committed by GitHub
parent 2588279e52
commit 53bf446502
8 changed files with 617 additions and 49 deletions
+14
View File
@@ -97,6 +97,20 @@ func ServiceSpecFromCompose(project *types.Project, serviceName string) (api.Ser
default:
return spec, fmt.Errorf("unsupported deploy mode: '%s'", service.Deploy.Mode)
}
// Parse update_config.order
if cfg := service.Deploy.UpdateConfig; cfg != nil {
switch cfg.Order {
case "":
// No order specified, use default behavior.
case "start-first":
spec.UpdateConfig.Order = api.UpdateOrderStartFirst
case "stop-first":
spec.UpdateConfig.Order = api.UpdateOrderStopFirst
default:
return spec, fmt.Errorf("unsupported update_config.order: '%s'", cfg.Order)
}
}
}
// TODO: can service.tmpfs be handled as tmpfs volume mounts as well?