From cc1e665b324a8d8e72f4e85af844a1e97260d94b Mon Sep 17 00:00:00 2001 From: Radoslav Dimitrov Date: Tue, 16 Dec 2025 23:01:55 +0200 Subject: [PATCH] Ensure no downtime during rollouts (#854) ## Motivation and Context The following PR ensures we don't have downtime when we are doing rollouts during deployment/promotions. ## How Has This Been Tested? ## Breaking Changes ## Types of changes - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Documentation update ## Checklist - [ ] I have read the [MCP Documentation](https://modelcontextprotocol.io) - [ ] My code follows the repository's style guidelines - [ ] New and existing tests pass locally - [ ] I have added appropriate error handling - [ ] I have added or updated documentation as needed ## Additional context Signed-off-by: Radoslav Dimitrov --- deploy/pkg/k8s/registry.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/deploy/pkg/k8s/registry.go b/deploy/pkg/k8s/registry.go index 71d5f75..4655203 100644 --- a/deploy/pkg/k8s/registry.go +++ b/deploy/pkg/k8s/registry.go @@ -72,6 +72,13 @@ func DeployMCPRegistry(ctx *pulumi.Context, cluster *providers.ProviderInfo, env }, Spec: &v1.DeploymentSpecArgs{ Replicas: pulumi.Int(2), + Strategy: &v1.DeploymentStrategyArgs{ + Type: pulumi.String("RollingUpdate"), + RollingUpdate: &v1.RollingUpdateDeploymentArgs{ + MaxUnavailable: pulumi.IntPtr(0), // Never reduce capacity during updates + MaxSurge: pulumi.IntPtr(1), // Create new pods first, then terminate old + }, + }, Selector: &metav1.LabelSelectorArgs{ MatchLabels: pulumi.StringMap{ "app": pulumi.String("mcp-registry"),