# rpk transform deploy

> For the complete documentation index, see [llms.txt](https://docs.redpanda.com/llms.txt). Component-specific: [streaming-full.txt](https://docs.redpanda.com/streaming-full.txt)

---
title: rpk transform deploy
latest-operator-version: v26.1.4
# EOL = End-of-Life (support lifecycle status)
page-is-nearing-eol: "false"
page-is-past-eol: "true"
page-eol-date: July 31, 2025
latest-console-tag: v3.7.3
latest-connect-version: 4.93.0
docname: rpk/rpk-transform/rpk-transform-deploy
page-component-name: streaming
page-version: "24.2"
page-component-version: "24.2"
page-component-title: Streaming
page-relative-src-path: rpk/rpk-transform/rpk-transform-deploy.adoc
page-edit-url: https://github.com/redpanda-data/docs/edit/v/24.2/modules/reference/pages/rpk/rpk-transform/rpk-transform-deploy.adoc
page-git-created-date: "2023-12-22"
page-git-modified-date: "2024-08-01"
support-status: past end-of-life
---

<!-- Source: https://docs.redpanda.com/streaming/24.2/reference/rpk/rpk-transform/rpk-transform-deploy.md -->

Deploy a data transform.

When run in the same directory as a `transform.yaml`, this reads the configuration file, then looks for a `.wasm` file with the same name as your project. If the input and output topics are specified in the configuration file, those are used. Otherwise, the topics can be specified on the command line using the `--input-topic` and `--output-topic` flags.

You can specify environment variables for the transform using the `--var` flag. Variables are separated by an equal sign. For example: `--var=KEY=VALUE`. The `--var` flag can be repeated to specify multiple variables.

You can specify the `--from-offset` flag to identify where on the input topic the transform should begin processing. Expressed as:

-   `@T` - Begin reading records with committed timestamp >= T (UNIX time, ms from epoch)

-   `+N` - Begin reading N records from the start of each input partition

-   `-N` - Begin reading N records prior to the end of each input partition


Note that the broker will only respect `--from-offset` on the first deploy for a given transform. Re-deploying the transform will cause processing to pick up at the last committed offset. This state is maintained until the transform is deleted.

## [](#usage)Usage

```bash
rpk transform deploy [flags]
```

## [](#flags)Flags

| Value | Type | Description |
| --- | --- | --- |
| --file | string | The WebAssembly module to deploy. |
| -h, --help | - | Help for deploy. |
| -i, --input-topic | string | The input topic to apply the transform to. |
| --name | string | The name of the transform. |
| -o, --output-topic | strings | The output topic to write the transform results to (repeatable). |
| --var | environmentVariable | Specify an environment variable in the form of KEY=VALUE. |
| --config | string | Redpanda or rpk config file; default search paths are /var/lib/redpanda/.config/rpk/rpk.yaml, $PWD/redpanda.yaml, and /etc/redpanda/redpanda.yaml. |
| -X, --config-opt | stringArray | Override rpk configuration settings. See rpk -X or execute rpk -X help for inline detail or rpk -X list for terser detail. |
| --profile | string | Profile to use. See rpk profile for more details. |
| -v, --verbose | - | Enable verbose logging. |

## [](#examples)Examples

Deploy Wasm files directly without a `transform.yaml` file:

```bash
rpk transform deploy --file transform.wasm --name myTransform \
--input-topic my-topic-1 \
--output-topic my-topic-2
--output-topic my-topic-3
```

Deploy a transformation with multiple environment variables:

```bash
rpk transform deploy --var FOO=BAR --var FIZZ=BUZZ
```