Skip to content

Commit

Permalink
DOC-502 License enforcement updates (#813)
Browse files Browse the repository at this point in the history
Co-authored-by: Paulo Borges <[email protected]>
Co-authored-by: Gellért Peresztegi-Nagy <[email protected]>
Co-authored-by: Angela Simms <[email protected]>
  • Loading branch information
4 people committed Dec 2, 2024
1 parent 2245566 commit 5df220f
Show file tree
Hide file tree
Showing 26 changed files with 989 additions and 351 deletions.
9 changes: 8 additions & 1 deletion modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,12 @@
** xref:get-started:architecture.adoc[How Redpanda Works]
** xref:get-started:install-beta.adoc[Install Beta]
** xref:get-started:quick-start.adoc[Quickstart]
** xref:get-started:licenses.adoc[Redpanda Licensing]
** xref:get-started:licensing/index.adoc[Redpanda Licensing]
*** xref:get-started:licensing/overview.adoc[Editions and Enterprise Features]
*** xref:get-started:licensing/add-license-redpanda/index.adoc[Add an Enterprise License]
**** xref:get-started:licensing/add-license-redpanda/linux.adoc[Linux]
**** xref:get-started:licensing/add-license-redpanda/kubernetes.adoc[Kubernetes]
*** xref:get-started:licensing/monitor-license-status.adoc[Monitor Enterprise Licenses]
** xref:get-started:rpk/index.adoc[Redpanda CLI]
*** xref:get-started:intro-to-rpk.adoc[Introduction to rpk]
*** xref:get-started:rpk-install.adoc[]
Expand Down Expand Up @@ -167,6 +172,7 @@
*** xref:console:quickstart.adoc[Quickstart]
*** xref:console:config/index.adoc[Configuration]
**** xref:console:config/configure-console.adoc[Configure Console]
**** xref:console:config/enterprise-license.adoc[Add an Enterprise License]
**** xref:console:config/connect-to-redpanda.adoc[Connect to Redpanda]
**** xref:console:config/security/index.adoc[Security]
***** xref:console:config/security/authentication.adoc[Authentication]
Expand All @@ -183,6 +189,7 @@
**** xref:console:config/deserialization.adoc[Deserialization]
**** xref:console:config/kafka-connect.adoc[Kafka Connect]
**** xref:console:config/topic-documentation.adoc[Topic Documentation]
*** xref:console:ui/add-license.adoc[Add an Enterprise License]
*** xref:console:ui/schema-reg.adoc[Schema Registry]
*** xref:console:ui/data-transforms.adoc[Data Transforms]
*** xref:console:ui/programmable-push-filters.adoc[Filter Messages]
Expand Down
Binary file added modules/console/images/license.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions modules/console/pages/config/connect-to-redpanda.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ kafka:
enableFast: true
----

[[admin]]
== Configure access to the Redpanda Admin API

Configuring a connection to the Redpanda Admin API enables additional Redpanda-specific features in Redpanda Console, such as viewing the Redpanda version, managing data transforms, and SASL-SCRAM users.
Expand Down
72 changes: 72 additions & 0 deletions modules/console/pages/config/enterprise-license.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
= Add a License Key to Redpanda Console
:description: Learn how to apply or update a license key to Redpanda Console.

To enable xref:get-started:licensing/overview.adoc#console[enterprise features for Redpanda Console], you must have an Enterprise Edition license to load at startup. This guide explains how to configure Redpanda Console to load the license key from its local configuration.

TIP: Redpanda Console can also load the license key from a connected Redpanda cluster. To add a license key to Redpanda, see xref:get-started:licensing/add-license-redpanda/index.adoc[].

== Prerequisites

You must have an Enterprise Edition license. If you don't have a license yet, https://www.redpanda.com/contact[request one^].

If Redpanda Console has enterprise features enabled and cannot find a valid license locally or in the connected Redpanda cluster, it shuts down. See xref:get-started:licensing/overview.adoc[].

== Add a new license to Redpanda Console

To add a new license to Redpanda Console, you have two options:

- <<file, Provide the path to the license file>>.
- <<inline, Provide the license key contents directly>>.

[[file]]
=== Use a license file

Specify the path to the license file in one of the following ways:

- Set the `licenseFilepath` property in the `/etc/redpanda/redpanda-console-config.yaml` configuration file:
+
```yaml
licenseFilepath: <path-to-license-file>
```
- Set the `REDPANDA_LICENSE_FILEPATH` environment variable:
+
```bash
export REDPANDA_LICENSE_FILEPATH=<path-to-license-file>
```

[[inline]]
=== Use the license key contents directly

If you don't want to provide a path to the license file, you can use the contents of the license key directly in one of the following ways:

- Set the `license` property in the `/etc/redpanda/redpanda-console-config.yaml` configuration file:
+
```yaml
license: <license-key-contents>
```

- Set the `REDPANDA_LICENSE` environment variable:
+
```yaml
export REDPANDA_LICENSE=<license-key-contents>
```

== Update an existing license

To update an existing license:

. Update your configuration file or environment variables with one of the following:

- <<file, The path to your new license file>>
- <<inline, The contents of your new license key>>

. Restart Redpanda Console to make the changes take effect.

== Next steps

xref:get-started:licensing/monitor-license-status.adoc[].

== Suggested reading

- xref:get-started:licensing/index.adoc[]
- xref:console:ui/add-license.adoc[]
4 changes: 4 additions & 0 deletions modules/console/pages/quickstart.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -286,6 +286,10 @@ See also:
- xref:console:ui/data-transforms.adoc[]
- xref:develop:data-transforms/index.adoc[]

// (step {"action":"goTo", "url": "http://localhost:8080/admin/upload-license"})
// (step {"action":"wait"})
// (step {"action":"saveScreenshot", "path": "license.png", "directory": "../images", "overwrite": "byVariation"})

// (step {"action":"runShell", "command": "docker compose down -v", "workingDirectory": "../test-resources"})
// (test end)

Expand Down
61 changes: 61 additions & 0 deletions modules/console/pages/ui/add-license.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
= Manage Enterprise Edition Licenses through Redpanda Console
:description: Learn how to manage Enterprise Edition licenses in Redpanda Console.

You can add, update and check your xref:get-started:licensing/overview.adoc#console[Enterprise Edition license] for both Redpanda and Redpanda Console directly through the Redpanda Console UI.

== Prerequisites

- You must have an Enterprise Edition license. https://www.redpanda.com/contact[Request a license^] if you don't have one already.
+
If Redpanda Console has enterprise features enabled and it cannot find a valid license either locally or in the connected Redpanda cluster, it shuts down.
- Redpanda Console must be xref:console:config/connect-to-redpanda.adoc[connected to a Redpanda cluster].
- Redpanda Console must be xref:console:config/connect-to-redpanda.adoc#admin[configured to connect to the Redpanda Admin API].

TIP: You can also xref:console:config/enterprise-license.adoc[configure Redpanda Console to load the license key from its local configuration].

== Check the license status in Redpanda Console

You can check the expiration date of a license on the **Cluster Overview** page in Redpanda Console, under the **Licensing** section.

If the license is due to expire within 30 days, a warning banner is displayed on all pages of Redpanda Console.

See also: xref:get-started:licensing/monitor-license-status.adoc[].

== Upload a new license

When a new license is uploaded through Redpanda Console, it is replicated across the cluster and stored persistently in Redpanda's internal metadata, ensuring it is retained across restarts.

[CAUTION]
====
include::console:partial$licensing/kubernetes-note.adoc[]
====

To upload a new license directly through the Console UI:

. Open the *Upload License* page, using one of the following methods:
+
- *Cluster Overview* page:
+
Navigate to the *Cluster Overview* page in Redpanda Console.
Under the *Licensing* section, click on the *Upload new license* link to upload a new license key.

- Expiration warning banner:
+
If the existing license expires soon, you can click the *Upload license* button in the expiration warning banner.

. Upload your license. You can drag and drop a license file into the box or copy and paste the license string into the text input.
+
image::console:license.png[]
+
When a new license is uploaded, enterprise features in Redpanda Self-Managed are unlocked immediately without requiring a cluster restart. However, to unlock enterprise features in Redpanda Console, you must restart the Redpanda Console instance.

After restarting Redpanda Console, enterprise features such as RBAC are unlocked. However, to enable and use these features, you must configure them. See xref:console:config/index.adoc[].

== Next steps

xref:get-started:licensing/monitor-license-status.adoc[].

== Suggested reading

- xref:get-started:licensing/index.adoc[]
- xref:get-started:licensing/overview.adoc[]
3 changes: 3 additions & 0 deletions modules/console/partials/licensing/kubernetes-note.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ifndef::env-kubernetes[If you use Kubernetes to deploy Redpanda, do]
ifdef::env-kubernetes[Do]
not use Redpanda Console to update the license if it's already set in your Kubernetes resources. During upgrades or redeployments, license values in your Kubernetes resources will override the license set using Redpanda Console. For consistent license management, set the license using either Redpanda Console or Kubernetes resources, but not both.
Original file line number Diff line number Diff line change
Expand Up @@ -69,22 +69,6 @@ include::deploy:partial$kubernetes/install-crds.adoc[]
image:
tag: {latest-operator-version}
----
+
[NOTE]
=====
If you already have Flux installed and you want it to continue managing resources across the entire cluster, use the following:

.`redpanda-operator-values.yaml`
[,yaml]
----
additionalCmdFlags:
- --enable-helm-controllers=false
----

This flag prevents the Redpanda Operator from deploying its own set of Flux controllers that may conflict with existing ones.

WARNING: Your existing versions of Flux controllers and Flux CRDs must match the versions that come with the Redpanda Operator. You can find these versions on https://github.com/redpanda-data/redpanda-operator/blob/main/src/go/k8s/go.mod#L12-L17[GitHub].
=====
. Deploy the Redpanda Operator.
+
Expand Down Expand Up @@ -121,6 +105,10 @@ spec:
chartRef:
chartVersion: {latest-redpanda-helm-chart-version}
clusterSpec:
#enterprise:
#licenseSecretRef:
#name: <secret-name>
#key: <secret-key>
statefulset:
extraVolumes: |-
- name: redpanda-io-config
Expand Down Expand Up @@ -221,6 +209,19 @@ statefulset:
----
+
Redpanda reads from this file at startup to optimize itself for the given I/O parameters.
+
If you want to use enterprise features in Redpanda, add the details of a Secret that stores your Enterprise Edition license key.
+
.`redpanda-values.yaml`
[,yaml]
----
enterprise:
licenseSecretRef:
name: <secret-name>
key: <secret-key>
----
+
For details, see xref:get-started:licensing/add-license-redpanda/kubernetes.adoc[].
. Install the Redpanda Helm chart to deploy a Redpanda cluster and Redpanda Console.
+
Expand Down
Loading

0 comments on commit 5df220f

Please sign in to comment.