Add standalone Nexus operation namespace capability (#10206)

## What changed?

Add standalone Nexus operation namespace capability
This commit is contained in:
Stephan Behnke
2026-05-15 17:34:54 +00:00
committed by GitHub
parent 57667790f9
commit 3e4fd2fb44
5 changed files with 10 additions and 3 deletions
+1 -1
View File
@@ -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
+2 -2
View File
@@ -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=
+1
View File
@@ -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,
@@ -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)
+2
View File
@@ -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),