# Get Started with Redpanda Connect using `rpk`

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

---
title: Get Started with Redpanda Connect using <code>rpk</code>
latest-connect-version: 4.93.0
latest-operator-version: v26.1.4
latest-console-tag: v3.7.3
latest-redpanda-tag: v26.1.9
docname: quickstarts/rpk
page-component-name: connect
page-version: master
page-component-version: master
page-component-title: Connect
page-relative-src-path: quickstarts/rpk.adoc
page-edit-url: https://github.com/redpanda-data/rp-connect-docs/edit/main/modules/get-started/pages/quickstarts/rpk.adoc
description: Deploy your first pipelines using Redpanda Connect and <code>rpk</code>.
page-git-created-date: "2024-11-14"
page-git-modified-date: "2026-05-26"
---

<!-- Source: https://docs.redpanda.com/connect/get-started/quickstarts/rpk.md -->

This guide explains how to get started with Redpanda Connect using `rpk`, the Redpanda command-line interface (CLI). You can also install and run `rpk` in [FIPS compliance mode](#fips-compliance).

## [](#install)Install

The `rpk` CLI allows you to create and manage data pipelines with Redpanda Connect as well as [interact with Redpanda clusters](https://docs.redpanda.com/streaming/current/get-started/rpk-install/).

> 📝 **NOTE**
>
> The `rpk` CLI also includes an `rpk connect` plugin, which manages installations and upgrades of Redpanda Connect. This plugin is automatically installed when you first run `rpk connect` commands, unless you run `rpk connect --version`, which prompts you to install the plugin.

Also interacting with a Redpanda cluster?

If you want to use `rpk` to also communicate with a Redpanda cluster, ensure the version of `rpk` that you install matches the version of Redpanda running in your cluster.

### [](#linux)Linux

To install, or update to, the latest version of `rpk` for Linux, run:

#### amd64

```bash
curl -LO https://github.com/redpanda-data/redpanda/releases/latest/download/rpk-linux-amd64.zip &&
  mkdir -p ~/.local/bin &&
  export PATH="~/.local/bin:$PATH" &&
  unzip rpk-linux-amd64.zip -d ~/.local/bin/
```

#### arm64

```bash
curl -LO https://github.com/redpanda-data/redpanda/releases/latest/download/rpk-linux-arm64.zip &&
  mkdir -p ~/.local/bin &&
  export PATH="~/.local/bin:$PATH" &&
  unzip rpk-linux-arm64.zip -d ~/.local/bin/
```

> 💡 **TIP**
>
> You can use `rpk` on Windows only with [WSL](https://learn.microsoft.com/windows/wsl/install). However, commands that require Redpanda to be installed on your machine are not supported, such as [`rpk container`](https://docs.redpanda.com/streaming/current/reference/rpk/rpk-container/rpk-container/) commands, [`rpk iotune`](https://docs.redpanda.com/streaming/current/reference/rpk/rpk-iotune/), and [`rpk redpanda`](https://docs.redpanda.com/streaming/current/reference/rpk/rpk-redpanda/rpk-redpanda/) commands.

To install, or update to, a version other than the latest, run:

#### amd64

```bash
curl -LO https://github.com/redpanda-data/redpanda/releases/download/v<version>/rpk-linux-amd64.zip &&
  mkdir -p ~/.local/bin &&
  export PATH="~/.local/bin:$PATH" &&
  unzip rpk-linux-amd64.zip -d ~/.local/bin/
```

#### arm64

```bash
curl -LO https://github.com/redpanda-data/redpanda/releases/download/v<version>/rpk-linux-arm64.zip &&
  mkdir -p ~/.local/bin &&
  export PATH="~/.local/bin:$PATH" &&
  unzip rpk-linux-arm64.zip -d ~/.local/bin/
```

#### [](#fips-compliance)FIPS compliance

> 📝 **NOTE**
>
> This feature requires an [enterprise license](https://docs.redpanda.com/connect/get-started/licensing/). You can either [upgrade to an Enterprise Edition license](https://www.redpanda.com/upgrade), or [generate a trial license key](http://redpanda.com/try-enterprise) that’s valid for 30 days.

To install `rpk` to run the latest version of Redpanda Connect in FIPS-compliant mode, you must install the `redpanda-rpk-fips` and `redpanda-connect-fips` packages. Both packages are built using the [Microsoft GoLang compiler](https://github.com/microsoft/go) and the [Microsoft’s Go Crypto OpenSSL package](https://github.com/microsoft/go-crypto-openssl), which uses the FIPS-approved version of OpenSSL.

> ❗ **IMPORTANT**
>
> The packages for FIPS-compliant `rpk` (`redpanda-rpk-fips`) and Redpanda `rpk` (`redpanda-rpk`) are mutually exclusive, and so cannot be installed in the same environment.

##### RHEL

1.  To make sure your distribution is up to date, run:

    ```bash
    sudo dnf upgrade
    ```

2.  Add `redpanda` to your `dnf` list of repositories.

    ```bash
    curl -1sLf 'https://dl.redpanda.com/nzc4ZYQK3WRGd9sy/redpanda/cfg/setup/bash.rpm.sh' | \
    sudo -E bash
    ```

3.  Install Redpanda packages for FIPS compliance.

    ```bash
    sudo dnf install -y redpanda-rpk-fips redpanda-connect-fips
    ```

4.  Verify your installation.

    ```bash
    rpk connect --version
    ```


To keep up-to-date with Redpanda Connect releases, run the following command:

```bash
sudo dnf update
```

##### Debian/Ubuntu

1.  To make sure your distribution is up to date, run:

    ```bash
    sudo apt upgrade
    ```

2.  Add `redpanda` to your `apt` list of repositories.

    ```bash
    curl -1sLf 'https://dl.redpanda.com/nzc4ZYQK3WRGd9sy/redpanda/cfg/setup/bash.deb.sh' | sudo -E bash
    ```

3.  Install Redpanda packages for FIPS compliance.

    ```bash
    sudo apt install -y redpanda-rpk-fips redpanda-connect-fips
    ```

4.  Verify your installation.

    ```bash
    rpk connect --version
    ```


To keep up-to-date with the Redpanda Connect releases, run the following command:

```bash
sudo apt update
```

### [](#macos)MacOS

#### Homebrew

1.  If you don’t have Homebrew installed, [install it](https://brew.sh/).

2.  To install or update `rpk`, run:

    ```bash
    brew install redpanda-data/tap/redpanda
    ```

#### Manual Download

To install or update `rpk` through a manual download, choose the option for your system architecture. For example, if you have an M1 or newer chip, select **Apple Silicon**.
##### Intel macOS

To install, or update to, the latest version of `rpk` for Intel macOS, run:

```bash
curl -LO https://github.com/redpanda-data/redpanda/releases/latest/download/rpk-darwin-amd64.zip &&
  mkdir -p ~/.local/bin &&
  export PATH="~/.local/bin:$PATH" &&
  unzip rpk-darwin-amd64.zip -d ~/.local/bin/
```

To install, or update to, a version other than the latest, run:

```bash
curl -LO https://github.com/redpanda-data/redpanda/releases/download/v<version>/rpk-darwin-amd64.zip &&
  mkdir -p ~/.local/bin &&
  export PATH="~/.local/bin:$PATH" &&
  unzip rpk-darwin-amd64.zip -d ~/.local/bin/
```

##### Apple Silicon

To install, or update to, the latest version of `rpk` for Apple Silicon, run:

```bash
curl -LO https://github.com/redpanda-data/redpanda/releases/latest/download/rpk-darwin-arm64.zip &&
  mkdir -p ~/.local/bin &&
  export PATH="~/.local/bin:$PATH" &&
  unzip rpk-darwin-arm64.zip -d ~/.local/bin/
```

To install, or update to, a version other than the latest, run:

```bash
curl -LO https://github.com/redpanda-data/redpanda/releases/download/v<version>/rpk-darwin-arm64.zip &&
  mkdir -p ~/.local/bin &&
  export PATH="~/.local/bin:$PATH" &&
  unzip rpk-darwin-arm64.zip -d ~/.local/bin/
```

### [](#docker)Docker

To use `rpk` in Docker, you can use the Redpanda Docker image, which includes both Redpanda and `rpk` as part of the installation.

```bash
docker pull docker.redpanda.com/redpandadata/connect
```

## [](#run-a-pipeline)Run a pipeline

A Redpanda Connect stream pipeline is configured with a single [config file](https://docs.redpanda.com/connect/configuration/about/), you can generate a fresh one with:

```bash
rpk connect create > connect.yaml
```

> 📝 **NOTE**
>
> This command may take a few seconds to run. If this is the first `rpk connect` command you have run, the `rpk connect plugin` is automatically installed.

For Docker installations:

```bash
docker run --rm docker.redpanda.com/redpandadata/connect create > ./connect.yaml
```

The main sections that make up a config are `input`, `pipeline` and `output`. When you generate a fresh config it’ll simply pipe `stdin` to `stdout` like this:

```yaml
input:
  stdin: {}

pipeline:
  processors: []

output:
  stdout: {}
```

Eventually we’ll want to configure a more useful [input](https://docs.redpanda.com/connect/components/inputs/about/) and [output](https://docs.redpanda.com/connect/components/outputs/about/), but for now this is useful for quickly testing processors. You can execute this config with:

```bash
rpk connect run connect.yaml
```

For Docker installations:

```bash
docker run --rm -it -v $(pwd)/connect.yaml:/connect.yaml docker.redpanda.com/redpandadata/connect run
```

Anything you write to stdin will get written unchanged to stdout! Resist the temptation to play with this for hours, there’s more stuff to try out.

Next, let’s add some processing steps in order to mutate messages. The most powerful one is the [`mapping` processor](https://docs.redpanda.com/connect/components/processors/mapping/) which allows us to perform mappings, let’s add a mapping to uppercase our messages:

```yaml
input:
  stdin: {}

pipeline:
  processors:
    - mapping: root = content().uppercase()

output:
  stdout: {}
```

Now your messages should come out in all caps.

You can add as many [processing steps](https://docs.redpanda.com/connect/components/processors/about/) as you like, and since processors are what make Redpanda Connect powerful they are worth experimenting with. Let’s create a more advanced pipeline that works with JSON documents:

```yaml
input:
  stdin: {}

pipeline:
  processors:
    - sleep:
        duration: 500ms
    - mapping: |
        root.doc = this
        root.first_name = this.names.index(0).uppercase()
        root.last_name = this.names.index(-1).hash("sha256").encode("base64")

output:
  stdout: {}
```

First, we sleep for 500 milliseconds just to keep the suspense going. Next, we restructure our input JSON document by nesting it within a field `doc`, we map the upper-cased first element of `names` to a new field `first_name`. Finally, we map the hashed and base64 encoded value of the last element of `names` to a new field `last_name`.

Try running that config with some sample documents:

```bash
echo '{"id":"1","names":["celine","dion"]}
{"id":"2","names":["chad","robert","kroeger"]}' | rpk connect run connect.yaml
```

For Docker installations:

```bash
echo '{"id":"1","names":["celine","dion"]}
{"id":"2","names":["chad","robert","kroeger"]}' | docker run --rm -i -v $(pwd)/connect.yaml:/connect.yaml docker.redpanda.com/redpandadata/connect run
```

You should see this output in the logs:

```json
{"doc":{"id":"1","names":["celine","dion"]},"first_name":"CELINE","last_name":"1VvPgCW9sityz5XAMGdI2BTA7/44Wb3cANKxqhiCo50="}
{"doc":{"id":"2","names":["chad","robert","kroeger"]},"first_name":"CHAD","last_name":"uXXg5wCKPjpyj/qbivPbD9H9CZ5DH/F0Q1Twytnt2hQ="}
```

See also:

-   [Bloblang Walkthrough](https://docs.redpanda.com/connect/guides/bloblang/walkthrough/)

-   [Inputs](https://docs.redpanda.com/connect/components/inputs/about/)

-   [Processors](https://docs.redpanda.com/connect/components/processors/about/)

-   [Outputs](https://docs.redpanda.com/connect/components/outputs/about/)

-   [Monitoring](https://docs.redpanda.com/connect/guides/monitoring/)

-   [Cookbooks](https://docs.redpanda.com/connect/cookbooks/)

-   [More about configuration](https://docs.redpanda.com/connect/configuration/about/)