Check License Status and Feature Usage with Redpanda Operator

If your Redpanda cluster is deployed in Kubernetes using the Redpanda Operator, you can monitor the license status from the Redpanda custom resource. The operator integrates license monitoring into the resource’s status.conditions and status.license fields, allowing you to get the license state with kubectl. These fields provide a detailed overview of your Redpanda license, including its status, expiration, and enterprise features currently in use.

  1. Identify your Redpanda resources:

    kubectl get redpanda -A

    Example output:

    NAMESPACE   NAME      LICENSE       READY   STATUS
    redpanda    cluster   Valid         True    Redpanda reconciliation succeeded

    The License field indicates whether the license is valid. Possible values include:

    • Valid: The license is valid.

    • Expired: The license has expired.

    • Not Present: No license is applied.

  2. List detailed information about the license on a particular cluster:

    kubectl get redpanda <resource-name> -o jsonpath='{.status.license}'

    Replace <resource-name> with the name of your Redpanda resource, such as example-redpanda.

    The output depends on the license status. It can include the following:

    Field Description

    status

    Indicates the current state of the license. Possible values include:

    • valid: The license is active and valid.

    • expired: The license has expired, and restrictions may apply to enterprise features.

    • not_present: No license is currently applied.

    violation

    A boolean value that indicates whether enterprise features are being used in violation of the licensing terms:

    • true: Enterprise features are enabled without a valid license.

    • false: No violations are detected.

    If the license is in violation, you must either obtain a valid license or disable the enterprise features in use to ensure compliance. For instructions, see Disable Enterprise Features in Redpanda.

    organization

    The organization for which the license was issued. Typically corresponds to the organization that purchased or activated the license.

    If the cluster is less than 30 days old, it has a built-in free trial license. In this case, the organization is set to Redpanda Built-In Evaluation Period.

    type

    The type of license applied to the cluster:

    • enterprise: A full-featured enterprise license.

    • trial: A time-limited trial license.

    • free_trial: A 30-day trial license issued during initial deployment of a cluster.

    expiration

    The expiration date of the current license. After this date, the license status changes to expired.

    inUseFeatures

    A list of enabled enterprise features in the cluster, such as tiered_storage, audit_logging, and partition_auto_balancing_continuous.

    Enterprise features in use are specific to Redpanda. They do not include enterprise features for Redpanda Connect or Redpanda Console.

Examples

This section provides examples of what the operator reports depending on the license status.

Valid license:

{
  "license": {
    "status": "valid",
    "violation": false,
    "inUseFeatures": ["partition_auto_balancing_continuous"],
    "organization": "Devex",
    "type": "enterprise",
    "expiration": "2025-10-11T00:00:00Z"
  }
}

Without a license:

{
  "license": {
    "status": "not_present",
    "violation": false,
    "inUseFeatures": ["partition_auto_balancing_continuous"]
  }
}

Expired license:

{
  "license": {
    "status": "expired",
    "violation": true,
    "inUseFeatures": ["partition_auto_balancing_continuous"],
  }
}

Trigger license checks

The Redpanda Operator performs a license check during reconciliation, which is triggered in the following cases:

  • If changes are made to the Redpanda resource or its status.

  • If changes are made to resources managed by the operator, such as the StatefulSet resources for brokers or Deployment resources for Redpanda Console.

  • If no changes occur, the operator reconciles every 10 hours (default cache resync interval).

  • If you force reconciliation by making a no-op change, such as adding an annotation, to the Redpanda resource.