diff --git a/go.mod b/go.mod index dbe232a6248..6612146055b 100644 --- a/go.mod +++ b/go.mod @@ -63,7 +63,7 @@ require ( go.opentelemetry.io/otel/sdk v1.43.0 go.opentelemetry.io/otel/sdk/metric v1.43.0 go.opentelemetry.io/otel/trace v1.43.0 - go.temporal.io/api v1.62.12-0.20260430203359-15c391664683 + go.temporal.io/api v1.62.12-0.20260511225354-0a978d4fd72c go.temporal.io/auto-scaled-workers v0.0.0-20260407181057-edd947d743d2 go.temporal.io/sdk v1.41.1 go.uber.org/fx v1.24.0 diff --git a/go.sum b/go.sum index 957bed1529f..6a6dba82142 100644 --- a/go.sum +++ b/go.sum @@ -469,8 +469,8 @@ go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.3.0 h1:R go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.3.0/go.mod h1:I89cynRj8y+383o7tEQVg2SVA6SRgDVIouWPUVXjx0U= go.opentelemetry.io/proto/slim/otlp/profiles/v1development v0.3.0 h1:CQvJSldHRUN6Z8jsUeYv8J0lXRvygALXIzsmAeCcZE0= go.opentelemetry.io/proto/slim/otlp/profiles/v1development v0.3.0/go.mod h1:xSQ+mEfJe/GjK1LXEyVOoSI1N9JV9ZI923X5kup43W4= -go.temporal.io/api v1.62.12-0.20260430203359-15c391664683 h1:GtwQjX9hN0pRjuneBpl/xvcu9Xl9llAt4GjKrlpP0sg= -go.temporal.io/api v1.62.12-0.20260430203359-15c391664683/go.mod h1:iaxoP/9OXMJcQkETTECfwYq4cw/bj4nwov8b3ZLVnXM= +go.temporal.io/api v1.62.12-0.20260511225354-0a978d4fd72c h1:ADDxNS26VTfDWmW55zYgAFkG6WEU83RHv0HwrarHXtk= +go.temporal.io/api v1.62.12-0.20260511225354-0a978d4fd72c/go.mod h1:iaxoP/9OXMJcQkETTECfwYq4cw/bj4nwov8b3ZLVnXM= go.temporal.io/auto-scaled-workers v0.0.0-20260407181057-edd947d743d2 h1:1hKeH3GyR6YD6LKMHGCZ76t6h1Sgha0hXVQBxWi3dlQ= go.temporal.io/auto-scaled-workers v0.0.0-20260407181057-edd947d743d2/go.mod h1:T8dnzVPeO+gaUTj9eDgm/lT2lZH4+JXNvrGaQGyVi50= go.temporal.io/sdk v1.41.1 h1:yOpvsHyDD1lNuwlGBv/SUodCPhjv9nDeC9lLHW/fJUA= diff --git a/service/frontend/namespace_handler.go b/service/frontend/namespace_handler.go index 6ea50afa5b2..087bc5f7de9 100644 --- a/service/frontend/namespace_handler.go +++ b/service/frontend/namespace_handler.go @@ -903,6 +903,7 @@ func (d *namespaceHandler) createResponse( WorkerHeartbeats: d.config.WorkerHeartbeatsEnabled(info.Name), WorkflowPause: d.config.WorkflowPauseEnabled(info.Name), StandaloneActivities: d.config.Activity.Enabled(info.Name), + StandaloneNexusOperation: d.config.EnableChasm(info.Name) && d.config.StandaloneNexusOperationsEnabled(info.Name), WorkerPollCompleteOnShutdown: d.config.EnableCancelWorkerPollsOnShutdown(info.Name), WorkerCommands: d.config.WorkerCommandsEnabled(info.Name), PollerAutoscaling: true, diff --git a/service/frontend/namespace_handler_test.go b/service/frontend/namespace_handler_test.go index 8d504de04f8..c08e458f58b 100644 --- a/service/frontend/namespace_handler_test.go +++ b/service/frontend/namespace_handler_test.go @@ -388,6 +388,7 @@ func (s *namespaceHandlerCommonSuite) TestCapabilitiesAndLimits() { s.True(resp.NamespaceInfo.Capabilities.WorkerHeartbeats) s.False(resp.NamespaceInfo.Capabilities.WorkflowPause) s.False(resp.NamespaceInfo.Capabilities.StandaloneActivities) + s.False(resp.NamespaceInfo.Capabilities.StandaloneNexusOperation) s.False(resp.NamespaceInfo.Capabilities.WorkerPollCompleteOnShutdown) s.False(resp.NamespaceInfo.Capabilities.WorkerCommands) s.True(resp.NamespaceInfo.Capabilities.PollerAutoscaling) @@ -402,6 +403,8 @@ func (s *namespaceHandlerCommonSuite) TestCapabilitiesAndLimits() { s.config.WorkerHeartbeatsEnabled = dc.GetBoolPropertyFnFilteredByNamespace(false) s.config.WorkflowPauseEnabled = dc.GetBoolPropertyFnFilteredByNamespace(true) s.config.Activity.Enabled = dc.GetBoolPropertyFnFilteredByNamespace(true) + s.config.EnableChasm = dc.GetBoolPropertyFnFilteredByNamespace(true) + s.config.StandaloneNexusOperationsEnabled = dc.GetBoolPropertyFnFilteredByNamespace(true) s.config.BlobSizeLimitError = dc.GetIntPropertyFnFilteredByNamespace(1024) s.config.MemoSizeLimitError = dc.GetIntPropertyFnFilteredByNamespace(512) s.config.EnableCancelWorkerPollsOnShutdown = dc.GetBoolPropertyFnFilteredByNamespace(true) @@ -418,6 +421,7 @@ func (s *namespaceHandlerCommonSuite) TestCapabilitiesAndLimits() { s.False(resp.NamespaceInfo.Capabilities.WorkerHeartbeats) s.True(resp.NamespaceInfo.Capabilities.WorkflowPause) s.True(resp.NamespaceInfo.Capabilities.StandaloneActivities) + s.True(resp.NamespaceInfo.Capabilities.StandaloneNexusOperation) s.True(resp.NamespaceInfo.Capabilities.WorkerPollCompleteOnShutdown) s.True(resp.NamespaceInfo.Capabilities.WorkerCommands) s.Equal(int64(1024), resp.NamespaceInfo.Limits.BlobSizeLimitError) diff --git a/service/frontend/service.go b/service/frontend/service.go index ac561bec1a1..07635c7ce17 100644 --- a/service/frontend/service.go +++ b/service/frontend/service.go @@ -231,6 +231,7 @@ type Config struct { WorkerCommandsEnabled dynamicconfig.BoolPropertyFnWithNamespaceFilter WorkflowPauseEnabled dynamicconfig.BoolPropertyFnWithNamespaceFilter TimeSkippingEnabled dynamicconfig.BoolPropertyFnWithNamespaceFilter + StandaloneNexusOperationsEnabled dynamicconfig.BoolPropertyFnWithNamespaceFilter HTTPAllowedHosts dynamicconfig.TypedPropertyFn[*regexp.Regexp] AllowedExperiments dynamicconfig.TypedPropertyFnWithNamespaceFilter[[]string] @@ -400,6 +401,7 @@ func NewConfig( WorkerCommandsEnabled: dynamicconfig.WorkerCommandsEnabled.Get(dc), WorkflowPauseEnabled: dynamicconfig.WorkflowPauseEnabled.Get(dc), TimeSkippingEnabled: dynamicconfig.TimeSkippingEnabled.Get(dc), + StandaloneNexusOperationsEnabled: chasmnexus.Enabled.Get(dc), HTTPAllowedHosts: dynamicconfig.FrontendHTTPAllowedHosts.Get(dc), AllowedExperiments: dynamicconfig.FrontendAllowedExperiments.Get(dc),