Skip to content
19 changes: 11 additions & 8 deletions src/NexusStandaloneOperations/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Nexus Standalone Operations

> [!NOTE]
> ✨ **Standalone Nexus Operations are now in [Public Preview](https://docs.temporal.io/evaluate/development-production-features/release-stages#public-preview).**
> We aim to preserve backward compatibility and avoid breaking changes.

This sample demonstrates how to use Standalone Nexus Operations (executing Nexus operations directly
from client code without wrapping them in a Workflow). It shows both sync and async
(workflow-backed) operations, and how to use the `ListNexusOperationsAsync` and
Expand All @@ -11,25 +15,24 @@ configured via the SDK's [environment configuration](https://docs.temporal.io/de
support (`ClientEnvConfig.LoadClientConnectOptions()`), which reads `TEMPORAL_NAMESPACE`,
`TEMPORAL_ADDRESS`, etc. from the environment (and optionally profiles from `temporal.toml`).

> [!NOTE]
> Standalone Nexus operations require a server version that supports this feature. Use the dev
> server build at:
> https://github.com/temporalio/cli/releases/tag/v1.7.4-standalone-nexus-operations.

## Run locally against a dev server

1. Start the [Temporal dev server build that supports standalone Nexus operations](https://docs.temporal.io/standalone-nexus-operation#temporal-cli-support) with the required namespaces pre-created:
> [!NOTE]
> Standalone Nexus Operations require a server that supports this feature. For local development, use Temporal CLI v1.9.1 or later and enable SANO as shown below.

1. Start a [Temporal dev server](https://docs.temporal.io/cli/setup-cli) with the required namespaces pre-created:

```bash
./temporal server start-dev \
temporal server start-dev \
--dynamic-config-value "nexusoperation.enableStandalone=true" \
--namespace my-caller-namespace \
--namespace my-handler-namespace
```

2. Create a Nexus endpoint that routes to the handler namespace and the worker's task queue:

```bash
./temporal operator nexus endpoint create \
temporal operator nexus endpoint create \
--name my-nexus-endpoint \
--target-namespace my-handler-namespace \
--target-task-queue nexus-handler-queue
Expand Down
Loading