Skip to content

Commit 16a8c65

Browse files
stephanosclaude
andcommitted
Clarify forwarding config and avoid duplicating Multi-Cluster Replication
- Split auto-forwarding into its two required parts: the static dcRedirectionPolicy (defaults to no redirection) and the per-Namespace system.enableNamespaceNotActiveAutoForwarding dynamic config. - Trim the httpAddress step to the Nexus-specific delta (httpPort + httpAddress) and defer base clusterMetadata/rpcAddress setup to the Multi-Cluster Replication page it links to. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 81c5e94 commit 16a8c65

1 file changed

Lines changed: 20 additions & 13 deletions

File tree

docs/production-deployment/self-hosted-guide/temporal-nexus.mdx

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -112,32 +112,39 @@ target an external URL (`--target-url`), which is experimental and not covered h
112112
[Nexus Endpoint registry](/nexus/registry) isn't replicated across Clusters.
113113
Create the same Endpoints (same target Namespace and Task Queue) on each Cluster.
114114

115-
3. **Give every Cluster a frontend HTTP address, set *and* advertised.** Each
116-
Cluster must set a local `frontend.rpc.httpPort` and advertise it through
117-
`clusterMetadata.clusterInformation.<cluster>.httpAddress`. This is the same
118-
`httpAddress` shown in [Enable Nexus](#enable-nexus), but for failover you set it
119-
on **every** Cluster, each with its own address. Callback routing resolves this
120-
address at delivery time. Without it, cross-Cluster callbacks fail with
115+
3. **Advertise a frontend HTTP address on every Cluster.** On top of the
116+
`clusterMetadata` you configured for replication, each Cluster must set a local
117+
`frontend.rpc.httpPort` and add an `httpAddress` to its `clusterInformation`
118+
entry so peers can reach it. Callback routing resolves this address at delivery
119+
time. Without it, cross-Cluster callbacks fail with
121120
`HTTPAddress not configured for cluster: <name>`. The `operator cluster upsert`
122121
command doesn't set `httpAddress`, so configure it explicitly and re-run
123122
`upsert` after changing it.
124123

125124
```yaml
126-
# cluster-a (repeat on every Cluster with its own addresses)
127125
services:
128126
frontend:
129127
rpc:
130128
httpPort: 7243
131129
clusterMetadata:
132130
clusterInformation:
133-
cluster-a:
134-
rpcAddress: "cluster-a-host:7233"
135-
httpAddress: "cluster-a-host:7243" # advertised to peers, required
131+
cluster-a: # existing replication entry, per Cluster
132+
httpAddress: "cluster-a-host:7243" # add this, advertised to peers
136133
```
137134

138-
4. **Enable automatic forwarding** (per Namespace) so a request that lands on a
139-
standby Cluster forwards to the active one, with the frontend
140-
`dcRedirectionPolicy` set to allow redirection (for example, `all-apis-forwarding`).
135+
4. **Enable automatic forwarding** so a request that lands on a standby Cluster
136+
forwards to the active one. This has two parts.
137+
138+
Set the server's `dcRedirectionPolicy` in static config. It defaults to no
139+
redirection, so you must set it to `all-apis-forwarding` (or
140+
`selected-apis-forwarding`):
141+
142+
```yaml
143+
dcRedirectionPolicy:
144+
policy: "all-apis-forwarding"
145+
```
146+
147+
Turn on auto-forwarding per Namespace in dynamic config:
141148

142149
```yaml
143150
system.enableNamespaceNotActiveAutoForwarding:

0 commit comments

Comments
 (0)