# Add an Enterprise Edition License to Redpanda in Kubernetes

> 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: Add an Enterprise Edition License to Redpanda in Kubernetes
latest-redpanda-tag: v26.1.9
latest-console-tag: v3.7.3
latest-operator-version: v26.1.4
# EOL = End-of-Life (support lifecycle status)
page-is-nearing-eol: "false"
page-is-past-eol: "false"
page-eol-date: March 31, 2027
latest-connect-version: 4.93.0
docname: licensing/add-license-redpanda/kubernetes
page-component-name: streaming
page-version: "26.1"
page-component-version: "26.1"
page-component-title: Streaming
page-relative-src-path: licensing/add-license-redpanda/kubernetes.adoc
page-edit-url: https://github.com/redpanda-data/docs/edit/main/modules/get-started/pages/licensing/add-license-redpanda/kubernetes.adoc
description: Learn how to add or update a Redpanda Enterprise Edition license in a Kubernetes environment.
page-git-created-date: "2024-12-03"
page-git-modified-date: "2026-05-26"
support-status: supported
---

<!-- Source: https://docs.redpanda.com/streaming/current/get-started/licensing/add-license-redpanda/kubernetes.md -->

To enable [enterprise features for Redpanda Streaming](https://docs.redpanda.com/streaming/current/get-started/licensing/overview/), you must have an Enterprise Edition license. This guide outlines how to apply or update an Enterprise Edition license for Redpanda Streaming in a Kubernetes environment.

## [](#prerequisites)Prerequisites

You must have an Enterprise Edition license. To get a trial license key or extend your trial period, [generate a new trial license key](https://redpanda.com/try-enterprise). To purchase a license, contact [Redpanda Sales](https://redpanda.com/upgrade).

## [](#add-a-new-license)Add a new license

Redpanda supports the following ways to apply a new license:

-   [Use a Kubernetes Secret to store the license](#secret).

-   [Provide the license string inline in your Helm values or manifest file](#inline).

-   [Use Redpanda Console to upload the license to Redpanda](#console).


### [](#secret)Use a Kubernetes Secret

You can store the license in a Kubernetes Secret and reference it in your Helm values or manifest file.

1.  Download your license file (`redpanda.license`) and create a Kubernetes Secret:

    ```bash
    kubectl create secret generic redpanda-license \
    --from-file=license=./redpanda.license \
    --namespace <namespace>
    ```

    This command creates a Kubernetes Secret named `redpanda-license` in the specified namespace, containing the license file.

2.  Reference the Secret:

    #### Operator

    `redpanda-cluster.yaml`

    ```yaml
    apiVersion: cluster.redpanda.com/v1alpha2
    kind: Redpanda
    metadata:
      name: redpanda
    spec:
      chartRef: {}
      clusterSpec:
        enterprise:
          licenseSecretRef:
            name: redpanda-license
            key: license
    ```

    ```bash
    kubectl apply -f redpanda-cluster.yaml --namespace <namespace>
    ```


    #### Helm


    ##### --values

    `redpanda-license.yaml`

    ```yaml
    enterprise:
      licenseSecretRef:
        name: redpanda-license
        key: license
    ```

    ```bash
    helm upgrade --install redpanda redpanda/redpanda --namespace <namespace> --create-namespace \
      --values redpanda-license.yaml --reuse-values
    ```


    ##### --set

    ```bash
    helm upgrade --install redpanda redpanda/redpanda \
      --namespace <namespace> \
      --create-namespace \
      --set enterprise.licenseSecretRef.name=redpanda-license \
      --set enterprise.licenseSecretRef.key=license
    ```


### [](#inline)Provide the license inline

If you prefer to provide the license string directly, you can do so as follows:

#### Operator

`redpanda-cluster.yaml`

```yaml
apiVersion: cluster.redpanda.com/v1alpha2
kind: Redpanda
metadata:
  name: redpanda
spec:
  chartRef: {}
  clusterSpec:
    enterprise:
      license: <license-key>
```

```bash
kubectl apply -f redpanda-cluster.yaml --namespace <namespace>
```

#### Helm

##### --values

`redpanda-license.yaml`

```yaml
enterprise:
  license: <license-key>
```

```bash
helm upgrade --install redpanda redpanda/redpanda --namespace <namespace> --create-namespace \
  --values redpanda-license.yaml --reuse-values
```

##### --set

```bash
helm upgrade --install redpanda redpanda/redpanda \
  --namespace <namespace> \
  --create-namespace \
  --set enterprise.license=<license-key>
```

### [](#console)Use Redpanda Console

You can upload a license directly through Redpanda Console.

See [Manage Enterprise Edition Licenses through Redpanda Console](https://docs.redpanda.com/streaming/current/console/ui/add-license/).

## [](#verify-a-license)Verify a license

After adding or updating a license, you can use `rpk` to verify that the license was set.

```bash
kubectl exec <pod-name> --namespace <namespace> -c redpanda -- \
  rpk cluster license info
```

This command will display the current license details, including the expiration date and whether any enterprise features are active. For example:

LICENSE INFORMATION
===================
Organization:      redpanda
Type:              enterprise
Expires:           Oct 24 2027

> 📝 **NOTE**
>
> Redpanda blocks upgrades to new feature releases if enterprise features are active without a valid license. Ensure compliance by obtaining a license to maintain access to the latest features and updates.

## [](#update-an-existing-license)Update an existing license

The process for updating a license depends on how it was originally applied:

-   [Update the Kubernetes Secret](#secret-update).

-   [Update the license string inline in your Helm values or manifest file](#inline-update).

-   [Use Redpanda Console](https://docs.redpanda.com/streaming/current/console/ui/add-license/)


When a new license is uploaded, enterprise features in Redpanda Streaming are unlocked immediately without requiring a cluster restart. However, to unlock enterprise features in Redpanda Console, you must restart the Redpanda Console instance.

### [](#secret-update)Update the Kubernetes Secret

If the license is provided through a Kubernetes Secret, follow these steps to update it:

1.  Download the updated license file and overwrite the existing `redpanda.license` file.

2.  Delete the existing Secret:

    ```bash
    kubectl delete secret redpanda-license --namespace <namespace>
    ```

3.  Create a new Secret with a **new name** that contains the contents of the updated license:

    ```bash
    kubectl create secret generic redpanda-license-updated \
      --from-file=license=./redpanda.license \
      --namespace <namespace>
    ```

4.  Update the Redpanda CRD to use the new Secret.

    `redpanda-cluster.yaml`

    ```yaml
    apiVersion: cluster.redpanda.com/v1alpha2
    kind: Redpanda
    metadata:
      name: redpanda
    spec:
      chartRef: {}
      clusterSpec:
        enterprise:
          licenseSecretRef:
            name: redpanda-license-updated
            key: license
    ```

5.  Apply the changes to the Redpanda CRD:

    ```bash
    kubectl apply -f redpanda-cluster.yaml --namespace <namespace>
    ```

    The Redpanda Operator updates the license without restarting the Repanda broker.

6.  Check the status of the new license to make sure it was successfully applied:

    ```bash
    rpk cluster license info
    ```

    The output displays the following details:

    Organization:    Organization the license was generated for.
    Type:            Type of license.
    Expires:         Expiration date of the license.
    Version:         License schema version.

7.  If you use Redpanda Console, delete the Redpanda Console Pods to force Redpanda Console to reload the updated license:

    ```bash
    kubectl delete pod $(kubectl get pod --namespace <namespace> | grep redpanda-console | awk '{print $1}') --namespace <namespace>
    ```


### [](#inline-update)Update the license inline

If you applied the license inline, follow these steps to update it:

1.  Modify the `enterprise.license` value with the new license string:

    #### Operator

    `redpanda-cluster.yaml`

    ```yaml
    apiVersion: cluster.redpanda.com/v1alpha2
    kind: Redpanda
    metadata:
      name: redpanda
    spec:
      chartRef: {}
      clusterSpec:
        enterprise:
          license: <license-key>
    ```

    ```bash
    kubectl apply -f redpanda-cluster.yaml --namespace <namespace>
    ```


    #### Helm


    ##### --values

    `redpanda-license.yaml`

    ```yaml
    enterprise:
      license: <license-key>
    ```

    ```bash
    helm upgrade --install redpanda redpanda/redpanda --namespace <namespace> --create-namespace \
      --values redpanda-license.yaml --reuse-values
    ```


    ##### --set

    ```bash
    helm upgrade --install redpanda redpanda/redpanda \
      --namespace <namespace> \
      --create-namespace \
      --set enterprise.license=<license-key>
    ```

2.  Check the status of new license to make sure it was successfully applied:

    ```bash
    rpk cluster license info
    ```

    The output displays the following details:

    Organization:    Organization the license was generated for.
    Type:            Type of license:.
    Expires:         Expiration date of the license.
    Version:         License schema version.

3.  If you use Redpanda Console, delete the Redpanda Console Pods to force a reload of the updated license:

    ```bash
    kubectl delete pod $(kubectl get pod --namespace <namespace> | grep redpanda-console | awk '{print $1}') --namespace <namespace>
    ```


## [](#next-steps)Next steps

[Check the Status of Licenses](https://docs.redpanda.com/streaming/current/get-started/licensing/check-status/).