From 7455d51be1281a24549ff35857cab11b7b85f209 Mon Sep 17 00:00:00 2001 From: Paulo Borges Date: Wed, 2 Oct 2024 12:26:09 -0300 Subject: [PATCH 01/30] Update config for new beta --- antora.yml | 8 +++++--- local-antora-playbook.yml | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/antora.yml b/antora.yml index 3d523ea36..199c01566 100644 --- a/antora.yml +++ b/antora.yml @@ -1,6 +1,8 @@ name: ROOT title: Self-Managed -version: 24.2 +version: 24.3 +display_version: '24.3 Beta' +prerelease: true start_page: home:index.adoc nav: - modules/ROOT/nav.adoc @@ -15,11 +17,11 @@ asciidoc: # Fallback versions # We try to fetch the latest from GitHub at build time # -- - full-version: 24.2.2 + full-version: 24.3.1 latest-release-commit: '72ba3d3' latest-operator-version: 'v2.2.0-24.2.2' latest-redpanda-helm-chart-version: 5.8.3 - redpanda-beta-version: 24.2.2-rc5 + redpanda-beta-version: 24.3.1-rc1 # -- supported-kubernetes-version: 1.21 supported-helm-version: 3.10.0 diff --git a/local-antora-playbook.yml b/local-antora-playbook.yml index cc6752aef..d32991c5d 100644 --- a/local-antora-playbook.yml +++ b/local-antora-playbook.yml @@ -15,7 +15,7 @@ content: - url: . branches: HEAD - url: https://github.com/redpanda-data/docs - branches: [v/*, api, shared, site-search,'!v-end-of-life/*'] + branches: [main,v/*, api, shared, site-search,'!v-end-of-life/*'] - url: https://github.com/redpanda-data/cloud-docs branches: main - url: https://github.com/redpanda-data/redpanda-labs From b26cb0da6aa02a17edee78b1571246ebfaf5cd35 Mon Sep 17 00:00:00 2001 From: Paulo Borges Date: Mon, 21 Oct 2024 12:28:32 -0300 Subject: [PATCH 02/30] update with rpk 24.3.1-rc1 (#819) Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com> --- modules/ROOT/nav.adoc | 10 ++- .../rpk-cluster-storage-cancel-mount.adoc | 45 +++++++++++++ .../rpk-cluster-storage-list-mount.adoc | 67 +++++++++++++++++++ .../rpk-cluster-storage-mount.adoc | 59 ++++++++++++++++ .../rpk-cluster-storage-status-mount.adoc | 45 +++++++++++++ .../rpk-cluster-storage-unmount.adoc | 52 ++++++++++++++ .../pages/rpk/rpk-debug/rpk-debug-bundle.adoc | 2 + 7 files changed, 278 insertions(+), 2 deletions(-) create mode 100644 modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-cancel-mount.adoc create mode 100644 modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-list-mount.adoc create mode 100644 modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-mount.adoc create mode 100644 modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-status-mount.adoc create mode 100644 modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-unmount.adoc diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index 1f2a47224..24b490af7 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -271,9 +271,15 @@ ***** xref:reference:rpk/rpk-cluster/rpk-cluster-self-test-status.adoc[] ***** xref:reference:rpk/rpk-cluster/rpk-cluster-self-test-stop.adoc[] **** xref:reference:rpk/rpk-cluster/rpk-cluster-storage.adoc[] +***** rpk cluster storage mount/unmount +****** xref:reference:rpk/rpk-cluster/rpk-cluster-storage-cancel-mount.adoc[] +****** xref:reference:rpk/rpk-cluster/rpk-cluster-storage-list-mount.adoc[] +****** xref:reference:rpk/rpk-cluster/rpk-cluster-storage-mount.adoc[] +****** xref:reference:rpk/rpk-cluster/rpk-cluster-storage-status-mount.adoc[] +****** xref:reference:rpk/rpk-cluster/rpk-cluster-storage-unmount.adoc[] ***** xref:reference:rpk/rpk-cluster/rpk-cluster-storage-restore.adoc[] -****** xref:reference:rpk/rpk-cluster/rpk-cluster-storage-restore-start.adoc[] -****** xref:reference:rpk/rpk-cluster/rpk-cluster-storage-restore-status.adoc[] +***** xref:reference:rpk/rpk-cluster/rpk-cluster-storage-restore-start.adoc[] +***** xref:reference:rpk/rpk-cluster/rpk-cluster-storage-restore-status.adoc[] **** xref:reference:rpk/rpk-cluster/rpk-cluster-txn.adoc[] ***** xref:reference:rpk/rpk-cluster/rpk-cluster-txn-describe.adoc[] ***** xref:reference:rpk/rpk-cluster/rpk-cluster-txn-describe-producers.adoc[] diff --git a/modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-cancel-mount.adoc b/modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-cancel-mount.adoc new file mode 100644 index 000000000..c2e2bd187 --- /dev/null +++ b/modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-cancel-mount.adoc @@ -0,0 +1,45 @@ += rpk cluster storage cancel mount + +Cancels a mount/unmount operation on a topic. + +Use the migration ID that is emitted when the mount or unmount operation is executed. You can also get the migration ID by listing the mount/unmount operations. + +== Usage + +[,bash] +---- +rpk cluster storage cancel-mount [MIGRATION ID] [flags] +---- + +== Aliases + +[,bash] +---- +cancel-mount, cancel-unmount +---- + +== Examples + +Cancel a mount/unmount operation: + +[,bash] +---- +rpk cluster storage cancel-mount 123 +---- + +== Flags + +[cols="1m,1a,2a"] +|=== +|*Value* |*Type* |*Description* + +|-h, --help |- |Help for cancel-mount. + +|--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 xref:reference:rpk/rpk-x-options.adoc[`rpk -X`] or execute `rpk -X help` for inline detail or `rpk -X list` for terser detail. + +|--profile |string |Profile to use. See xref:reference:rpk/rpk-profile.adoc[`rpk profile`] for more details. + +|-v, --verbose |- |Enable verbose logging. +|=== \ No newline at end of file diff --git a/modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-list-mount.adoc b/modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-list-mount.adoc new file mode 100644 index 000000000..04e69fb50 --- /dev/null +++ b/modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-list-mount.adoc @@ -0,0 +1,67 @@ += rpk cluster storage list mount + +List mount/unmount operations on a topic in the Redpanda cluster from glossterm:tiered-storage[]. + +You can also filter the list by state using the `--filter` flag. The possible states are: + +- `planned` + +- `prepared` + +- `executed` + +- `finished` + +If no filter is provided, all migrations are listed. + +== Usage + +[,bash] +---- +rpk cluster storage list-mount [flags] +---- + +== Aliases + +[,bash] +---- +list-mount, list-unmount +---- + + + +== Examples + +Lists mount/unmount operations: +[,bash] +---- +rpk cluster storage list-mount +---- + + + +Use a filter to list only migrations in a specific state: + +[,bash] +---- +rpk cluster storage list-mount --filter planned +---- + +== Flags + +[cols="1m,1a,2a"] +|=== +|*Value* |*Type* |*Description* + +|-f, --filter |string |Filter the list of migrations by state. Only valid for text. + +|--format |string |Output format. Possible values: `json`, `yaml`, `text`, `wide`, `help`. Default: `text`. + +|--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 xref:reference:rpk/rpk-x-options.adoc[`rpk -X`] or execute `rpk -X help` for inline detail or `rpk -X list` for terser detail. + +|--profile |string |Profile to use. See xref:reference:rpk/rpk-profile.adoc[`rpk profile`] for more details. + +|-v, --verbose |- |Enable verbose logging. +|=== \ No newline at end of file diff --git a/modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-mount.adoc b/modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-mount.adoc new file mode 100644 index 000000000..c87a47fa2 --- /dev/null +++ b/modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-mount.adoc @@ -0,0 +1,59 @@ += rpk cluster storage mount + +Mount a topic to the Redpanda cluster from glossterm:tiered-storage[]. + +This command mounts a topic in the Redpanda cluster using log segments stored in Tiered Storage. + +You can optionally rename the topic using the `--to` flag. + +Requirements: + +- xref:manage:tiered-storage.adoc#enable-tiered-storage[Tiered Storage must be enabled]. + +- Log segments for the topic must be available in Tiered Storage. + +- A topic with the same name must not already exist in the cluster. + +== Usage + +[,bash] +---- +rpk cluster storage mount [TOPIC] [flags] +---- + + +== Examples + +Mounts topic ` from Tiered Storage to the cluster in the my-namespace: + +[,bash] +---- +rpk cluster storage mount +---- + + +Mount topic `` from Tiered Storage to the cluster in the `` with `` as the new topic name: + +[,bash] +---- +rpk cluster storage mount / --to / +---- + +== Flags + +[cols="1m,1a,2a"] +|=== +|*Value* |*Type* |*Description* + +|--to |string |New namespace/topic name for the mounted topic (optional). + +|-h, --help |- |Help for mount. + +|--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 xref:reference:rpk/rpk-x-options.adoc[`rpk -X`] or execute `rpk -X help` for inline detail or `rpk -X list` for terser detail. + +|--profile |string |Profile to use. See xref:reference:rpk/rpk-profile.adoc[`rpk profile`] for more details. + +|-v, --verbose |- |Enable verbose logging. +|=== \ No newline at end of file diff --git a/modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-status-mount.adoc b/modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-status-mount.adoc new file mode 100644 index 000000000..fffa7934a --- /dev/null +++ b/modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-status-mount.adoc @@ -0,0 +1,45 @@ += rpk cluster storage status mount + +Status of mount/unmount operation on topic in a Redpanda cluster from glossterm:tiered-storage[]. + +== Usage + +[,bash] +---- +rpk cluster storage status-mount [MIGRATION ID] [flags] +---- + +== Aliases + +[,bash] +---- +status-mount, status-unmount +---- + +== Examples + +Status for a mount/unmount operation: + +[,bash] +---- +rpk cluster storage status-mount 123 +---- + +== Flags + +[cols="1m,1a,2a"] +|=== +|*Value* |*Type* |*Description* + +|--format |string |Output format. Possible values: `json`, `yaml`, `text`, `wide`, `help`. Default: `text`. + +|-h, --help |- |Help for status-mount. + +|--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 xref:reference:rpk/rpk-x-options.adoc[`rpk -X`] or execute `rpk -X help` for inline detail or `rpk -X list` for terser detail. + +|--profile |string |Profile to use. See xref:reference:rpk/rpk-profile.adoc[`rpk profile`] for more details. + +|-v, --verbose |- |Enable verbose logging. +|=== \ No newline at end of file diff --git a/modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-unmount.adoc b/modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-unmount.adoc new file mode 100644 index 000000000..7844cb490 --- /dev/null +++ b/modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-unmount.adoc @@ -0,0 +1,52 @@ += rpk cluster storage unmount + +Unmount a topic from the Redpanda cluster and secure it in glossterm:tiered-storage[]. + +This command performs an operation that: + +1. Rejects all writes to the topic. + +2. Flushes data to Tiered Storage. + +3. Removes the topic from the cluster. + +Key Points: + +- During unmounting, any attempted writes or reads will receive an `UNKNOWN_TOPIC_OR_PARTITION` error. + +- The unmount operation works independently of other topic configurations like `remote.delete=false`. + +- After unmounting, the topic can be remounted to this cluster or a different cluster if the log segments are moved to that cluster's Tiered Storage. + +== Usage + +[,bash] +---- +rpk cluster storage unmount [TOPIC] [flags] +---- + +== Examples + +Unmount topic '' from the cluster in the '': + +[,bash] +---- +rpk cluster storage unmount / +---- + +== Flags + +[cols="1m,1a,2a"] +|=== +|*Value* |*Type* |*Description* + +|-h, --help |- |Help for unmount. + +|--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 xref:reference:rpk/rpk-x-options.adoc[`rpk -X`] or execute `rpk -X help` for inline detail or `rpk -X list` for terser detail. + +|--profile |string |Profile to use. See xref:reference:rpk/rpk-profile.adoc[`rpk profile`] for more details. + +|-v, --verbose |- |Enable verbose logging. +|=== \ No newline at end of file diff --git a/modules/reference/pages/rpk/rpk-debug/rpk-debug-bundle.adoc b/modules/reference/pages/rpk/rpk-debug/rpk-debug-bundle.adoc index 0a635028d..e631f3326 100644 --- a/modules/reference/pages/rpk/rpk-debug/rpk-debug-bundle.adoc +++ b/modules/reference/pages/rpk/rpk-debug/rpk-debug-bundle.adoc @@ -116,6 +116,8 @@ capturing the second snapshot of the metrics endpoints, for example because some metrics are counters that need values at two points in time. Default: `12s`. +|--metrics-samples |int |Number of metrics samples to take (at the interval of `--metrics-interval`). Must be higher or equals 2 (default 2). + |-n, --namespace |string |The Kubernetes namespace in which the Redpanda cluster is running. Default: `redpanda` + *Kubernetes only*. From 4cb66715ca322814375c12bfc8c010350b1ab28c Mon Sep 17 00:00:00 2001 From: Jake Cahill <45230295+JakeSCahill@users.noreply.github.com> Date: Tue, 22 Oct 2024 15:58:37 +0100 Subject: [PATCH 03/30] DOC-502 License enforcement updates (#813) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Paulo Borges Co-authored-by: Gellért Peresztegi-Nagy Co-authored-by: Angela Simms <102690377+asimms41@users.noreply.github.com> --- modules/ROOT/nav.adoc | 9 +- modules/console/images/license.png | Bin 0 -> 76451 bytes .../pages/config/connect-to-redpanda.adoc | 1 + .../pages/config/enterprise-license.adoc | 72 ++++ modules/console/pages/quickstart.adoc | 4 + modules/console/pages/ui/add-license.adoc | 61 ++++ .../partials/licensing/kubernetes-note.adoc | 3 + .../kubernetes/k-production-deployment.adoc | 33 +- modules/get-started/pages/licenses.adoc | 163 --------- .../licensing/add-license-redpanda/index.adoc | 3 + .../add-license-redpanda/kubernetes.adoc | 324 ++++++++++++++++++ .../licensing/add-license-redpanda/linux.adoc | 73 ++++ .../get-started/pages/licensing/index.adoc | 2 + .../licensing/monitor-license-status.adoc | 114 ++++++ .../get-started/pages/licensing/overview.adoc | 87 +++++ modules/get-started/pages/whats-new.adoc | 84 +---- .../partials/licensing/check-license.adoc | 23 ++ .../licensing/enterprise-features.adoc | 19 + .../troubleshooting/k-troubleshoot.adoc | 101 ++---- modules/manage/partials/troubleshooting.adoc | 111 ++++++ .../pages/internal-metrics-reference.adoc | 6 + modules/reference/pages/monitor-metrics.adoc | 2 +- .../pages/public-metrics-reference.adoc | 16 +- modules/upgrade/pages/k-rolling-upgrade.adoc | 12 +- modules/upgrade/pages/rolling-upgrade.adoc | 12 +- .../rolling-upgrades/upgrade-limitations.adoc | 5 +- 26 files changed, 989 insertions(+), 351 deletions(-) create mode 100644 modules/console/images/license.png create mode 100644 modules/console/pages/config/enterprise-license.adoc create mode 100644 modules/console/pages/ui/add-license.adoc create mode 100644 modules/console/partials/licensing/kubernetes-note.adoc delete mode 100644 modules/get-started/pages/licenses.adoc create mode 100644 modules/get-started/pages/licensing/add-license-redpanda/index.adoc create mode 100644 modules/get-started/pages/licensing/add-license-redpanda/kubernetes.adoc create mode 100644 modules/get-started/pages/licensing/add-license-redpanda/linux.adoc create mode 100644 modules/get-started/pages/licensing/index.adoc create mode 100644 modules/get-started/pages/licensing/monitor-license-status.adoc create mode 100644 modules/get-started/pages/licensing/overview.adoc create mode 100644 modules/get-started/partials/licensing/check-license.adoc create mode 100644 modules/get-started/partials/licensing/enterprise-features.adoc create mode 100644 modules/manage/partials/troubleshooting.adoc diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index 24b490af7..2b6f8c7fd 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -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[] @@ -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] @@ -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] diff --git a/modules/console/images/license.png b/modules/console/images/license.png new file mode 100644 index 0000000000000000000000000000000000000000..261ca723d84e3f79dfb470e8478772f7af7dc06c GIT binary patch literal 76451 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 CWR|`F literal 0 HcmV?d00001 diff --git a/modules/console/pages/config/connect-to-redpanda.adoc b/modules/console/pages/config/connect-to-redpanda.adoc index dafc393fc..15b683269 100644 --- a/modules/console/pages/config/connect-to-redpanda.adoc +++ b/modules/console/pages/config/connect-to-redpanda.adoc @@ -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. diff --git a/modules/console/pages/config/enterprise-license.adoc b/modules/console/pages/config/enterprise-license.adoc new file mode 100644 index 000000000..c327dafe0 --- /dev/null +++ b/modules/console/pages/config/enterprise-license.adoc @@ -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]] +=== 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: +``` +- Set the `REDPANDA_LICENSE_FILEPATH` environment variable: ++ +```bash +export REDPANDA_LICENSE_FILEPATH= +``` + +[[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: +``` + +- Set the `REDPANDA_LICENSE` environment variable: ++ +```yaml +export REDPANDA_LICENSE= +``` + +== Update an existing license + +To update an existing license: + +. Update your configuration file or environment variables with one of the following: + +- <> +- <> + +. 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[] diff --git a/modules/console/pages/quickstart.adoc b/modules/console/pages/quickstart.adoc index 7230491e1..4cd670770 100644 --- a/modules/console/pages/quickstart.adoc +++ b/modules/console/pages/quickstart.adoc @@ -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) diff --git a/modules/console/pages/ui/add-license.adoc b/modules/console/pages/ui/add-license.adoc new file mode 100644 index 000000000..75cc38364 --- /dev/null +++ b/modules/console/pages/ui/add-license.adoc @@ -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[] \ No newline at end of file diff --git a/modules/console/partials/licensing/kubernetes-note.adoc b/modules/console/partials/licensing/kubernetes-note.adoc new file mode 100644 index 000000000..040ab531d --- /dev/null +++ b/modules/console/partials/licensing/kubernetes-note.adoc @@ -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. \ No newline at end of file diff --git a/modules/deploy/pages/deployment-option/self-hosted/kubernetes/k-production-deployment.adoc b/modules/deploy/pages/deployment-option/self-hosted/kubernetes/k-production-deployment.adoc index 2fef4d7e5..aeeb82b78 100644 --- a/modules/deploy/pages/deployment-option/self-hosted/kubernetes/k-production-deployment.adoc +++ b/modules/deploy/pages/deployment-option/self-hosted/kubernetes/k-production-deployment.adoc @@ -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. + @@ -121,6 +105,10 @@ spec: chartRef: chartVersion: {latest-redpanda-helm-chart-version} clusterSpec: + #enterprise: + #licenseSecretRef: + #name: + #key: statefulset: extraVolumes: |- - name: redpanda-io-config @@ -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: + 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. + diff --git a/modules/get-started/pages/licenses.adoc b/modules/get-started/pages/licenses.adoc deleted file mode 100644 index aee2e4aeb..000000000 --- a/modules/get-started/pages/licenses.adoc +++ /dev/null @@ -1,163 +0,0 @@ -= Redpanda Licensing -:description: Redpanda Self-Managed is free and source-available at the Redpanda GitHub repo. Additional features are included with an Enterprise license. -:page-aliases: introduction:licenses.adoc - -You can deploy Redpanda in a self-hosted environment (Redpanda Self-Managed) or as a fully-managed cloud service (Redpanda Cloud). For Redpanda Self-Managed, select either the Community Edition or the Enterprise Edition: - -* Redpanda Community Edition is free and source-available at the https://github.com/redpanda-data/redpanda[Redpanda GitHub repository^]. -* Redpanda Enterprise Edition requires a license key and includes additional features. - -[NOTE] -==== -To learn about Redpanda Cloud deployments, see the xref:redpanda-cloud:get-started:cloud-overview.adoc[]. -==== - -== Redpanda Community Edition - -Redpanda Community Edition is licensed with the Redpanda https://github.com/redpanda-data/redpanda/blob/dev/licenses/bsl.md[Business Source License^] (BSL). These core features are free and source-available. - -[NOTE] -==== -* Users cannot provide Redpanda as a commercial streaming or queuing service to others. -* The BSL code converts to Apache 2.0 licensing four years after each code merge. -==== - -== Redpanda Enterprise Edition - -Redpanda Enterprise Edition is licensed with the https://github.com/redpanda-data/redpanda/blob/dev/licenses/rcl.md[Redpanda Community License^] (RCL). It includes the free features licensed under the Redpanda BSL, as well as the following features: - -* xref:manage:tiered-storage.adoc[Tiered Storage] -* xref:manage:cluster-maintenance/continuous-data-balancing.adoc[Continuous Data Balancing] -* xref:manage:remote-read-replicas.adoc[Remote Read Replicas] -* xref:manage:audit-logging.adoc[Audit Logging] -* xref:manage:security/fips-compliance.adoc[FIPS Compliance] -* xref:manage:schema-reg/schema-id-validation.adoc[Server-side Schema ID Validation] -* xref:manage:security/authentication.adoc#enable-kerberos[Kerberos Authentication] -* xref:manage:security/authentication.adoc#oidc [OAUTHBEARER/OIDC Authentication] -* xref:manage:security/authorization/rbac.adoc[Redpanda Role-Based Access Control (RBAC)] -* xref:manage:security/console/authorization.adoc[Redpanda Console Authorization (RBAC)] -* xref:manage:security/console/authentication.adoc[Redpanda Console Authentication] -* xref:redpanda-connect:components:outputs/snowflake_put.adoc[Snowflake connector for Redpanda Connect] -* xref:redpanda-connect:components:outputs/splunk_hec.adoc[Splunk connector for Redpanda Connect] - -Enterprise features require a license key. You can evaluate enterprise features with a free 30-day trial. Contact https://redpanda.com/try-redpanda?section=enterprise-trial[Redpanda Sales^] to request a trial license, to extend your trial period, or to purchase an Enterprise Edition license. - -=== Apply a license key to Redpanda - -A license key unlocks Redpanda Enterprise Edition features. - -[tabs] -====== -Linux or Docker:: -+ --- - -To apply the license key to your cluster, run: - -`rpk cluster license set` - -Either provide a path to a file containing the license or provide the license string inline. For example, assuming you use the default admin host/port of `10.0.0.1:9644`, run: - -```bash -rpk cluster license set --path -X admin.hosts=10.0.0.1:9644 -``` - -Or: - -```bash -rpk cluster license set -``` - -If neither the path nor the license string are provided, `rpk` looks for the license in `/etc/redpanda/redpanda.license`. - --- -Kubernetes:: -+ --- - -To apply the license key to your cluster using the Helm chart, -either provide a secret that contains the license or provide the license string inline: - -- Use a secret: -+ -[tabs] -==== ---values:: -+ -.`license-key.yaml` -[,yaml] ----- -enterprise: - licenseSecretRef: - name: - key: ----- -+ -```bash -helm upgrade --install redpanda redpanda/redpanda --namespace --create-namespace \ ---values license-key.yaml -``` - ---set:: -+ -```bash -helm upgrade --install redpanda redpanda/redpanda --namespace --create-namespace \ - --set enterprise.licenseSecretRef.name= \ - --set enterprise.licenseSecretRef.key= -``` -==== -+ -helm_ref:enterprise.licenseSecretRef[] - -- Use an inline string: -+ -[tabs] -==== ---values:: -+ -.`license-key.yaml` -[,yaml] ----- -enterprise: - license: ----- -+ -```bash -helm upgrade --install redpanda redpanda/redpanda --namespace --create-namespace \ ---values license-key.yaml -``` - ---set:: -+ -```bash -helm upgrade --install redpanda redpanda/redpanda --namespace --create-namespace \ - --set enterprise.license= -``` -==== -+ -helm_ref:enterprise.license[] - -If neither the path nor the license string are provided, Redpanda looks for the license in `/etc/redpanda/redpanda.license`. - --- -====== - -=== Check the status of a license - -To check the status of your current license, run: - -`rpk cluster license info -X admin.hosts=10.0.0.1:9644` - -Redpanda sends warning messages in the cluster logs if you enable enterprise features without a valid license key. - -=== Apply a license key to Redpanda Console - -To use an enterprise feature with Redpanda Console, you must provide Redpanda Console with a copy of your license key. -You have two options for providing the license: - -. Specify the path to the license key file either in the `redpanda.licenseFilepath` property of the `/etc/redpanda/redpanda-console-config.yaml` file or in the `REDPANDA_LICENSE_FILEPATH` environment variable. -. Specify the license key file contents directly either in the `redpanda.license` property of the YAML file or in the `REDPANDA_LICENSE` environment variable. - -Redpanda Console checks the license key status on startup and warns you 30 days before the license expires. You can view the license key's expiration date in the startup logs. -If the license key expires at runtime, Redpanda Console shuts down. If the license has already -expired at startup, Redpanda Console prints an error message and exits. diff --git a/modules/get-started/pages/licensing/add-license-redpanda/index.adoc b/modules/get-started/pages/licensing/add-license-redpanda/index.adoc new file mode 100644 index 000000000..2675ea38a --- /dev/null +++ b/modules/get-started/pages/licensing/add-license-redpanda/index.adoc @@ -0,0 +1,3 @@ += Add an Enterprise Edition License to Redpanda +:page-layout: index +:description: Learn how to add an Enterprise Edition license to Redpanda Self-Managed. diff --git a/modules/get-started/pages/licensing/add-license-redpanda/kubernetes.adoc b/modules/get-started/pages/licensing/add-license-redpanda/kubernetes.adoc new file mode 100644 index 000000000..f64dee904 --- /dev/null +++ b/modules/get-started/pages/licensing/add-license-redpanda/kubernetes.adoc @@ -0,0 +1,324 @@ += Add an Enterprise Edition License to Redpanda in Kubernetes +:description: Learn how to add or update a Redpanda Enterprise Edition license in a Kubernetes environment. +:env-kubernetes: true + +To enable xref:get-started:licensing/overview.adoc[enterprise features for Redpanda Self-Managed], you must have an Enterprise Edition license. This guide outlines how to apply or update an Enterprise Edition license for Redpanda Self-Managed in a Kubernetes environment. + +== Prerequisites + +You must have an Enterprise Edition license. https://www.redpanda.com/contact[Request a license^] if you don't have one already. + +== Add a new license + +Redpanda supports the following ways to apply a new license: + +- <>. +- <>. +- <>. + +[[secret]] +=== Use a Kubernetes Secret + +You can store the license in a Kubernetes Secret and reference it in your Helm values or manifest file. + +. Download your license file (`redpanda.license`) and create a Kubernetes Secret: ++ +[,bash] +---- +kubectl create secret generic redpanda-license +--from-file=license=./redpanda.license +--namespace +---- ++ +This command creates a Kubernetes Secret named `redpanda-license` in the specified namespace, containing the license file. + +. Reference the Secret: ++ +[tabs] +====== +Helm + 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 +``` + +-- +Helm:: ++ +-- + +[tabs] +==== +--values:: ++ +.`redpanda-license.yaml` +[source,yaml] +---- +enterprise: + licenseSecretRef: + name: redpanda-license + key: license +---- ++ +```bash +helm upgrade --install redpanda redpanda/redpanda --namespace --create-namespace \ + --values redpanda-license.yaml --reuse-values +``` + +--set:: ++ +[,bash] +---- +helm upgrade --install redpanda redpanda/redpanda \ + --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: + +[tabs] +====== +Helm + Operator:: ++ +-- +.`redpanda-cluster.yaml` +[,yaml] +---- +apiVersion: cluster.redpanda.com/v1alpha2 +kind: Redpanda +metadata: + name: redpanda +spec: + chartRef: {} + clusterSpec: + enterprise: + license: +---- + +```bash +kubectl apply -f redpanda-cluster.yaml --namespace +``` + +-- +Helm:: ++ +-- + +[tabs] +==== +--values:: ++ +.`redpanda-license.yaml` +[source,yaml] +---- +enterprise: + license: +---- ++ +```bash +helm upgrade --install redpanda redpanda/redpanda --namespace --create-namespace \ + --values redpanda-license.yaml --reuse-values +``` + +--set:: ++ +[,bash] +---- +helm upgrade --install redpanda redpanda/redpanda \ + --namespace \ + --create-namespace \ + --set enterprise.license= +---- + +==== +-- +====== + + +[[console]] +=== Use Redpanda Console + +You can upload a license directly through Redpanda Console. + +See xref:console:ui/add-license.adoc[]. + +== Verify a license + +After adding or updating a license, you can use `rpk` to verify that the license was set. + +include::get-started:partial$licensing/check-license.adoc[] + +== Update an existing license + +The process for updating a license depends on how it was originally applied: + +- <>. +- <>. +- xref:console:ui/add-license.adoc[Use Redpanda Console] + +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. + +[[secret-update]] +=== Update the Kubernetes Secret + +If the license is provided through a Kubernetes Secret, follow these steps to update it: + +. Download the updated license file and overwrite the existing `redpanda.license` file. + +. Delete the existing Secret: ++ +[,bash] +---- +kubectl delete secret redpanda-license --namespace +---- + +. Create a new Secret with the updated license: ++ +[,bash] +---- +kubectl create secret generic redpanda-license \ + --from-file=license=./redpanda.license \ + --namespace +---- ++ + +. 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. +---- + +. 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 | grep redpanda-console | awk '{print $1}') --namespace +---- + +[[inline-update]] +=== Update the license inline + +If you applied the license inline, follow these steps to update it: + +. Modify the `enterprise.license` value with the new license string: ++ +[tabs] +====== +Helm + Operator:: ++ +-- +.`redpanda-cluster.yaml` +[,yaml] +---- +apiVersion: cluster.redpanda.com/v1alpha2 +kind: Redpanda +metadata: + name: redpanda +spec: + chartRef: {} + clusterSpec: + enterprise: + license: +---- + +```bash +kubectl apply -f redpanda-cluster.yaml --namespace +``` + +-- +Helm:: ++ +-- + +[tabs] +==== +--values:: ++ +.`redpanda-license.yaml` +[source,yaml] +---- +enterprise: + license: +---- ++ +```bash +helm upgrade --install redpanda redpanda/redpanda --namespace --create-namespace \ + --values redpanda-license.yaml --reuse-values +``` + +--set:: ++ +[,bash] +---- +helm upgrade --install redpanda redpanda/redpanda \ + --namespace \ + --create-namespace \ + --set enterprise.license= +---- + +==== +-- +====== + +. 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. +---- + +. 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 | grep redpanda-console | awk '{print $1}') --namespace +---- + +== Next steps + +xref:get-started:licensing/monitor-license-status.adoc[]. \ No newline at end of file diff --git a/modules/get-started/pages/licensing/add-license-redpanda/linux.adoc b/modules/get-started/pages/licensing/add-license-redpanda/linux.adoc new file mode 100644 index 000000000..bd5d51b8d --- /dev/null +++ b/modules/get-started/pages/licensing/add-license-redpanda/linux.adoc @@ -0,0 +1,73 @@ += Add an Enterprise Edition License to Redpanda in Linux +:description: Learn how to add or update a Redpanda Enterprise Edition license in a Linux environment. + +To enable xref:get-started:licensing/overview.adoc[enterprise features for Redpanda Self-Managed], you must have an Enterprise Edition license. This guide outlines how to apply or update an Enterprise Edition license for Redpanda Self-Managed in a Linux environment. + +== Prerequisites + +- You must have xref:get-started:rpk-install.adoc[`rpk` installed] and configured to connect to your Redpanda cluster. + +- You must have an Enterprise Edition license. https://www.redpanda.com/contact[Request a license^] if you don't have one already. + +== Add a new license + +Redpanda supports the following ways to apply a new license: + +- <>. +- <>. +- <>. + +[[file]] +=== Apply the license using a license file + +If you have the license key stored in a file, you can apply it by specifying the file path: + +```bash +rpk cluster license set --path -X admin.hosts= +``` + +Replace the following placeholders: + +- `` with the path to your license file. +- `` the Redpanda admin host and port + +[[inline]] +=== Apply the license using an inline license string + +If you want to provide the license string directly, use the following command: + +```bash +rpk cluster license set +``` + +If neither the path nor the license string are provided, `rpk` looks for the license in `/etc/redpanda/redpanda.license`. + +[[console]] +=== Use Redpanda Console + +You can upload a license directly through Redpanda Console. + +See xref:console:ui/add-license.adoc[]. + +== Verify a license + +After adding or updating a license, you can use `rpk` to verify that the license was set. + +include::get-started:partial$licensing/check-license.adoc[] + +== Update an existing license + +To update an existing license, you can use one the following methods: + +- xref:reference:rpk/rpk-cluster/rpk-cluster-license-set.adoc[] +- xref:console:ui/add-license.adoc[Redpanda Console] + +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. + +== Next steps + +xref:get-started:licensing/monitor-license-status.adoc[]. + +== Suggested reading + +xref:reference:rpk/rpk-cluster/rpk-cluster-license-set.adoc[] \ No newline at end of file diff --git a/modules/get-started/pages/licensing/index.adoc b/modules/get-started/pages/licensing/index.adoc new file mode 100644 index 000000000..945a07338 --- /dev/null +++ b/modules/get-started/pages/licensing/index.adoc @@ -0,0 +1,2 @@ += Redpanda Licensing +:page-layout: index \ No newline at end of file diff --git a/modules/get-started/pages/licensing/monitor-license-status.adoc b/modules/get-started/pages/licensing/monitor-license-status.adoc new file mode 100644 index 000000000..ee9dad3fe --- /dev/null +++ b/modules/get-started/pages/licensing/monitor-license-status.adoc @@ -0,0 +1,114 @@ += Monitor the Status of an Enterprise Edition License +:description: pass:q[Learn how to monitor the status of your Redpanda Enterprise Edition license using `rpk`, the Redpanda Console, the Admin API, and observability tools such as logs and metrics.] + +To track license expiration and ensure compliance with xref:get-started:licensing/overview.adoc[Redpanda licensing], you can monitor the status of your Enterprise Edition license using <>, the <>, <>, and observability tools such as <> and <>. + +[[rpk]] +== Check the status of a license with `rpk` + +To check the status of your current license, use the `rpk cluster license info` command. You can choose different output formats depending on your use case. + +. Make sure that xref:get-started:rpk-install.adoc[`rpk` is installed] and configured to connect to your cluster's Admin API endpoint. + +. Get the details about your cluster's license: ++ +```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. +---- ++ +If the license is within 30 days of expiration, a warning is logged: ++ +---- +warning: your license will expire soon +---- + +=== Change the output format + +Different output formats can be useful depending on your scenario. The available formats include JSON, YAML, text, and wide (expanded). For example, if you are writing scripts or automating license monitoring, you may prefer the JSON format, as it's easily parsed by tools like `jq` or integrated into monitoring systems. + +To get the license information in another format, use the `--format` flag: + +```bash +rpk cluster license info --format +``` + +Replace `` with one of the available formats. See xref:reference:rpk/rpk-cluster/rpk-cluster-license-info.adoc[]. + +For more details, including the SHA-256 checksum and Unix timestamp for expiration, use the `wide` format. This format is useful when you need a deeper level of detail about the license for troubleshooting or verification. For example: + +---- +LICENSE INFORMATION +Organization: Your Organization +Type: enterprise +Expires: Jan 1 2025 +License Expired: false +Checksum: 3d2e5b4d07d294534d9b7e90d8f73e91d34f7b4a62c45b6dc1c1e6f9d0a12bcf +ExpiresUnix: 1735689600 +---- + +[[admin]] +== Check the status of a license with the Admin API + +You can retrieve the license status and information about in-use enterprise features using the Redpanda Admin API. This API provides JSON-formatted responses and is useful for programmatic access to the license details and feature status. + +To get the license status and features in use, make a `GET` request to the `/v1/features/enterprise` endpoint. For example: + +[,bash] +---- +curl -X GET http://:/v1/features/enterprise +---- + +Example response: + +[,json] +---- +{ + "license_status": "valid", + "violation": false, + "features": [ + { + "name": "audit_logging", + "enabled": true + }, + { + "name": "tiered_storage", + "enabled": false + } + ] +} +---- + +- `license_status`: The status of the license. Possible values are: +** `valid`: The license is valid. +** `expired`: The license has expired. +** `not_present`: No license is present. + +- `violation`: A boolean value that indicates whether there is a violation. For example, the license is not valid and one or more enterprise features are enabled. + +- `features`: An array of enterprise features that lists each feature by name and whether it is enabled (`true`) or not (`false`). + +NOTE: The returned enterprise features are specific to Redpanda Enterprise Edition. They do not include xref:get-started:licensing/overview.adoc#connect[enterprise features for Redpanda Connect] or xref:get-started:licensing/overview.adoc#console[enterprise features in Redpanda Console]. + +[[console]] +== Check the status of a license in Redpanda Console + +You can also check the status of your license in the Redpanda Console UI. See xref:console:ui/add-license.adoc[]. + +[[logs]] +== Monitor a license in the logs + +Logs are emitted on Redpanda brokers to help you understand how the license is being applied and when enforcement actions are triggered. + +[[metrics]] +== Monitor a license using metrics + +The xref:reference:public-metrics-reference.adoc#redpanda_cluster_features_enterprise_license_expiry_sec[`redpanda_cluster_features_enterprise_license_expiry_sec`] metric tells you how many seconds remain until the license expires. Use this metric to set up alerts or dashboards to track the license expiration status and ensure timely renewal. diff --git a/modules/get-started/pages/licensing/overview.adoc b/modules/get-started/pages/licensing/overview.adoc new file mode 100644 index 000000000..4dba69bd5 --- /dev/null +++ b/modules/get-started/pages/licensing/overview.adoc @@ -0,0 +1,87 @@ += Redpanda Licenses, Editions, and Enterprise Features +:description: Learn about Redpanda licensing for Self-Managed, Console, and Connect, available in both Community and Enterprise editions. Understand licensing requirements and how to access enterprise features with a valid license key. +:page-aliases: introduction:licenses.adoc, get-started:licenses.adoc + +Redpanda Self-Managed, Redpanda Console, and Redpanda Connect are available in community and enterprise editions. Each product has a single binary that supports both editions. + +* Redpanda Community Edition is free and source-available on GitHub: +** https://github.com/redpanda-data/redpanda[Redpanda Self-Managed^] +** https://github.com/redpanda-data/console[Redpanda Console^] +** https://github.com/redpanda-data/connect[Redpanda Connect^] +* Redpanda Enterprise Edition requires a license key and includes additional features. + +[NOTE] +==== +Redpanda Cloud is a managed deployment of Redpanda Enterprise Edition. To learn more about Redpanda Cloud, see the xref:redpanda-cloud:get-started:cloud-overview.adoc[]. +==== + +== Community Edition + +The Community Edition is licensed with the Redpanda https://github.com/redpanda-data/redpanda/blob/dev/licenses/bsl.md[Business Source License^] (BSL). These core features are free and source-available. + +[NOTE] +==== +* Users cannot provide Redpanda as a commercial streaming or queuing service to others. +* The BSL code converts to Apache 2.0 licensing four years after each code merge. +==== + +== Enterprise Edition + +The Enterprise Edition is licensed with the https://github.com/redpanda-data/redpanda/blob/dev/licenses/rcl.md[Redpanda Community License^] (RCL). It includes the free features licensed under the Redpanda BSL, as well as enterprise features. + +=== License keys + +Enterprise features require an Enterprise Edition license key, sometimes referred to as Enterprise license, license key, or license. You can evaluate enterprise features with a free 30-day trial. To request a trial license key, to extend your trial period, or to purchase a license, contact https://redpanda.com/try-redpanda?section=enterprise-trial[Redpanda Sales^]. + +[[self-managed]] +=== Enterprise features in Redpanda Self-Managed + +The following enterprise features for Redpanda Self-Managed are activated with a valid Enterprise Edition license key: + +include::get-started:partial$licensing/enterprise-features.adoc[tag=self-managed] + +[[console]] +=== Enterprise features in Redpanda Console + +The following enterprise features for Redpanda Console are activated with a valid Enterprise Edition license key: + +include::get-started:partial$licensing/enterprise-features.adoc[tag=console] + +[[connect]] +=== Enterprise features in Redpanda Connect + + +include::get-started:partial$licensing/enterprise-features.adoc[tag=connect] + +== How Redpanda Console handles licenses + +If Redpanda Console cannot find a valid license either locally or in the connected Redpanda cluster, it shuts down. Redpanda Console tries to load a valid license for community or enterprise features at startup in the following order: + +. From the local configuration file or environment variables. +. From the connected Redpanda cluster (if available). + +Redpanda Console displays warnings in the following scenarios: + +- *Upcoming license expiration*: Redpanda Console checks the license status at startup. If the license expires within 30 days, a warning is displayed in the UI. Redpanda Console also logs the license details at startup, including the expiration date. For example: ++ +[,json] +---- +{"level":"info","msg":"successfully loaded Redpanda Enterprise license","license_org":"redpanda","license_type":"enterprise","expires_at":"Oct 12 2024"} +---- + +- *Redpanda Self-Managed enterprise features are in use without a valid license*: If the Redpanda cluster is using enterprise features without a valid license, Redpanda Console displays a warning specifying the features in use without proper licensing. + +- *Redpanda Console enterprise features in use without a valid license*: If you configure enterprise features in Redpanda Console without a valid license, Redpanda Console shuts down and logs a warning. + +=== Ways to manage licenses for Redpanda Console + +Redpanda Console offers two methods for applying or updating a license, depending on your setup: + +- If you are using Redpanda Console without connecting it to a Redpanda cluster, you can xref:console:config/enterprise-license.adoc[configure the license through the local configuration file or environment variables]. This method allows you to add a license for Redpanda Console independently of the Redpanda cluster. + +- If Redpanda Console is connected to a Redpanda cluster, you can xref:console:ui/add-license.adoc[upload a license through the Redpanda Console UI]. This method allows you to manage and update licenses for both Redpanda Console and the connected Redpanda cluster. + +== Next steps + +- xref:get-started:licensing/add-license-redpanda/index.adoc[] +- xref:get-started:licensing/monitor-license-status.adoc[] \ No newline at end of file diff --git a/modules/get-started/pages/whats-new.adoc b/modules/get-started/pages/whats-new.adoc index 7c538c77b..6e4f07891 100644 --- a/modules/get-started/pages/whats-new.adoc +++ b/modules/get-started/pages/whats-new.adoc @@ -7,87 +7,15 @@ This topic includes new content added in version {page-component-version}. For a * xref:redpanda-cloud:get-started:whats-new-cloud.adoc[] * xref:redpanda-cloud:get-started:cloud-overview.adoc#redpanda-cloud-vs-self-managed-feature-compatibility[Redpanda Cloud vs Self-Managed feature compatibility] +== Licensing updates -== Declarative user and ACL management in Kubernetes +This release includes several updates to xref:get-started:licensing/overview.adoc[Redpanda's licensing system] to both improve transparency and make it easier to manage licenses across Redpanda clusters and Redpanda Console. -Starting with Redpanda Operator version v2.2.2-24.2.4, you can now manage users and access control lists (ACLs) with the new User resource. This feature allows you to: +- *Upgrade restriction for enterprise features*: You cannot upgrade your cluster to Redpanda 24.3 or later if any enterprise feature of Redpanda (excluding Console) is in use without a valid license. The upgrade is aborted immediately and cleanly before any broker is upgraded, minimizing disruption. -- Create and manage Redpanda users and their authentication settings. -- Define and manage ACLs to control access to Redpanda resources. -- Automatically reconcile changes to users and ACLs using the Redpanda Operator. +- *License reminder in `rpk`*: Every `rpk` command now includes a reminder if the cluster is using licensed features without a valid license. -To learn more, see the xref:manage:kubernetes/security/authentication/k-user-controller.adoc[User resource documentation]. +- *License warnings in Redpanda Console*: If you are using Redpanda Console and one or more enterprise features are active in the connected Redpanda cluster without a valid license, a banner specifies which enterprise features are in use without a license. -== FIPS compliance +- *Unified license management in Redpanda Console*: You can now upload and apply a single license key for both Redpanda Console and the connected Redpanda cluster through the Redpanda Console UI. Any existing license key is overridden by the new one. -Redpanda now provides a FIPS 140-compliant binary to support running Redpanda in environments requiring FIPS-compliant software and to meet certain requirements for organizations undergoing certification through government compliance programs, such as FedRAMP. When using the FIPS binary, both Redpanda and `rpk` leverage FIPS-compliant OpenSSL libraries and ciphers for all encryption activity inside Redpanda, including encryption of data in transit. Install the `redpanda-fips` package to xref:manage:security/fips-compliance.adoc[run Redpanda in FIPS-compliance mode]. - -== Schema Registry support for JSON - -Redpanda's xref:manage:schema-reg/schema-reg-overview.adoc[Schema Registry] now supports JSON serialization format, in addition to Avro and Protobuf. You can use a https://json-schema.org/[JSON Schema^] format to validate messages and ensure compatibility between schema versions. - -== Schema Registry read-only mode - -You can now put individual subjects or the entire Schema Registry into read-only or read-write mode with the xref:manage:schema-reg/schema-reg-api.adoc#use-readonly-mode-for-disaster-recovery[Schema Registry API] `/mode` endpoint or with xref:reference:rpk/rpk-registry/rpk-registry-mode-set.adoc[`rpk registry mode set`]. You can use the `READONLY` mode in an active/passive disaster recovery configuration. - -== TLS enhancements - -* *Minimum TLS version*: For enhanced security, Redpanda now has a cluster configuration property to xref:manage:security/encryption.adoc#manage-the-minimum-tls-version[control the minimum TLS version] to use for encryption. By default, xref:reference:properties/cluster-properties.adoc#tls_min_version[`tls_min_version`] is set to `v1.2`, which prevents client applications from using older TLS versions to connect to your clusters. - -* *Certificate revocation lists*: When enabling TLS encryption for the Kafka, Admin, HTTP Proxy or Schema Registry APIs, you can now xref:manage:security/encryption.adoc[add a certificate revocation list (CRL)] to your configuration. Redpanda uses the CRL to check and reject connections from entities using certificates already revoked by a certificate authority. - -== Data transforms enhancements - -Redpanda has a new xref:reference:data-transforms/js/index.adoc[JavaScript SDK] that you can use to build and deploy data transforms in Redpanda. To get started, see xref:develop:data-transforms/run-transforms-index.adoc[]. - -You can now deploy data transform functions that xref:develop:data-transforms/deploy.adoc#reprocess[reprocess existing records] from an input topic. Processing existing records can be useful, for example, to process historical data into a different format for a new consumer, to re-create lost data from an accidentally-deleted topic, or to resolve issues with a previous version of a transform that processed data incorrectly. - -The docs now also include an xref:develop:data-transforms/index.adoc[expanded guide] designed to help you master the creation, deployment, and management of data transforms in Redpanda. - -== Enhanced cache trimming - -Redpanda has two new properties that provide finer control over cache management. These settings allow you to define specific thresholds for triggering xref:manage:tiered-storage.adoc#cache-trimming[cache trimming] based on cache size and the number of objects, helping to optimize performance and prevent slow reads. - -- config_ref:cloud_storage_cache_trim_threshold_percent_size,true,properties/object-storage-properties[] -- config_ref:cloud_storage_cache_trim_threshold_percent_objects,true,properties/object-storage-properties[] - -== Client throughput management - -Redpanda now includes `rpk` and Redpanda Console support for managing xref:manage:cluster-maintenance/manage-throughput.adoc#client-throughput-limits[client throughput limits]. You can set client throughput quotas using `rpk` for an individual client based on client ID, as well as for a group of clients based on ID prefix matching. New xref:manage:cluster-maintenance/manage-throughput.adoc#monitor-client-throughput[metrics] are available for insights on client throughput utilization. - -Client throughput quotas, previously applied on a per-shard basis, now apply on a per-broker basis. Cluster configuration properties for managing client quotas are xref:upgrade:deprecated/index.adoc[deprecated], including `target_quota_byte_rate` which is disabled by default with the value `0`. - -== Self-test enhancements - -New tests are added to the xref:manage:cluster-maintenance/cluster-diagnostics.adoc[Redpanda self-test] suite: - -* Cloud storage tests to validate xref:manage:tiered-storage.adoc[Tiered Storage] configuration. -* 16K block size disk tests to better assess block storage performance, particularly in response to I/O depth changes. -* 4K block size disk test with dsync off to assess the impact of fdatasync on the storage layer. - -See the xref:reference:rpk/rpk-cluster/rpk-cluster-self-test-status.adoc[`rpk self test`] reference for usage and output examples. - -== Intra-broker partition balancing: beta - -xref:manage:cluster-maintenance/cluster-balancing.adoc#intra-broker-partition-balancing[Intra-broker partition balancing] is a new topic-aware partition balancer that balances partitions across cores within a Redpanda broker. This balancer considers core count changes as well as partition movement to rebalance partition replicas and improve performance. - -This is a beta feature for v24.2 and is not recommended for use for production clusters. - -== New commands - -The following `rpk` commands are new in this version: - -* xref:reference:rpk/rpk-cluster/rpk-cluster-quotas-alter.adoc[`rpk cluster quotas alter`] -* xref:reference:rpk/rpk-cluster/rpk-cluster-quotas-describe.adoc[`rpk cluster quotas describe`] -* xref:reference:rpk/rpk-cluster/rpk-cluster-quotas-import.adoc[`rpk cluster quotas import`] -* xref:reference:rpk/rpk-cluster/rpk-cluster-quotas.adoc[`rpk cluster quotas`] -* xref:reference:rpk/rpk-registry/rpk-registry-mode.adoc[`rpk registry mode`] -* xref:reference:rpk/rpk-registry/rpk-registry-mode-get.adoc[`rpk registry mode get`] -* xref:reference:rpk/rpk-registry/rpk-registry-mode-reset.adoc[`rpk registry mode reset`] -* xref:reference:rpk/rpk-registry/rpk-registry-mode-set.adoc[`rpk registry mode set`] -* xref:reference:rpk/rpk-transform/rpk-transform-pause.adoc[`rpk transform pause`] -* xref:reference:rpk/rpk-transform/rpk-transform-resume.adoc[`rpk transform resume`] - -== Doc enhancements - -The https://docs.redpanda.com/home/[Redpanda Docs home page] has been redesigned, so you can stay within the context of Redpanda Self-Managed, Redpanda Cloud, or Redpanda Connect docs. We hope that our docs help and inspire our users. Please share your feedback with the links at the bottom of any doc page. diff --git a/modules/get-started/partials/licensing/check-license.adoc b/modules/get-started/partials/licensing/check-license.adoc new file mode 100644 index 000000000..b87377337 --- /dev/null +++ b/modules/get-started/partials/licensing/check-license.adoc @@ -0,0 +1,23 @@ +ifdef::env-kubernetes[] +[,bash] +---- +kubectl exec --namespace -c redpanda -- \ + rpk cluster license info +---- +endif::[] +ifndef::env-kubernetes[] +[,bash] +---- +rpk cluster license info +---- +endif::[] + +This command will display the current license details, including the expiration date. For example: + +---- +LICENSE INFORMATION +=================== +Organization: redpanda +Type: enterprise +Expires: Oct 24 2027 +---- diff --git a/modules/get-started/partials/licensing/enterprise-features.adoc b/modules/get-started/partials/licensing/enterprise-features.adoc new file mode 100644 index 000000000..80529f170 --- /dev/null +++ b/modules/get-started/partials/licensing/enterprise-features.adoc @@ -0,0 +1,19 @@ +// tag::self-managed[] +* xref:manage:tiered-storage.adoc[Tiered Storage] +* xref:manage:cluster-maintenance/continuous-data-balancing.adoc[Continuous Data Balancing] +* xref:manage:cluster-maintenance/cluster-balancing.adoc#intra-broker-partition-balancing[Intra-broker partition balancing (`core_balancing_continuous`)] +* xref:manage:remote-read-replicas.adoc[Remote Read Replicas] +* xref:manage:audit-logging.adoc[Audit Logging] +* xref:manage:security/fips-compliance.adoc[FIPS Compliance] +* xref:manage:schema-reg/schema-id-validation.adoc[Server-side Schema ID Validation] +* xref:manage:security/authentication.adoc#kerberos[Kerberos Authentication] +* xref:manage:security/authentication.adoc#oidc [OAUTHBEARER/OIDC Authentication] +* xref:manage:security/authorization/rbac.adoc[Redpanda Role-Based Access Control (RBAC)] +// end::self-managed[] +// tag::console[] +* xref:console:config/security/authorization.adoc[Redpanda Console Authorization (RBAC)] +* xref:console:config/security/authentication.adoc[Redpanda Console Authentication] +// end::console[] +// tag::connect[] +The Enterprise Edition of Redpanda Connect includes additional connectors. For a list of all available connectors, see xref:redpanda-connect:components:catalog.adoc[]. +// end::connect[] \ No newline at end of file diff --git a/modules/manage/pages/kubernetes/troubleshooting/k-troubleshoot.adoc b/modules/manage/pages/kubernetes/troubleshooting/k-troubleshoot.adoc index 3f34483fb..5fd9b21ec 100644 --- a/modules/manage/pages/kubernetes/troubleshooting/k-troubleshoot.adoc +++ b/modules/manage/pages/kubernetes/troubleshooting/k-troubleshoot.adoc @@ -359,10 +359,20 @@ NOTE: Kubernetes retains logs only for the current and the previous instance of . Reset the crash counter to zero to allow Redpanda to restart. You can do any of the following to reset the counter: + -- Update the redpanda.yaml configuration file. You can make changes to any of the following sections in the Redpanda Helm chart to trigger an update: -* `config.cluster` +- Make changes to any of the following sections in the Redpanda Helm chart to trigger an update: ++ +-- * `config.node` * `config.tunable` +-- ++ +For example: ++ +```yaml +config: + node: + crash_loop_limit: +``` - Delete the `startup_log` file in the broker's data directory. + @@ -686,81 +696,20 @@ After clearing the `pending-rollback` state: * *Retry the upgrade*: Restart the upgrade process. You should investigate the initial failure to avoid getting into the `pending-rollback` state again. * *Perform a rollback*: If you need to roll back to a previous release, use `helm rollback ` to revert to a specific, stable release version. //end::pending-rollback[] -//end::deployment[] - -//tag::tls[] -=== Invalid large response size - -This error appears when your cluster is configured to use TLS, but you don't specify that you are connecting over TLS. - -[.no-copy] ----- -unable to request metadata: invalid large response size 352518912 > limit 104857600; the first three bytes received appear to be a tls alert record for TLS v1.2; is this a plaintext connection speaking to a tls endpoint? ----- - -If you're using rpk, ensure to add the `-X tls.enabled` flag, and any other necessary TLS flags such as the TLS certificate: - -[,bash] ----- -kubectl exec -c redpanda --namespace -- rpk cluster info -X brokers=.: -X tls.enabled=true ----- - -For all available flags, see the xref:reference:rpk/index.adoc[rpk command reference]. - -=== Malformed HTTP response - -This error appears when a cluster has TLS enabled, and you try to access the admin API without passing the required TLS parameters. - -[.no-copy] ----- -Retrying POST for error: Post "http://127.0.0.1:9644/v1/security/users": net/http: HTTP/1.x transport connection broken: malformed HTTP response "\x15\x03\x03\x00\x02\x02" ----- - -If you're using rpk, ensure to include the TLS flags. -For all available flags, see the xref:reference:rpk/index.adoc[rpk command reference]. - -=== x509: certificate signed by unknown authority - -This error appears when the Certificate Authority (CA) that signed your certificates is not trusted by your system. - -Check the following: - -- Ensure you have installed the root CA certificate correctly on your local system. -- If using a self-signed certificate, ensure it is properly configured and included in your system's trust store. -- If you are using a certificate issued by a CA, ensure the issuing CA is included in your system's trust store. -- If you are using cert-manager, ensure it is correctly configured and running properly. -- Check the validity of your certificates. They might have expired. - -=== x509: certificate is not valid for any names - -This error indicates that the certificate you are using is not valid for the specific domain or IP address you are trying to use it with. This error typically occurs when there is a mismatch between the certificate's Subject Alternative Name (SAN) or Common Name (CN) field and the name being used to access the broker. - -To fix this error, you may need to obtain a new certificate that is valid for the specific domain or IP address you are using. Ensure that the certificate's SAN or CN entry matches the name being used, and that the certificate is not expired or revoked. - -=== cannot validate certificate for 127.0.0.1 - -This error appears if you are using a CA certificate when you try to establish an internal connection using localhost. For example: - -``` -unable to request metadata: unable to dial: x509: cannot validate certificate for 127.0.0.1 because it doesn't contain any IP SANs -``` +include::manage:partial$troubleshooting.adoc[tags=deployment] +//end::deployment[] -To fix this error, you must either specify the public domain or use self-signed certificates: -```bash -kubectl exec redpanda-0 -c redpanda --namespace -- \ - rpk cluster info \ - -X brokers=.: \ - -X tls.enabled=true -``` +//tag::tls[] +include::manage:partial$troubleshooting.adoc[tags=tls] === Redpanda not applying TLS changes include::manage:partial$kubernetes/tls-update-note.adoc[] -//end::tls[] -//tag::networking[] +//end::tls[] +// tag::networking[] === I/O timeout This error appears when your worker nodes are unreachable through the given address. @@ -771,19 +720,9 @@ Check the following: * Your DNS records point to addresses that resolve to your worker nodes. //end::networking[] -//tag::sasl[] -=== Is SASL missing? - -This error appears when you try to interact with a cluster that has SASL enabled without passing a user's credentials. -[.no-copy] ----- -unable to request metadata: broker closed the connection immediately after a request was issued, which happens when SASL is required but not provided: is SASL missing? ----- - -If you're using rpk, ensure to specify the `-X user`, `-X pass`, and `-X sasl.mechanism` flags. - -For all available flags, see the xref:reference:rpk/index.adoc[rpk command reference]. +//tag::sasl[] +include::manage:partial$troubleshooting.adoc[tags=sasl] === Unable to continue with update: Secret diff --git a/modules/manage/partials/troubleshooting.adoc b/modules/manage/partials/troubleshooting.adoc new file mode 100644 index 000000000..192e73f15 --- /dev/null +++ b/modules/manage/partials/troubleshooting.adoc @@ -0,0 +1,111 @@ +//tag::deployment[] +=== A Redpanda Enterprise Edition license is required + +During a Redpanda upgrade, if enterprise features are enabled and a valid Enterprise Edition license is missing, Redpanda logs a warning and aborts the upgrade process on the affected broker. This issue prevents a successful upgrade. + +If you encounter this issue, follow these steps to recover: + +ifdef::env-kubernetes[] +. xref:upgrade:k-rolling-upgrade.adoc#roll-back[Roll back the affected broker to the original version]. +endif::[] +ifndef::env-kubernetes[] +. Roll back the affected broker to the original version. +endif::[] +. Do one of the following: +- xref:get-started:licensing/add-license-redpanda/index.adoc[Apply a valid Redpanda Enterprise Edition license] to the cluster. +- Disable enterprise features. ++ +If you do not have a valid license and want to proceed without using enterprise features, you can disable the enterprise features in your Redpanda configuration. + +. Retry the upgrade. + + +//end::deployment[] + +//tag::tls[] +=== Invalid large response size + +This error appears when your cluster is configured to use TLS, but you don't specify that you are connecting over TLS. + +[.no-copy] +---- +unable to request metadata: invalid large response size 352518912 > limit 104857600; the first three bytes received appear to be a tls alert record for TLS v1.2; is this a plaintext connection speaking to a tls endpoint? +---- + +If you're using rpk, ensure to add the `-X tls.enabled` flag, and any other necessary TLS flags such as the TLS certificate: + +[,bash] +---- +ifdef::env-kubernetes[kubectl exec -c redpanda --namespace -- \] +rpk cluster info -X tls.enabled=true +---- + +For all available flags, see the xref:reference:rpk/index.adoc[rpk command reference]. + +=== Malformed HTTP response + +This error appears when a cluster has TLS enabled, and you try to access the admin API without passing the required TLS parameters. + +[.no-copy] +---- +Retrying POST for error: Post "http://127.0.0.1:9644/v1/security/users": net/http: HTTP/1.x transport connection broken: malformed HTTP response "\x15\x03\x03\x00\x02\x02" +---- + +If you're using rpk, ensure to include the TLS flags. + +For all available flags, see the xref:reference:rpk/index.adoc[rpk command reference]. + +=== x509: certificate signed by unknown authority + +This error appears when the Certificate Authority (CA) that signed your certificates is not trusted by your system. + +Check the following: + +- Ensure you have installed the root CA certificate correctly on your local system. +- If using a self-signed certificate, ensure it is properly configured and included in your system's trust store. +- If you are using a certificate issued by a CA, ensure the issuing CA is included in your system's trust store. +ifdef::env-kubernetes[] +- If you are using cert-manager, ensure it is correctly configured and running properly. +endif::[] +- Check the validity of your certificates. They might have expired. + +=== x509: certificate is not valid for any names + +This error indicates that the certificate you are using is not valid for the specific domain or IP address you are trying to use it with. This error typically occurs when there is a mismatch between the certificate's Subject Alternative Name (SAN) or Common Name (CN) field and the name being used to access the broker. + +To fix this error, you may need to obtain a new certificate that is valid for the specific domain or IP address you are using. Ensure that the certificate's SAN or CN entry matches the name being used, and that the certificate is not expired or revoked. + +=== cannot validate certificate for 127.0.0.1 + +This error appears if you are using a CA certificate when you try to establish an internal connection using localhost. For example: + +``` +unable to request metadata: unable to dial: x509: cannot validate certificate for 127.0.0.1 because it doesn't contain any IP SANs +``` + +To fix this error, you must either specify the URL with a public domain or use self-signed certificates: + +[,bash] +---- +ifdef::env-kubernetes[kubectl exec redpanda-0 -c redpanda --namespace -- \] +rpk cluster info \ +-X brokers=: \ +-X tls.enabled=true +---- + +//end::tls[] + +//tag::sasl[] +=== Is SASL missing? + +This error appears when you try to interact with a cluster that has SASL enabled without passing a user's credentials. + +[.no-copy] +---- +unable to request metadata: broker closed the connection immediately after a request was issued, which happens when SASL is required but not provided: is SASL missing? +---- + +If you're using rpk, ensure to specify the `-X user`, `-X pass`, and `-X sasl.mechanism` flags. + +For all available flags, see the xref:reference:rpk/index.adoc[rpk command reference]. +//end::sasl[] \ No newline at end of file diff --git a/modules/reference/pages/internal-metrics-reference.adoc b/modules/reference/pages/internal-metrics-reference.adoc index 3f0d8ea28..84bd8c692 100644 --- a/modules/reference/pages/internal-metrics-reference.adoc +++ b/modules/reference/pages/internal-metrics-reference.adoc @@ -44,6 +44,12 @@ If this is the last record received by the cluster, then the cluster is up-to-da --- +=== vectorized_cluster_features_enterprise_license_expiry_sec + +Number of seconds remaining until the Enterprise Edition license expires. + +--- + === vectorized_cluster_partition_schema_id_validation_records_failed Number of records that failed schema ID validation. diff --git a/modules/reference/pages/monitor-metrics.adoc b/modules/reference/pages/monitor-metrics.adoc index 8645bc6ab..45373ff02 100644 --- a/modules/reference/pages/monitor-metrics.adoc +++ b/modules/reference/pages/monitor-metrics.adoc @@ -2,6 +2,6 @@ :description: Reference of monitoring metrics provided by Redpanda. :page-layout: index -Redpanda exports metrics through Prometheus endpoints, `/public_metrics` and `/metrics`. To learn how to monitor Redpanda, see xref:manage:monitoring.adoc[Monitor Redpanda]. +Redpanda exports metrics through Prometheus endpoints, `/public_metrics` and `/metrics`. To learn how to monitor Redpanda, see xref:manage:monitoring.adoc[Monitor Redpanda] or xref:manage:kubernetes/monitoring/index.adoc[]. include::shared:partial$metrics-usage-tip.adoc[] diff --git a/modules/reference/pages/public-metrics-reference.adoc b/modules/reference/pages/public-metrics-reference.adoc index 8a761da2e..4a285f66d 100644 --- a/modules/reference/pages/public-metrics-reference.adoc +++ b/modules/reference/pages/public-metrics-reference.adoc @@ -19,7 +19,7 @@ Number of configured, fully commissioned brokers in a cluster. *Type*: gauge -*How to monitor*: Create an alert for when this gauge dips below a steady-state threshold, as a node(s) has become unresponsive. +*Usage*: Create an alert for when this gauge dips below a steady-state threshold, as a node(s) has become unresponsive. --- @@ -49,7 +49,17 @@ Number of requests dropped by a cluster controller log due to exceeding < Date: Tue, 22 Oct 2024 13:39:58 -0300 Subject: [PATCH 04/30] Properties 24 3 (#822) Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com> --- .../pages/properties/broker-properties.adoc | 286 ++-- .../pages/properties/cluster-properties.adoc | 1236 ++++++----------- .../properties/object-storage-properties.adoc | 719 ++++------ 3 files changed, 779 insertions(+), 1462 deletions(-) diff --git a/modules/reference/pages/properties/broker-properties.adoc b/modules/reference/pages/properties/broker-properties.adoc index 94d39e230..ebcf4fab4 100644 --- a/modules/reference/pages/properties/broker-properties.adoc +++ b/modules/reference/pages/properties/broker-properties.adoc @@ -14,8 +14,6 @@ NOTE: All broker properties require that you restart Redpanda for any update to Network address for the glossterm:Admin API[] server. -*Optional:* Yes - *Visibility:* `user` *Default:* `127.0.0.1:9644` @@ -26,8 +24,6 @@ Network address for the glossterm:Admin API[] server. Path to the API specifications for the Admin API. -*Optional:* Yes - *Visibility:* `user` *Type:* string @@ -40,8 +36,6 @@ Path to the API specifications for the Admin API. Specifies the TLS configuration for the HTTP Admin API. -*Optional:* Yes - *Visibility:* `user` *Default:* `null` @@ -61,9 +55,7 @@ The crash-tracking logic is reset (to zero consecutive crashes) by any of the fo * The `redpanda.yaml` broker configuration file is updated. * The `startup_log` file in the broker's <> is manually deleted. -*Units*: number of consecutive crashes of a broker - -*Optional:* No +*Unit*: number of consecutive crashes of a broker *Visibility:* `user` @@ -79,8 +71,6 @@ The crash-tracking logic is reset (to zero consecutive crashes) by any of the fo Path to the directory for storing Redpanda's streaming data files. -*Optional:* Yes - *Visibility:* `user` *Type:* string @@ -93,9 +83,7 @@ Path to the directory for storing Redpanda's streaming data files. CAUTION: Enabling `developer_mode` isn't recommended for production use. -Flag to enable developer mode, which skips most of the checks performed at startup. - -*Optional:* Yes +Enable developer mode, which skips most of the checks performed at startup. *Visibility:* `tunable` @@ -109,8 +97,6 @@ Flag to enable developer mode, which skips most of the checks performed at start Override the cluster property xref:reference:properties/cluster-properties.adoc#data_transforms_enabled[`data_transforms_enabled`] and disable Wasm-powered data transforms. This is an emergency shutoff button. -*Optional:* Yes - *Visibility:* `user` *Type:* boolean @@ -127,8 +113,6 @@ Controls how a new cluster is formed. All brokers in a cluster must have the sam TIP: For backward compatibility, `true` is the default. Redpanda recommends using `false` in production environments to prevent accidental cluster formation. -*Optional:* Yes - *Visibility:* `user` *Type:* boolean @@ -147,8 +131,6 @@ Controls whether Redpanda starts in FIPS mode. This property allows for three v * Enabled - Redpanda verifies that the operating system is enabled for FIPS by checking `/proc/sys/crypto/fips_enabled`. If the file does not exist or does not return `1`, Redpanda immediately exits. -*Optional:* No - *Visibility:* `user` *Accepted values:* `0` (disabled), `1` (permissive), `2` (enabled) @@ -161,8 +143,6 @@ Controls whether Redpanda starts in FIPS mode. This property allows for three v IP address and port of the Kafka API endpoint that handles requests. -*Optional:* Yes - *Visibility:* `user` *Default:* `127.0.0.1:9092` @@ -173,8 +153,6 @@ IP address and port of the Kafka API endpoint that handles requests. Transport Layer Security (TLS) configuration for the Kafka API endpoint. -*Optional:* Yes - *Visibility:* `user` *Default:* `null` @@ -186,9 +164,6 @@ Transport Layer Security (TLS) configuration for the Kafka API endpoint. Threshold for log messages that contain a larger memory allocation than specified. *Unit:* bytes - -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -203,13 +178,10 @@ A number that uniquely identifies the broker within the cluster. If `null` (the CAUTION: The `node_id` property must not be changed after a broker joins the cluster. - *Accepted values:* [`0`, `4294967295`] *Type:* integer -*Optional:* No - *Visibility:* `user` *Default:* `null` @@ -220,8 +192,6 @@ CAUTION: The `node_id` property must not be changed after a broker joins the clu Path to the configuration file used by OpenSSL to properly load the FIPS-compliant module. -*Optional:* Yes - *Visibility:* `user` *Type:* string @@ -234,8 +204,6 @@ Path to the configuration file used by OpenSSL to properly load the FIPS-complia Path to the directory that contains the OpenSSL FIPS-compliant module. The filename that Redpanda looks for is `fips.so`. -*Optional:* Yes - *Visibility:* `user` *Type:* string @@ -248,8 +216,6 @@ Path to the directory that contains the OpenSSL FIPS-compliant module. The filen A label that identifies a failure zone. Apply the same label to all brokers in the same failure zone. When xref:./cluster-properties.adoc#enable_rack_awareness[enable_rack_awareness] is set to `true` at the cluster level, the system uses the rack labels to spread partition replicas across different failure zones. -*Optional:* No - *Visibility:* `user` *Default:* `null` @@ -260,8 +226,6 @@ A label that identifies a failure zone. Apply the same label to all brokers in t If `true`, start Redpanda in xref:manage:recovery-mode.adoc[recovery mode], where user partitions are not loaded and only administrative operations are allowed. -*Optional:* Yes - *Visibility:* `user` *Type:* boolean @@ -274,8 +238,6 @@ If `true`, start Redpanda in xref:manage:recovery-mode.adoc[recovery mode], wher IP address and port for the Remote Procedure Call (RPC) server. -*Optional:* Yes - *Visibility:* `user` *Default:* `127.0.0.1:33145` @@ -286,8 +248,6 @@ IP address and port for the Remote Procedure Call (RPC) server. TLS configuration for the RPC server. -*Optional:* Yes - *Visibility:* `user` --- @@ -310,8 +270,6 @@ Only one broker, the designated cluster root, should have an empty `seed_servers The `seed_servers` list must be consistent across all seed brokers to prevent cluster fragmentation and ensure stable cluster formation. ==== -*Optional:* Yes - *Visibility:* `user` *Type:* array @@ -324,8 +282,6 @@ The `seed_servers` list must be consistent across all seed brokers to prevent cl Path to the configuration file used for low level storage failure injection. -*Optional:* No - *Visibility:* `tunable` *Type:* string @@ -338,8 +294,6 @@ Path to the configuration file used for low level storage failure injection. If `true`, inject low level storage failures on the write path. Do _not_ use for production instances. -*Optional:* Yes - *Visibility:* `tunable` *Type:* boolean @@ -352,8 +306,6 @@ If `true`, inject low level storage failures on the write path. Do _not_ use for Whether to violate safety checks when starting a Redpanda version newer than the cluster's consensus version. -*Optional:* Yes - *Visibility:* `tunable` *Type:* boolean @@ -366,9 +318,7 @@ Whether to violate safety checks when starting a Redpanda version newer than the Maximum duration in seconds for verbose (`TRACE` or `DEBUG`) logging. Values configured above this will be clamped. If null (the default) there is no limit. Can be overridden in the Admin API on a per-request basis. -*Units:* seconds - -*Optional:* No +*Unit:* seconds *Visibility:* `tunable` @@ -388,15 +338,37 @@ The Schema Registry provides configuration properties to help you enable produce For information on how to edit broker properties for the Schema Registry, see xref:manage:cluster-maintenance/node-property-configuration.adoc[]. -=== schema_registry_api +=== api_doc_dir -Specifies the listener address and port in the Schema Registry API. +API doc directory. -*Optional:* Yes +*Visibility:* `user` -*Visibility:* `None` +*Type:* string -*Default:* `127.0.0.1:8081` +*Default:* `/usr/share/redpanda/proxy-api-doc` + +--- + +=== mode_mutability + +Enable modifications to the read-only `mode` of the Schema Registry. When set to `true`, the entire Schema Registry or its subjects can be switched to `READONLY` or `READWRITE`. This property is useful for preventing unwanted changes to the entire Schema Registry or specific subjects. + +*Visibility:* `user` + +*Type:* boolean + +*Default:* `true` + +--- + +=== schema_registry_api + +Schema Registry API listener address and port. + +*Visibility:* `user` + +*Default:* `0.0.0.0:8081` --- @@ -404,9 +376,7 @@ Specifies the listener address and port in the Schema Registry API. TLS configuration for Schema Registry API. -*Optional:* Yes - -*Visibility:* `None` +*Visibility:* `user` *Default:* `null` @@ -416,9 +386,7 @@ TLS configuration for Schema Registry API. Replication factor for internal `_schemas` topic. If unset, defaults to `default_topic_replication`. -*Optional:* No - -*Visibility:* `None` +*Visibility:* `user` *Type:* integer @@ -443,39 +411,9 @@ See xref:develop:http-proxy.adoc[] Network address for the HTTP Proxy API server to publish to clients. -*Optional:* Yes - -*Visibility:* `None` - -*Default:* `null` - ---- - -=== api_doc_dir - -Path to the API specifications for the HTTP Proxy API. - -*Optional:* Yes - -*Visibility:* `None` - -*Type:* string - -*Default:* `/usr/share/redpanda/proxy-api-doc` - ---- - -=== mode_mutability - -Enable modifications to the read-only `mode` of the Schema Registry. When set to `true`, the entire Schema Registry or its subjects can be switched to `READONLY` or `READWRITE`. This property is useful for preventing unwanted changes to the entire Schema Registry or specific subjects. - -*Nullable:* No - *Visibility:* `user` -*Type:* boolean - -*Default:* `true` +*Default:* `null` --- @@ -483,9 +421,7 @@ Enable modifications to the read-only `mode` of the Schema Registry. When set to The maximum number of Kafka client connections that Redpanda can cache in the LRU (least recently used) cache. The LRU cache helps optimize resource utilization by keeping the most recently used clients in memory, facilitating quicker reconnections for frequent clients while limiting memory usage. -*Optional:* Yes - -*Visibility:* `None` +*Visibility:* `user` *Type:* integer @@ -497,47 +433,41 @@ The maximum number of Kafka client connections that Redpanda can cache in the LR Time, in milliseconds, that an idle client connection may remain open to the HTTP Proxy API. -*Units* : milliseconds +*Unit:* milliseconds -*Optional:* Yes - -*Visibility:* `None` +*Visibility:* `user` *Type:* integer *Accepted values:* [`-17592186044416`, `17592186044415`] -*Default:* `300000` +*Default:* `300000` (5min) --- -=== consumer_instance_timeout +=== consumer_instance_timeout_ms How long to wait for an idle consumer before removing it. A consumer is considered idle when it's not making requests or heartbeats. -*Units*: milliseconds +*Unit:* milliseconds -*Optional:* Yes - -*Visibility:* `None` +*Visibility:* `user` *Type:* integer *Accepted values:* [`-17592186044416`, `17592186044415`] -*Default:* `300000` (5min) +*Default:* `300000` --- === pandaproxy_api -Specifies the listener address and port for the Rest API. - -*Optional:* Yes +Rest API listener address and port. -*Visibility:* `None` +*Visibility:* `user` -*Default:* `127.0.0.1:8082` +*Default:* `0.0.0.0:8082` --- @@ -545,9 +475,7 @@ Specifies the listener address and port for the Rest API. TLS configuration for Pandaproxy api. -*Optional:* Yes - -*Visibility:* `None` +*Visibility:* `user` *Default:* `null` @@ -561,11 +489,7 @@ Configuration options for HTTP Proxy Client. TLS configuration for the Kafka API servers to which the HTTP Proxy client should connect. -*Optional:* Yes - -*Visibility:* `None` - -*Default:* `config::tls_config()` +*Visibility:* `user` --- @@ -573,13 +497,11 @@ TLS configuration for the Kafka API servers to which the HTTP Proxy client shoul Network addresses of the Kafka API servers to which the HTTP Proxy client should connect. -*Optional:* Yes - -*Visibility:* `None` +*Visibility:* `user` *Type:* array -*Default:* `["127.0.0.1:9092"]` +*Default:* `['127.0.0.1:9092']` --- @@ -587,9 +509,7 @@ Network addresses of the Kafka API servers to which the HTTP Proxy client should Custom identifier to include in the Kafka request header for the HTTP Proxy client. This identifier can help debug or monitor client activities. -*Optional:* No - -*Visibility:* `None` +*Visibility:* `user` *Type:* string @@ -597,15 +517,13 @@ Custom identifier to include in the Kafka request header for the HTTP Proxy clie --- -=== consumer_heartbeat_interval +=== consumer_heartbeat_interval_ms Interval (in milliseconds) for consumer heartbeats. -*Units*: milliseconds +*Unit:* milliseconds -*Optional:* Yes - -*Visibility:* `None` +*Visibility:* `user` *Type:* integer @@ -615,21 +533,19 @@ Interval (in milliseconds) for consumer heartbeats. --- -=== consumer_rebalance_timeout +=== consumer_rebalance_timeout_ms Timeout (in milliseconds) for consumer rebalance. -*Units*: milliseconds +*Unit:* milliseconds -*Optional:* Yes - -*Visibility:* `None` +*Visibility:* `user` *Type:* integer *Accepted values:* [`-17592186044416`, `17592186044415`] -*Default:* `200` +*Default:* `2000` --- @@ -637,11 +553,9 @@ Timeout (in milliseconds) for consumer rebalance. Maximum bytes to fetch per request. -*Units*: bytes - -*Optional:* Yes +*Unit:* bytes -*Visibility:* `None` +*Visibility:* `user` *Type:* integer @@ -655,11 +569,9 @@ Maximum bytes to fetch per request. Minimum bytes to fetch per request. -*Units*: bytes - -*Optional:* Yes +*Unit:* bytes -*Visibility:* `None` +*Visibility:* `user` *Type:* integer @@ -669,15 +581,13 @@ Minimum bytes to fetch per request. --- -=== consumer_request_timeout +=== consumer_request_timeout_ms Interval (in milliseconds) for consumer request timeout. -*Units*: milliseconds - -*Optional:* Yes +*Unit:* milliseconds -*Visibility:* `None` +*Visibility:* `user` *Type:* integer @@ -687,15 +597,13 @@ Interval (in milliseconds) for consumer request timeout. --- -=== consumer_session_timeout +=== consumer_session_timeout_ms Timeout (in milliseconds) for consumer session. -*Units*: milliseconds - -*Optional:* Yes +*Unit:* milliseconds -*Visibility:* `None` +*Visibility:* `user` *Type:* integer @@ -709,9 +617,7 @@ Timeout (in milliseconds) for consumer session. Number of acknowledgments the producer requires the leader to have received before considering a request complete. -*Optional:* Yes - -*Visibility:* `None` +*Visibility:* `user` *Type:* integer @@ -721,15 +627,13 @@ Number of acknowledgments the producer requires the leader to have received befo --- -=== produce_batch_delay +=== produce_batch_delay_ms Delay (in milliseconds) to wait before sending batch. -*Units*: milliseconds +*Unit:* milliseconds -*Optional:* Yes - -*Visibility:* `None` +*Visibility:* `user` *Type:* integer @@ -743,9 +647,7 @@ Delay (in milliseconds) to wait before sending batch. Number of records to batch before sending to broker. -*Optional:* Yes - -*Visibility:* `None` +*Visibility:* `user` *Type:* integer @@ -759,11 +661,9 @@ Number of records to batch before sending to broker. Number of bytes to batch before sending to broker. -*Units*: bytes - -*Optional:* Yes +*Unit:* bytes -*Visibility:* `None` +*Visibility:* `user` *Type:* integer @@ -777,27 +677,21 @@ Number of bytes to batch before sending to broker. Enable or disable compression by the Kafka client. Specify `none` to disable compression or one of the supported types [gzip, snappy, lz4, zstd]. -*Optional:* Yes - -*Visibility:* `None` +*Visibility:* `user` *Type:* string -*Accepted values:* `gzip`, `snappy`, `lz4`, `zstd` - *Default:* `none` --- -=== produce_shutdown_delay +=== produce_shutdown_delay_ms Delay (in milliseconds) to allow for final flush of buffers before shutting down. -*Units*: milliseconds - -*Optional:* Yes +*Unit:* milliseconds -*Visibility:* `None` +*Visibility:* `user` *Type:* integer @@ -811,9 +705,7 @@ Delay (in milliseconds) to allow for final flush of buffers before shutting down Number of times to retry a request to a broker. -*Optional:* Yes - -*Visibility:* `None` +*Visibility:* `user` *Type:* integer @@ -821,15 +713,13 @@ Number of times to retry a request to a broker. --- -=== retry_base_backoff +=== retry_base_backoff_ms Delay (in milliseconds) for initial retry backoff. -*Units*: milliseconds - -*Optional:* Yes +*Unit:* milliseconds -*Visibility:* `None` +*Visibility:* `user` *Type:* integer @@ -843,9 +733,7 @@ Delay (in milliseconds) for initial retry backoff. The SASL mechanism to use when connecting. -*Optional:* Yes - -*Visibility:* `None` +*Visibility:* `user` *Type:* string @@ -857,9 +745,7 @@ The SASL mechanism to use when connecting. Password to use for SCRAM authentication mechanisms. -*Optional:* Yes - -*Visibility:* `None` +*Visibility:* `user` *Type:* string @@ -871,12 +757,10 @@ Password to use for SCRAM authentication mechanisms. Username to use for SCRAM authentication mechanisms. -*Optional:* Yes - -*Visibility:* `None` +*Visibility:* `user` *Type:* string *Default:* `null` ---- +--- \ No newline at end of file diff --git a/modules/reference/pages/properties/cluster-properties.adoc b/modules/reference/pages/properties/cluster-properties.adoc index 84f4e31c8..8917c572d 100644 --- a/modules/reference/pages/properties/cluster-properties.adoc +++ b/modules/reference/pages/properties/cluster-properties.adoc @@ -14,11 +14,9 @@ NOTE: Some cluster properties require that you restart the cluster for any updat Capacity (in number of txns) of an abort index segment. -Each partition tracks the aborted transaction offset ranges to help service client requests. If the number transactions increase beyond this threshold, they are flushed to disk to easy memory pressure. Then they're loaded on demand. This configuration controls the maximum number of aborted transactions before they are flushed to disk. +Each partition tracks the aborted transaction offset ranges to help service client requests. If the number of transactions increases beyond this threshold, they are flushed to disk to ease memory pressure. Then they're loaded on demand. This configuration controls the maximum number of aborted transactions before they are flushed to disk. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -36,9 +34,7 @@ Interval, in milliseconds, at which Redpanda looks for inactive transactions and *Unit:* milliseconds -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -56,8 +52,6 @@ Whether Admin API clients must provide HTTP basic authentication headers. *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* boolean @@ -72,9 +66,7 @@ Enable aggregation of metrics returned by the xref:reference:internal-metrics-re *Requires restart:* No -*Optional:* Yes - -*Visibility:* `None` +*Visibility:* `user` *Type:* boolean @@ -90,8 +82,6 @@ The amount of time since the last broker status heartbeat. After this time, a br *Requires restart:* No -*Nullable:* No - *Visibility:* `tunable` *Type:* integer @@ -110,8 +100,6 @@ The duration, in milliseconds, that Redpanda waits for the replication of entrie *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -126,9 +114,7 @@ The duration, in milliseconds, that Redpanda waits for the replication of entrie Size of direct write operations to disk in bytes. A larger chunk size can improve performance for write-heavy workloads, but increase latency for these writes as more data is collected before each write operation. A smaller chunk size can decrease write latency, but potentially increase the number of disk I/O operations. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -144,8 +130,6 @@ Defines the number of bytes allocated by the internal audit client for audit mes *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* integer @@ -160,8 +144,6 @@ Enables or disables audit logging. When you set this to true, Redpanda checks fo *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* boolean @@ -176,8 +158,6 @@ List of strings in JSON style identifying the event types to include in the audi *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* array @@ -192,8 +172,6 @@ List of user principals to exclude from auditing. *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* array @@ -208,8 +186,6 @@ List of topics to exclude from auditing. *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* array @@ -222,9 +198,9 @@ List of topics to exclude from auditing. Defines the number of partitions used by a newly-created audit topic. This configuration applies only to the audit log topic and may be different from the cluster or other topic configurations. This cannot be altered for existing audit log topics. -*Requires restart:* No +*Unit:* number of partitions per topic -*Optional:* Yes +*Requires restart:* No *Visibility:* `user` @@ -242,8 +218,6 @@ Defines the replication factor for a newly-created audit log topic. This configu *Requires restart:* No -*Optional:* No - *Visibility:* `user` *Type:* integer @@ -262,8 +236,6 @@ Interval, in milliseconds, at which Redpanda flushes the queued audit log messag *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -280,8 +252,6 @@ Defines the maximum amount of memory in bytes used by the audit buffer in each s *Requires restart:* Yes -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -298,8 +268,6 @@ If you produce to a topic that doesn't exist, the topic will be created with def *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* boolean @@ -314,9 +282,7 @@ Cluster identifier. *Requires restart:* No -*Optional:* No - -*Visibility:* `None` +*Visibility:* `user` *Type:* string @@ -330,8 +296,6 @@ Size (in bytes) for each compacted log segment. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -344,11 +308,9 @@ Size (in bytes) for each compacted log segment. === compaction_ctrl_backlog_size -Target backlog size for compaction controller. If not set the max backlog size is configured to 80% of total disk space available. - -*Requires restart:* No +Target backlog size for compaction controller. If not set the max backlog size is configured to 80% of total disk space available. -*Optional:* No +*Requires restart:* Yes *Visibility:* `tunable` @@ -362,9 +324,7 @@ Target backlog size for compaction controller. If not set the max backlog size i Derivative coefficient for compaction PID controller. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -378,9 +338,7 @@ Derivative coefficient for compaction PID controller. Integral coefficient for compaction PID controller. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -394,9 +352,7 @@ Integral coefficient for compaction PID controller. Maximum number of I/O and CPU shares that compaction process can use. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -412,9 +368,7 @@ Maximum number of I/O and CPU shares that compaction process can use. Minimum number of I/O and CPU shares that compaction process can use. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -430,9 +384,7 @@ Minimum number of I/O and CPU shares that compaction process can use. Proportional coefficient for compaction PID controller. This must be negative, because the compaction backlog should decrease when the number of compaction shares increases. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -450,8 +402,6 @@ Interval between iterations of controller backend housekeeping loop. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -468,8 +418,6 @@ Maximum capacity of rate limit accumulation in controller ACLs and users operati *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -484,8 +432,6 @@ Maximum capacity of rate limit accumulation in controller configuration operatio *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -500,8 +446,6 @@ Maximum capacity of rate limit accumulation in controller move operations limit. *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -516,8 +460,6 @@ Maximum capacity of rate limit accumulation in controller node management operat *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -532,8 +474,6 @@ Maximum capacity of rate limit accumulation in controller topic operations limit *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -546,12 +486,10 @@ Maximum capacity of rate limit accumulation in controller topic operations limit Maximum amount of time before Redpanda attempts to create a controller snapshot after a new controller command appears. -*Unit*: seconds +*Unit:* seconds *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -568,8 +506,6 @@ If set to `true`, move partitions between cores in runtime to maintain balanced *Requires restart:* No -*Optional:* No - *Visibility:* `user` *Type:* boolean @@ -586,15 +522,13 @@ Interval, in milliseconds, between trigger and invocation of core balancing. *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer *Accepted values:* [`-17592186044416`, `17592186044415`] -*Default:* `10000` +*Default:* `10000` (10s) --- @@ -604,8 +538,6 @@ If set to `true`, and if after a restart the number of cores changes, Redpanda w *Requires restart:* No -*Optional:* No - *Visibility:* `user` *Type:* boolean @@ -620,8 +552,6 @@ Enables CPU profiling for Redpanda. *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* boolean @@ -638,8 +568,6 @@ The sample period for the CPU profiler. *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* integer @@ -658,8 +586,6 @@ Timeout, in milliseconds, to wait for new topic creation. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -676,8 +602,6 @@ The maximum size for a deployable WebAssembly binary that the broker can store. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -694,8 +618,6 @@ The commit interval at which data transforms progress. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -712,8 +634,6 @@ Enables WebAssembly-powered data transforms directly in the broker. When `data_t *Requires restart:* Yes -*Optional:* Yes - *Visibility:* `user` *Type:* boolean @@ -726,9 +646,9 @@ Enables WebAssembly-powered data transforms directly in the broker. When `data_t Buffer capacity for transform logs, per shard. Buffer occupancy is calculated as the total size of buffered log messages; that is, logs emitted but not yet produced. -*Requires restart:* Yes +*Unit:* bytes -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -746,8 +666,6 @@ Flush interval for transform logs. When a timer expires, pending logs are collec *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -766,8 +684,6 @@ Transform log lines truncate to this length. Truncation occurs after any charact *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -782,8 +698,6 @@ The amount of memory to reserve per core for data transform (Wasm) virtual machi *Requires restart:* Yes -*Optional:* Yes - *Visibility:* `user` *Type:* integer @@ -798,8 +712,6 @@ The amount of memory to give an instance of a data transform (Wasm) virtual mach *Requires restart:* Yes -*Optional:* Yes - *Visibility:* `user` *Type:* integer @@ -816,8 +728,6 @@ The percentage of available memory in the transform subsystem to use for read bu *Requires restart:* Yes -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -834,8 +744,6 @@ The maximum amount of runtime to start up a data transform, and the time it take *Requires restart:* Yes -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -854,8 +762,6 @@ The percentage of available memory in the transform subsystem to use for write b *Requires restart:* Yes -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -864,14 +770,44 @@ The percentage of available memory in the transform subsystem to use for write b --- +=== debug_bundle_auto_removal_seconds + +If set, how long debug bundles are kept in the debug bundle storage directory after they are created. If not set, debug bundles are kept indefinitely. + +*Unit:* seconds + +*Requires restart:* No + +*Visibility:* `user` + +*Type:* integer + +*Accepted values:* [`-17179869184`, `17179869183`] + +*Default:* `null` + +--- + +=== debug_bundle_storage_dir + +Path to the debug bundle storage directory. Note: Changing this path does not clean up existing debug bundles. If not set, the debug bundle is stored in the Redpanda data directory specified in the redpanda.yaml broker configuration file. + +*Requires restart:* No + +*Visibility:* `user` + +*Type:* string + +*Default:* `null` + +--- + === debug_load_slice_warning_depth The recursion depth after which debug logging is enabled automatically for the log reader. *Requires restart:* No -*Nullable:* Yes - *Visibility:* `tunable` *Type:* integer @@ -882,14 +818,24 @@ The recursion depth after which debug logging is enabled automatically for the l --- +=== default_leaders_preference + +Default settings for preferred location of topic partition leaders. It can be either "none" (no preference), or "racks:,,..." (prefer brokers with rack id from the list). + +*Requires restart:* No + +*Visibility:* `user` + +*Default:* `none` + +--- + === default_num_windows Default number of quota tracking windows. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -904,12 +850,10 @@ Default number of quota tracking windows. Default number of partitions per topic. -*Unit*: number of partitions per topic +*Unit:* number of partitions per topic *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* integer @@ -926,8 +870,6 @@ Default replication factor for new topics. *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* integer @@ -948,8 +890,6 @@ Default quota tracking window size in milliseconds. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -960,13 +900,25 @@ Default quota tracking window size in milliseconds. --- -=== disable_batch_cache +=== development_enable_cloud_topics -Disable batch cache in log manager. +Enable cloud topics. *Requires restart:* No -*Optional:* Yes +*Visibility:* `user` + +*Type:* boolean + +*Default:* `false` + +--- + +=== disable_batch_cache + +Disable batch cache in log manager. + +*Requires restart:* Yes *Visibility:* `tunable` @@ -978,11 +930,11 @@ Disable batch cache in log manager. === disable_cluster_recovery_loop_for_tests -Disables the cluster recovery loop. This property is used to simplify testing and should not be set in production. +include::reference:partial$internal-use-property.adoc[] -*Requires restart:* No +Disables the cluster recovery loop. -*Optional:* Yes +*Requires restart:* No *Visibility:* `tunable` @@ -996,11 +948,9 @@ Disables the cluster recovery loop. This property is used to simplify testing an Disable registering the metrics exposed on the internal `/metrics` endpoint. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes -*Visibility:* `None` +*Visibility:* `user` *Type:* boolean @@ -1012,11 +962,9 @@ Disable registering the metrics exposed on the internal `/metrics` endpoint. Disable registering the metrics exposed on the `/public_metrics` endpoint. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes -*Visibility:* `None` +*Visibility:* `user` *Type:* boolean @@ -1035,8 +983,6 @@ It is recommended to not run disks near capacity to avoid blocking I/O due to lo *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* number @@ -1051,8 +997,6 @@ Enables cluster metadata uploads. Required for xref:manage:whole-cluster-restore *Requires restart:* Yes -*Optional:* Yes - *Visibility:* `tunable` *Type:* boolean @@ -1067,8 +1011,6 @@ Limits the write rate for the controller log. *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* boolean @@ -1081,9 +1023,7 @@ Limits the write rate for the controller log. Enable idempotent producers. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `user` @@ -1095,12 +1035,10 @@ Enable idempotent producers. === enable_leader_balancer -Enable automatic leadership rebalancing. Mode is set by <>. +Enable automatic leadership rebalancing. *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* boolean @@ -1123,8 +1061,6 @@ The cluster metrics of the metrics reporter are different from xref:manage:monit *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* boolean @@ -1139,8 +1075,6 @@ Enable Redpanda extensions for MPX. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* boolean @@ -1153,9 +1087,7 @@ Enable Redpanda extensions for MPX. Enable PID file. You should not need to change. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -1171,8 +1103,6 @@ Enable rack-aware replica assignment. *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* boolean @@ -1187,8 +1117,6 @@ Enable SASL authentication for Kafka connections. Authorization is required to m *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* boolean @@ -1207,8 +1135,6 @@ Mode to enable server-side schema ID validation. *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Accepted Values*: @@ -1225,9 +1151,7 @@ Mode to enable server-side schema ID validation. Enable transactions (atomic writes). -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `user` @@ -1243,8 +1167,6 @@ Enables the usage tracking mechanism, storing windowed history of kafka/cloud_st *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* boolean @@ -1259,8 +1181,6 @@ Whether new feature flags auto-activate after upgrades (true) or must wait for m *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* boolean @@ -1273,12 +1193,10 @@ Whether new feature flags auto-activate after upgrades (true) or must wait for m Maximum number of bytes returned in a fetch request. -*Unit*: bytes +*Unit:* bytes *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* integer @@ -1287,6 +1205,82 @@ Maximum number of bytes returned in a fetch request. --- +=== fetch_pid_d_coeff + +Derivative coefficient for fetch PID controller. + +*Requires restart:* No + +*Visibility:* `tunable` + +*Type:* number + +*Default:* `0.0` + +--- + +=== fetch_pid_i_coeff + +Integral coefficient for fetch PID controller. + +*Requires restart:* No + +*Visibility:* `tunable` + +*Type:* number + +*Default:* `0.01` + +--- + +=== fetch_pid_max_debounce_ms + +The maximum debounce time the fetch PID controller will apply, in milliseconds. + +*Unit:* milliseconds + +*Requires restart:* No + +*Visibility:* `tunable` + +*Type:* integer + +*Accepted values:* [`-17592186044416`, `17592186044415`] + +*Default:* `100` + +--- + +=== fetch_pid_p_coeff + +Proportional coefficient for fetch PID controller. + +*Requires restart:* No + +*Visibility:* `tunable` + +*Type:* number + +*Default:* `100.0` + +--- + +=== fetch_pid_target_utilization_fraction + +A fraction, between 0 and 1, for the target reactor utilization of the fetch scheduling group. + +*Unit:* fraction + +*Requires restart:* No + +*Visibility:* `tunable` + +*Type:* number + +*Default:* `0.2` + +--- + === fetch_read_strategy The strategy used to fulfill fetch requests. @@ -1299,8 +1293,6 @@ The strategy used to fulfill fetch requests. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Accepted Values:* `polling`, `non_polling`, `non_polling_with_debounce` @@ -1317,8 +1309,6 @@ Time to wait for the next read in fetch requests when the requested minimum byte *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -1335,9 +1325,7 @@ Time duration after which the inactive fetch session is removed from the fetch s *Unit:* milliseconds -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -1357,8 +1345,6 @@ Delay added to the rebalance phase to wait for new members. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -1373,13 +1359,11 @@ Delay added to the rebalance phase to wait for new members. The maximum allowed session timeout for registered consumers. Longer timeouts give consumers more time to process messages in between heartbeats at the cost of a longer time to detect failures. -*Unit*: milliseconds +*Unit:* milliseconds *Requires restart:* No -*Optional:* Yes - -*Visibility:* `None` +*Visibility:* `user` *Type:* integer @@ -1393,13 +1377,11 @@ The maximum allowed session timeout for registered consumers. Longer timeouts gi The minimum allowed session timeout for registered consumers. Shorter timeouts result in quicker failure detection at the cost of more frequent consumer heartbeating, which can overwhelm broker resources. -*Unit*: milliseconds +*Unit:* milliseconds *Requires restart:* No -*Optional:* Yes - -*Visibility:* `None` +*Visibility:* `user` *Type:* integer @@ -1417,8 +1399,6 @@ Timeout for new member joins. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -1437,8 +1417,6 @@ Frequency rate at which the system should check for expired group offsets. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -1457,8 +1435,6 @@ Consumer group offset retention seconds. To disable offset retention, set this t *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -1473,9 +1449,9 @@ Consumer group offset retention seconds. To disable offset retention, set this t Number of partitions in the internal group membership topic. -*Requires restart:* No +*Unit:* number of partitions per topic -*Optional:* Yes +*Requires restart:* No *Visibility:* `tunable` @@ -1492,10 +1468,7 @@ Number of partitions in the internal group membership topic. How often the health manager runs. *Unit:* milliseconds - -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -1515,8 +1488,6 @@ Maximum age of the metadata cached in the health monitor of a non-controller bro *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -1533,8 +1504,6 @@ A list of supported HTTP authentication mechanisms. *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* array @@ -1545,13 +1514,25 @@ A list of supported HTTP authentication mechanisms. --- +=== iceberg_enabled + +Enables the translation of topic data into Iceberg tables. Setting `iceberg_enabled` to `true` activates the feature at the cluster level, but each topic must also set the `redpanda.iceberg.enabled` topic-level property to `true` to use it. If `iceberg_enabled` is set to `false`, then the feature is disabled for all topics in the cluster, overriding any topic-level settings. + +*Requires restart:* Yes + +*Visibility:* `user` + +*Type:* boolean + +*Default:* `false` + +--- + === id_allocator_batch_size The ID allocator allocates messages in batches (each batch is a one log record) and then serves requests from memory without touching the log until the batch is exhausted. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -1567,9 +1548,7 @@ The ID allocator allocates messages in batches (each batch is a one log record) Capacity of the `id_allocator` log in number of batches. After it reaches `id_allocator_stm`, it truncates the log's prefix. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -1589,8 +1568,6 @@ Initial local retention size target for partitions of topics with xref:manage:ti *Requires restart:* No -*Optional:* No - *Visibility:* `user` *Type:* integer @@ -1607,8 +1584,6 @@ Initial local retention time target for partitions of topics with xref:manage:ti *Requires restart:* No -*Optional:* No - *Visibility:* `user` *Type:* integer @@ -1624,73 +1599,100 @@ Initial local retention time target for partitions of topics with xref:manage:ti Target replication factor for internal topics. *Unit*: number of replicas per topic. +*Requires restart:* Yes -*Requires restart:* No +*Visibility:* `user` + +*Type:* integer + +*Accepted values:* [`-2147483648`, `2147483647`] + +*Default:* `3` + +--- + +=== join_retry_timeout_ms -*Optional:* Yes +Time between cluster join retries in milliseconds. + +*Unit:* milliseconds + +*Requires restart:* Yes + +*Visibility:* `tunable` + +*Type:* integer + +*Accepted values:* [`-17592186044416`, `17592186044415`] + +*Default:* `5000` + +--- + +=== kafka_admin_topic_api_rate + +Target quota rate (partition mutations per default_window_sec). + +*Requires restart:* No *Visibility:* `user` *Type:* integer -*Accepted values:* [`-2147483648`, `2147483647`] +*Accepted values:* [`0`, `4294967295`] -*Default:* `3` +*Default:* `null` --- -=== join_retry_timeout_ms +=== kafka_batch_max_bytes -Time between cluster join retries in milliseconds. +Maximum size of a batch processed by the server. If the batch is compressed, the limit applies to the compressed batch size. -*Unit:* milliseconds +*Unit:* bytes *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer -*Accepted values:* [`-17592186044416`, `17592186044415`] +*Accepted values:* [`0`, `4294967295`] -*Default:* `5000` +*Default:* `1048576` --- -=== kafka_batch_max_bytes +=== kafka_client_group_byte_rate_quota -Maximum size of a batch processed by the server. If the batch is compressed, the limit applies to the compressed batch size. +Per-group target produce quota byte rate (bytes per second). Client is considered part of the group if client_id contains clients_prefix. *Requires restart:* No -*Optional:* Yes +*Visibility:* `user` -*Visibility:* `tunable` +*Default:* `null` -*Type:* integer +--- -*Accepted values:* [`0`, `4294967295`] +=== kafka_client_group_fetch_byte_rate_quota -*Default:* `1048576` +Per-group target fetch quota byte rate (bytes per second). Client is considered part of the group if client_id contains clients_prefix. ---- +*Requires restart:* No -=== kafka_connection_rate_limit +*Visibility:* `user` -Maximum connections per second for one core. If `null` (the default), then the number of connections per second is unlimited. +*Default:* `null` -*Unit*: number of connections per second, per core +--- -*Related topics*: +=== kafka_connection_rate_limit -* xref:manage:cluster-maintenance/configure-availability.adoc#limit-client-connections[Limit client connections] +Maximum connections per second for one core. If `null` (the default), then the number of connections per second is unlimited. *Requires restart:* No -*Optional:* No - *Visibility:* `user` *Type:* integer @@ -1711,8 +1713,6 @@ Overrides the maximum connections per second for one core for the specified IP a *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* array @@ -1731,8 +1731,6 @@ Maximum number of Kafka client connections per broker. If `null`, the property i *Requires restart:* No -*Optional:* No - *Visibility:* `user` *Type:* integer @@ -1747,12 +1745,10 @@ Maximum number of Kafka client connections per broker. If `null`, the property i === kafka_connections_max_overrides -A list of IP addresses for which Kafka client connection limits are overridden and don't apply. For example, `(['127.0.0.1:90', '50.20.1.1:40']).` +A list of IP addresses for which Kafka client connection limits are overridden and don't apply. For example, `(['127.0.0.1:90', '50.20.1.1:40']).`. *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* array @@ -1771,8 +1767,6 @@ Maximum number of Kafka client connections per IP address, per broker. If `null` *Requires restart:* No -*Optional:* No - *Visibility:* `user` *Type:* integer @@ -1793,8 +1787,6 @@ Flag to require authorization for Kafka connections. If `null`, the property is *Requires restart:* No -*Optional:* No - *Visibility:* `user` *Type:* boolean @@ -1820,8 +1812,6 @@ Whether to include Tiered Storage as a special remote:// directory in `DescribeL *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* boolean @@ -1836,8 +1826,6 @@ Enable the Kafka partition reassignment API. *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* boolean @@ -1850,12 +1838,10 @@ Enable the Kafka partition reassignment API. Kafka group recovery timeout. -*Unit*: milliseconds +*Unit:* milliseconds *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* integer @@ -1872,8 +1858,6 @@ Limit fetch responses to this many bytes, even if the total of partition bytes l *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -1888,8 +1872,6 @@ The size of the batch used to estimate memory consumption for fetch requests, in *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* integer @@ -1904,8 +1886,6 @@ The share of Kafka subsystem memory that can be used for fetch read buffers, as *Requires restart:* Yes -*Optional:* Yes - *Visibility:* `user` *Type:* number @@ -1920,8 +1900,6 @@ Principal mapping rules for mTLS authentication on the Kafka API. If `null`, the *Requires restart:* No -*Optional:* No - *Visibility:* `user` *Type:* array @@ -1936,8 +1914,6 @@ A list of topics that are protected from deletion and configuration changes by K *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* string array @@ -1957,8 +1933,6 @@ A list of topics that are protected from being produced to by Kafka clients. Set *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* array @@ -1971,9 +1945,7 @@ A list of topics that are protected from being produced to by Kafka clients. Set Smoothing factor for Kafka queue depth control depth tracking. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -1989,9 +1961,7 @@ Update frequency for Kafka queue depth control. *Unit:* milliseconds -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -2009,8 +1979,6 @@ Enable Kafka queue depth control. *Requires restart:* Yes -*Optional:* Yes - *Visibility:* `user` *Type:* boolean @@ -2023,9 +1991,7 @@ Enable Kafka queue depth control. Queue depth when idleness is detected in Kafka queue depth control. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -2039,9 +2005,7 @@ Queue depth when idleness is detected in Kafka queue depth control. Smoothing parameter for Kafka queue depth control latency tracking. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -2055,9 +2019,7 @@ Smoothing parameter for Kafka queue depth control latency tracking. Maximum queue depth used in Kafka queue depth control. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -2071,11 +2033,9 @@ Maximum queue depth used in Kafka queue depth control. Maximum latency threshold for Kafka queue depth control depth tracking. -*Unit*: milliseconds - -*Requires restart:* No +*Unit:* milliseconds -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `user` @@ -2091,9 +2051,7 @@ Maximum latency threshold for Kafka queue depth control depth tracking. Minimum queue depth used in Kafka queue depth control. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -2107,9 +2065,7 @@ Minimum queue depth used in Kafka queue depth control. Number of windows used in Kafka queue depth control latency tracking. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -2125,9 +2081,7 @@ Window size for Kafka queue depth control latency tracking. *Unit:* milliseconds -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -2158,8 +2112,6 @@ If set to `0`, no minimum is enforced. *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* integer @@ -2190,8 +2142,6 @@ If set to `0.0`, the minimum is disabled. If set to `1.0`, the balancer won't be *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* number @@ -2204,7 +2154,7 @@ If set to `0.0`, the minimum is disabled. If set to `1.0`, the balancer won't be --- -=== kafka_quota_balancer_node_period +=== kafka_quota_balancer_node_period_ms Intra-node throughput quota balancer invocation period, in milliseconds. When set to 0, the balancer is disabled and makes all the throughput quotas immutable. @@ -2212,8 +2162,6 @@ Intra-node throughput quota balancer invocation period, in milliseconds. When se *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* integer @@ -2224,7 +2172,7 @@ Intra-node throughput quota balancer invocation period, in milliseconds. When se --- -=== kafka_quota_balancer_window +=== kafka_quota_balancer_window_ms Time window used to average current throughput measurement for quota balancer, in milliseconds. @@ -2232,8 +2180,6 @@ Time window used to average current throughput measurement for quota balancer, i *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* integer @@ -2248,9 +2194,9 @@ Time window used to average current throughput measurement for quota balancer, i Maximum size of a single request processed using the Kafka API. -*Requires restart:* No +*Unit:* bytes -*Optional:* Yes +*Requires restart:* No *Visibility:* `tunable` @@ -2266,9 +2212,9 @@ Maximum size of a single request processed using the Kafka API. Maximum size of the user-space receive buffer. If `null`, this limit is not applied. -*Requires restart:* No +*Unit:* bytes -*Optional:* No +*Requires restart:* Yes *Visibility:* `tunable` @@ -2282,17 +2228,15 @@ Maximum size of the user-space receive buffer. If `null`, this limit is not appl Size of the Kafka server TCP receive buffer. If `null`, the property is disabled. -*Unit*: bytes - -*Requires restart:* No +*Unit:* bytes -*Optional:* No +*Requires restart:* Yes -*Visibility:* `None` +*Visibility:* `user` *Type:* integer -*Accepted values:* [`-2147483648`, `2147483647`] aligned to 4096 bytes +*Accepted values:* [`-2147483648`, `2147483647`] *Default:* `null` @@ -2302,13 +2246,11 @@ Size of the Kafka server TCP receive buffer. If `null`, the property is disabled Size of the Kafka server TCP transmit buffer. If `null`, the property is disabled. -*Unit*: bytes - -*Requires restart:* No +*Unit:* bytes -*Optional:* No +*Requires restart:* Yes -*Visibility:* `None` +*Visibility:* `user` *Type:* integer @@ -2328,8 +2270,6 @@ IMPORTANT: If this property is not set (or set to `null`), session expiry is dis *Requires restart:* No -*Optional:* No - *Visibility:* `user` *Type:* integer @@ -2346,8 +2286,6 @@ Per-shard capacity of the cache for validating schema IDs. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -2356,7 +2294,7 @@ Per-shard capacity of the cache for validating schema IDs. --- -=== kafka_tcp_keepalive_idle_timeout_seconds +=== kafka_tcp_keepalive_timeout TCP keepalive idle timeout in seconds for Kafka connections. This describes the timeout between TCP keepalive probes that the remote site successfully acknowledged. Refers to the TCP_KEEPIDLE socket option. When changed, applies to new connections only. @@ -2364,8 +2302,6 @@ TCP keepalive idle timeout in seconds for Kafka connections. This describes the *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -2384,8 +2320,6 @@ TCP keepalive probe interval in seconds for Kafka connections. This describes th *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -2402,8 +2336,6 @@ TCP keepalive unacknowledged probes until the connection is considered dead for *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -2433,8 +2365,6 @@ A connection is assigned the first matching group and is then excluded from thro *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* string array @@ -2455,8 +2385,6 @@ List of Kafka API keys that are subject to cluster-wide and node-wide throughput *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* list @@ -2467,16 +2395,12 @@ List of Kafka API keys that are subject to cluster-wide and node-wide throughput === kafka_throughput_limit_node_in_bps -The maximum rate of all ingress Kafka API traffic for a node. Includes all Kafka API traffic (requests, responses, headers, fetched data, produced data, etc.). - -If `null`, the property is disabled, and traffic is not limited. +The maximum rate of all ingress Kafka API traffic for a node. Includes all Kafka API traffic (requests, responses, headers, fetched data, produced data, etc.). If `null`, the property is disabled, and traffic is not limited. -*Unit*: bytes per second +*Unit:* bytes per second *Requires restart:* No -*Optional:* No - *Visibility:* `user` *Type:* integer @@ -2493,16 +2417,12 @@ If `null`, the property is disabled, and traffic is not limited. === kafka_throughput_limit_node_out_bps -The maximum rate of all egress Kafka traffic for a node. Includes all Kafka API traffic (requests, responses, headers, fetched data, produced data, etc.). +The maximum rate of all egress Kafka traffic for a node. Includes all Kafka API traffic (requests, responses, headers, fetched data, produced data, etc.). If `null`, the property is disabled, and traffic is not limited. -If `null`, the property is disabled, and traffic is not limited. - -*Unit*: bytes per second +*Unit:* bytes per second *Requires restart:* No -*Optional:* No - *Visibility:* `user` *Type:* integer @@ -2525,8 +2445,6 @@ This threshold is evaluated with each request for data. When the number of token *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -2549,8 +2467,6 @@ WARNING: Disabling this property is not recommended. It causes your Redpanda clu *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* boolean @@ -2567,8 +2483,6 @@ Key-value store flush interval (in milliseconds). *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -2583,9 +2497,7 @@ Key-value store flush interval (in milliseconds). Key-value maximum segment size (in bytes). -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -2603,8 +2515,6 @@ Leadership rebalancing idle timeout. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -2615,27 +2525,6 @@ Leadership rebalancing idle timeout. --- -=== leader_balancer_mode - -Mode of the leader balancer for optimizing movements of leadership between shards (logical CPU cores). Enabled by <>. - -*Requires restart:* No - -*Optional:* Yes - -*Visibility:* `user` - -*Type:* `string` - -*Accepted Values*: - -* `random_hill_climbing`: a shard is randomly chosen and leadership is moved to it if the load on the original shard is reduced. -* `greedy_balanced_shards`: leadership movement is based on a greedy heuristic of moving leaders from the most loaded shard to the least loaded shard. - -*Default:* `random_hill_climbing` - ---- - === leader_balancer_mute_timeout Leadership rebalancing mute timeout. @@ -2644,8 +2533,6 @@ Leadership rebalancing mute timeout. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -2656,7 +2543,7 @@ Leadership rebalancing mute timeout. --- -=== leader_balancer_node_mute_timeout +=== leader_balancer_mute_timeout Leadership rebalancing node mute timeout. @@ -2664,8 +2551,6 @@ Leadership rebalancing node mute timeout. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -2682,8 +2567,6 @@ Per shard limit for in-progress leadership transfers. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -2698,8 +2581,6 @@ Group offset retention is enabled by default starting in Redpanda version 23.1. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* boolean @@ -2710,14 +2591,10 @@ Group offset retention is enabled by default starting in Redpanda version 23.1. === legacy_permit_unsafe_log_operation -Flag to enable a Redpanda cluster operator to use unsafe control characters within strings, such as consumer group names or user names. - -This flag applies only for Redpanda clusters that were originally on version 23.1 or earlier and have been upgraded to version 23.2 or later. Starting in version 23.2, newly-created Redpanda clusters ignore this property. +Flag to enable a Redpanda cluster operator to use unsafe control characters within strings, such as consumer group names or user names. This flag applies only for Redpanda clusters that were originally on version 23.1 or earlier and have been upgraded to version 23.2 or later. Starting in version 23.2, newly-created Redpanda clusters ignore this property. *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* boolean @@ -2730,16 +2607,12 @@ This flag applies only for Redpanda clusters that were originally on version 23. === legacy_unsafe_log_warning_interval_sec -Period at which to log a warning about using unsafe strings containing control characters. - -If unsafe strings are permitted by <>, a warning will be logged at an interval specified by this property. +Period at which to log a warning about using unsafe strings containing control characters. If unsafe strings are permitted by `legacy_permit_unsafe_log_operation`, a warning will be logged at an interval specified by this property. -*Unit*: seconds +*Unit:* seconds *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* integer @@ -2760,8 +2633,6 @@ The topic property xref:./topic-properties.adoc#cleanuppolicy[`cleanup.policy`] *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Accepted Values*: `compact`, `delete`, `compact,delete` @@ -2774,12 +2645,10 @@ The topic property xref:./topic-properties.adoc#cleanuppolicy[`cleanup.policy`] How often to trigger background compaction. -*Unit*: milliseconds +*Unit:* milliseconds *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* integer @@ -2796,8 +2665,6 @@ Use sliding window compaction. *Requires restart:* Yes -*Optional:* Yes - *Visibility:* `tunable` *Type:* boolean @@ -2814,8 +2681,6 @@ The topic property xref:./topic-properties.adoc#compressiontype[`compression.typ *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Accepted Values:* `gzip`, `snappy`, `lz4`, `zstd`, `producer`, `none`. @@ -2826,14 +2691,10 @@ The topic property xref:./topic-properties.adoc#compressiontype[`compression.typ === log_disable_housekeeping_for_tests -Disables the housekeeping loop for local storage. - -IMPORTANT: This property is used to simplify testing, and should not be set in production. +Disables the housekeeping loop for local storage. This property is used to simplify testing, and should not be set in production. *Requires restart:* Yes -*Optional:* Yes - *Visibility:* `tunable` *Type:* boolean @@ -2850,8 +2711,6 @@ Threshold in milliseconds for alerting on messages with a timestamp after the br *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -2870,8 +2729,6 @@ Threshold in milliseconds for alerting on messages with a timestamp before the b *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -2890,8 +2747,6 @@ The topic property xref:./topic-properties.adoc#messagetimestamptype[`message.ti *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Accepted Values:* `CreateTime`, `LogAppendTime`. @@ -2904,12 +2759,10 @@ The topic property xref:./topic-properties.adoc#messagetimestamptype[`message.ti The amount of time to keep a log file before deleting it (in milliseconds). If set to `-1`, no time limit is applied. This is a cluster-wide default when a topic does not set or disable xref:./topic-properties.adoc#retentionms[`retention.ms`]. -*Unit*: milliseconds +*Unit:* milliseconds *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Accepted values:* [`-17592186044416`, `17592186044415`] @@ -2924,12 +2777,10 @@ Default lifetime of log segments. If `null`, the property is disabled, and no de The topic property xref:./topic-properties.adoc#segmentms[`segment.ms`] overrides the value of `log_segment_ms` at the topic level. -*Unit*: milliseconds +*Unit:* milliseconds *Requires restart:* No -*Optional:* No - *Visibility:* `user` *Type:* integer @@ -2953,8 +2804,6 @@ Upper bound on topic `segment.ms`: higher values will be clamped to this value. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -2973,8 +2822,6 @@ Lower bound on topic `segment.ms`: lower values will be clamped to this value. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -2991,8 +2838,6 @@ Default log segment size in bytes for topics which do not set `segment.bytes`. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -3007,9 +2852,9 @@ Default log segment size in bytes for topics which do not set `segment.bytes`. Random variation to the segment size limit used for each partition. -*Requires restart:* Yes +*Unit:* percent -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -3027,8 +2872,6 @@ Upper bound on topic `segment.bytes`: higher values will be clamped to this limi *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -3045,8 +2888,6 @@ Lower bound on topic `segment.bytes`: lower values will be clamped to this limit *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -3063,8 +2904,6 @@ Disable reusable preallocated buffers for LZ4 decompression. *Requires restart:* Yes -*Nullable:* No - *Visibility:* `tunable` *Type:* boolean @@ -3079,8 +2918,6 @@ Maximum compacted segment size after consolidation. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -3091,12 +2928,10 @@ Maximum compacted segment size after consolidation. === max_concurrent_producer_ids -Maximum number of the active producers sessions. When the threshold is passed, Redpanda terminates old sessions. When an idle producer corresponding to the terminated session wakes up and produces, its message batches are rejected, and an out of order sequence error is emitted. Consumers don't affect this setting. +Maximum number of active producer sessions. When the threshold is passed, Redpanda terminates old sessions. When an idle producer corresponding to the terminated session wakes up and produces, its message batches are rejected, and an out of order sequence error is emitted. Consumers don't affect this setting. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -3113,8 +2948,6 @@ Maximum number of in-flight HTTP requests to HTTP Proxy permitted per shard. An *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -3129,8 +2962,6 @@ Maximum number of in-flight HTTP requests to Schema Registry permitted per shard *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -3147,8 +2978,6 @@ Fail-safe maximum throttle delay on Kafka requests. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -3167,8 +2996,6 @@ For details, see xref:develop:transactions#transaction-usage-tips[Transaction us *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -3185,9 +3012,7 @@ Time between members backend reconciliation loop retries. *Unit:* milliseconds -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -3205,8 +3030,6 @@ If `true`, the Redpanda process will terminate immediately when an allocation ca *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* boolean @@ -3219,11 +3042,9 @@ If `true`, the Redpanda process will terminate immediately when an allocation ca Interval for metadata dissemination batching. -*Unit*: milliseconds - -*Requires restart:* No +*Unit:* milliseconds -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -3237,13 +3058,9 @@ Interval for metadata dissemination batching. === metadata_dissemination_retries -Number of attempts to look up a topic's metadata-like shard before a request fails. - -This configuration controls the number of retries that request handlers perform when internal topic metadata (for topics like tx, consumer offsets, etc) is missing. These topics are usually created on demand when users try to use the cluster for the first time and it may take some time for the creation to happen and the metadata to propagate to all the brokers (particularly the broker handling the request). In the mean time Redpanda waits and retry. This configuration controls the number retries. +Number of attempts to look up a topic's metadata-like shard before a request fails. This configuration controls the number of retries that request handlers perform when internal topic metadata (for topics like tx, consumer offsets, etc) is missing. These topics are usually created on demand when users try to use the cluster for the first time and it may take some time for the creation to happen and the metadata to propagate to all the brokers (particularly the broker handling the request). In the meantime Redpanda waits and retries. This configuration controls the number retries. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -3261,9 +3078,7 @@ Delay before retrying a topic lookup in a shard or other meta tables. *Unit:* milliseconds -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -3281,9 +3096,7 @@ Maximum time to wait in metadata request for cluster health to be refreshed. *Unit:* milliseconds -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -3300,11 +3113,8 @@ Maximum time to wait in metadata request for cluster health to be refreshed. Cluster metrics reporter report interval. *Unit:* milliseconds - *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -3323,8 +3133,6 @@ Cluster metrics reporter tick interval. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -3341,8 +3149,6 @@ URL of the cluster metrics reporter. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* string @@ -3361,8 +3167,6 @@ If you change the `minimum_topic_replications` setting, the replication factor o *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* integer @@ -3379,8 +3183,6 @@ How long after the last heartbeat request a node will wait before considering it *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -3397,9 +3199,7 @@ Timeout for executing node management operations. *Unit:* milliseconds -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -3416,11 +3216,8 @@ Timeout for executing node management operations. Time interval between two node status messages. Node status messages establish liveness status outside of the Raft protocol. *Unit:* milliseconds - *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -3439,8 +3236,6 @@ Maximum backoff (in milliseconds) to reconnect to an unresponsive peer during no *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* integer @@ -3459,8 +3254,6 @@ The amount of time (in seconds) to allow for when validating the expiry claim in *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* integer @@ -3477,8 +3270,6 @@ The URL pointing to the well-known discovery endpoint for the OIDC provider. *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* string @@ -3495,8 +3286,6 @@ The frequency of refreshing the JSON Web Keys (JWKS) used to validate access tok *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* integer @@ -3513,8 +3302,6 @@ Rule for mapping JWT payload claim to a Redpanda user principal. *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* string @@ -3529,8 +3316,6 @@ A string representing the intended recipient of the token. *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* string @@ -3545,8 +3330,6 @@ Number of partitions that can be reassigned at once. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -3565,8 +3348,6 @@ When the disk usage of a node exceeds this threshold, it triggers Redpanda to mo *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* integer @@ -3587,8 +3368,6 @@ Minimum size of partition that is going to be prioritized when rebalancing a clu *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -3603,8 +3382,6 @@ Mode of xref:manage:cluster-maintenance/cluster-balancing.adoc[partition balanci *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Accepted values:* @@ -3627,12 +3404,10 @@ NOTE: This property applies only when <= v23.3. + +*Requires restart:* No + +*Visibility:* `user` + +*Type:* boolean + +*Default:* `false` + +--- + === space_management_max_log_concurrency Maximum parallel logs inspected during space management process. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -4855,8 +4522,6 @@ Maximum parallel segments inspected during space management process. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -4873,8 +4538,6 @@ Maximum number of bytes that may be used on each shard by compaction index write *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -4891,8 +4554,6 @@ Maximum number of bytes that may be used on each shard by compaction key-offset *Requires restart:* Yes -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -4911,8 +4572,6 @@ NOTE: Memory per shard is computed after <>. -*Unit*: milliseconds +*Unit:* milliseconds *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* integer @@ -5291,12 +4950,8 @@ Delete segments older than this age. To ensure transaction state is retained as The size (in bytes) each log segment should be. -*Unit:* bytes - *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -5311,9 +4966,9 @@ The size (in bytes) each log segment should be. Number of partitions for transactions coordinator. -*Requires restart:* No +*Unit:* number of partitions per topic -*Optional:* Yes +*Requires restart:* No *Visibility:* `tunable` @@ -5333,8 +4988,6 @@ The maximum allowed timeout for transactions. If a client-requested transaction *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -5349,12 +5002,10 @@ The maximum allowed timeout for transactions. If a client-requested transaction Expiration time of producer IDs. Measured starting from the time of the last write until now for a given ID. -*Unit*: milliseconds +*Unit:* milliseconds *Requires restart:* No -*Optional:* Yes - *Visibility:* `user` *Type:* integer @@ -5369,11 +5020,9 @@ Expiration time of producer IDs. Measured starting from the time of the last wri Delay before scheduling the next check for timed out transactions. -*Unit*: milliseconds - -*Requires restart:* No +*Unit:* milliseconds -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `user` @@ -5391,8 +5040,6 @@ Enables delete retention of consumer offsets topic. This is an internal-only con *Requires restart:* Yes -*Nullable:* No - *Visibility:* `user` *Type:* boolean @@ -5409,8 +5056,6 @@ The interval in which all usage stats are written to disk. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -5427,8 +5072,6 @@ The number of windows to persist in memory and disk. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -5445,8 +5088,6 @@ The width of a usage window, tracking cloud and kafka ingress/egress traffic eac *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -5463,8 +5104,6 @@ Use a separate scheduler group for fetch processing. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* boolean @@ -5479,8 +5118,6 @@ Minimum number of active producers per virtual cluster. *Requires restart:* No -*Nullable:* No - *Visibility:* `tunable` *Type:* integer @@ -5499,8 +5136,6 @@ Timeout to wait for leadership in metadata cache. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -5519,8 +5154,6 @@ The `write_caching_default` cluster property can be overridden with the xref:top *Requires restart:* no -*Optional:* No - *Type*: string *Accepted values:* @@ -5541,9 +5174,9 @@ The `write_caching_default` cluster property can be overridden with the xref:top Size of the zstd decompression workspace. -*Requires restart:* No +*Unit:* bytes -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -5552,3 +5185,4 @@ Size of the zstd decompression workspace. *Default:* `8388608` --- + diff --git a/modules/reference/pages/properties/object-storage-properties.adoc b/modules/reference/pages/properties/object-storage-properties.adoc index 43c0090ac..0f8f0bfeb 100644 --- a/modules/reference/pages/properties/object-storage-properties.adoc +++ b/modules/reference/pages/properties/object-storage-properties.adoc @@ -11,14 +11,12 @@ Object storage properties should only be set if you enable xref:manage:tiered-st === cloud_storage_access_key -AWS or GCP access key. This access key is part of the credentials that Redpanda requires to authenticate with object storage services for Tiered Storage. This access key is used with the <> to form the complete credentials required for authentication. +AWS or GCP access key. This access key is part of the credentials that Redpanda requires to authenticate with object storage services for Tiered Storage. This access key is used with the <> to form the complete credentials required for authentication. -To authenticate using IAM roles, see <>. +To authenticate using IAM roles, see <>. *Requires restart:* Yes -*Optional:* No - *Visibility:* `user` *Type:* string @@ -51,287 +49,15 @@ Optional API endpoint. The only instance in which you must set this value is whe TLS port override. -*Requires restart:* No - -*Optional:* Yes - -*Visibility:* `user` - -*Type:* integer - -*Accepted values:* [`-32768`, `32767`] - -*Default:* `443` - ---- - -=== cloud_storage_bucket - -AWS or GCP bucket that should be used to store data. - -*Requires restart:* No - -*Optional:* No - -*Visibility:* `user` - -*Type:* string - -*Default:* `null` - ---- - - -=== cloud_storage_cache_size - -Maximum size of object storage cache. - -If both this property and <> are set, Redpanda uses the minimum of the two. - -*Units*: bytes - -*Requires restart:* No - -*Optional:* Yes - -*Visibility:* `user` - -*Type:* integer - -*Accepted values:* [`0`, `18446744073709551615`] - -*Default:* `0` - - ---- - -=== cloud_storage_cluster_metadata_upload_interval_ms - -Time interval to wait between cluster metadata uploads. - -*Units*: milliseconds - -*Requires restart:* No - -*Optional:* Yes - -*Visibility:* `tunable` - -*Type:* integer - -*Accepted values:* [`-17592186044416`, `17592186044415`] - -*Default:* `3600000` (1 hour) - ---- - -=== cloud_storage_credentials_source - -The source of credentials used to authenticate to object storage services. -Required for AWS or GCP authentication with IAM roles. - -To authenticate using access keys, see <>. - -*Accepted values*: `config_file`, `aws_instance_metadata`, `sts, gcp_instance_metadata`, `azure_vm_instance_metadata`, `azure_aks_oidc_federation` - -*Requires restart:* Yes - -*Optional:* Yes - -*Visibility:* `user` - -*Default:* `config_file` - ---- - -=== cloud_storage_crl_file - -Path to certificate revocation list for <>. - -*Requires restart:* No - -*Optional:* Yes - -*Visibility:* `user` - -*Type:* string - -*Default:* `null` - ---- - -=== cloud_storage_disable_archiver_manager - -Use legacy upload mode and do not start archiver_manager. - *Requires restart:* Yes -*Optional:* No - -*Visibility:* `user` - -*Type:* boolean - -*Default:* `true` - ---- - -=== cloud_storage_disable_tls - -Disable TLS for all object storage connections. - -*Type*: boolean - -*Default*: false - -*Restart required*: yes - ---- - -=== cloud_storage_enabled - -Enable object storage. Must be set to `true` to use Tiered Storage or Remote Read Replicas. - -*Requires restart:* No - -*Optional:* Yes - -*Visibility:* `user` - -*Type:* boolean - -*Default:* `false` - ---- - -=== cloud_storage_max_connections - -Maximum simultaneous object storage connections per shard, applicable to upload and download activities. - -*Units*: number of simultaneous connections - -*Requires restart:* No - -*Optional:* Yes - *Visibility:* `user` *Type:* integer *Accepted values:* [`-32768`, `32767`] -*Default:* `20` - ---- - -=== cloud_storage_recovery_topic_validation_mode - -Validation performed before recovering a topic from object storage. In case of failure, the reason for the failure appears as `ERROR` lines in the Redpanda application log. For each topic, this reports errors for all partitions, but for each partition, only the first error is reported. - -This property accepts the following parameters: - -- `no_check`: Skips the checks for topic recovery. -- `check_manifest_existence`: Runs an existence check on each `partition_manifest`. Fails if there are connection issues to the object storage. -- `check_manifest_and_segment_metadata`: Downloads the manifest and runs a consistency check, comparing the metadata with the cloud storage objects. The process fails if metadata references any missing cloud storage objects. - -Example: Redpanda validates the topic `kafka/panda-topic-recovery-NOT-OK` and stops due to a fatal error on partition 0: - -```bash -ERROR 2024-04-24 21:29:08,166 [shard 1:main] cluster - [fiber11|0|299996ms recovery validation of {kafka/panda-topic-recovery-NOT-OK/0}/24] - manifest metadata check: missing segment, validation not ok -ERROR 2024-04-24 21:29:08,166 [shard 1:main] cluster - topics_frontend.cc:519 - Stopping recovery of {kafka/panda-topic-recovery-NOT-OK} due to validation error -``` - -Each failing partition error message has the following format: - -```bash -ERROR .... [... recovery validation of {}...] - , validation not ok -``` - -At the end of the process, Redpanda outputs a final ERROR message: - -```bash -ERROR ... ... - Stopping recovery of {} due to validation error -``` - -*Requires restart:* No - -*Required:* No - -*Visibility:* `tunable` - -*Type:* string - -*Default:* `check_manifest_existence` - -*Accepted values:* [`no_check`, `check_manifest_existence`, `check_manifest_and_segment_metadata`] - -*Related topics:* xref:manage:whole-cluster-restore.adoc[] - ---- - -=== cloud_storage_recovery_topic_validation_depth - -Number of metadata segments to validate, from newest to oldest, when <> is set to `check_manifest_and_segment_metadata`. - -*Requires restart:* No - -*Required:* No - -*Visibility:* `tunable` - -*Type:* integer - -*Accepted values:* [`0`, `4294967295`] - -*Default:* `10` - ---- - -=== cloud_storage_region - -AWS or GCP region that houses the bucket or container used for storage. - -*Requires restart:* No - -*Optional:* No - -*Visibility:* `user` - -*Type:* string - -*Default:* `null` - ---- - -=== cloud_storage_secret_key - -AWS or GCP secret key. - -*Requires restart:* Yes - -*Optional:* No - -*Visibility:* `user` - -*Type:* string - -*Default:* `null` - ---- - -=== cloud_storage_trust_file - -Path to certificate that should be used to validate server certificate during TLS handshake. - -*Requires restart:* No - -*Optional:* No - -*Visibility:* `user` - -*Type:* string - -*Default:* `null` +*Default:* `443` --- @@ -341,8 +67,6 @@ When set to `true`, Redpanda automatically retrieves cluster metadata from a spe *Requires restart:* Yes -*Optional:* Yes - *Visibility:* `tunable` *Type:* boolean @@ -359,8 +83,6 @@ If not set, this is automatically generated using `dfs.core.windows.net` and <>, and whichever limit is hit first will trigger trimming of the cache. +Maximum number of objects that may be held in the Tiered Storage cache. This applies simultaneously with <>, and whichever limit is hit first will trigger trimming of the cache. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -588,8 +305,6 @@ Divide the object storage cache across the specified number of buckets. This onl *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -600,17 +315,29 @@ Divide the object storage cache across the specified number of buckets. This onl --- -=== cloud_storage_cache_size_percent +=== cloud_storage_cache_size -Maximum size of the cloud cache as a percentage of unreserved disk space (see config_ref:disk_reservation_percent,true,cluster-properties[]). The default value for this option is tuned for a shared disk configuration. Consider increasing the value if using a dedicated cache disk. +Maximum size of object storage cache. If both this property and <> are set, Redpanda uses the minimum of the two. -The property <> controls the same limit expressed as a fixed number of bytes. If both `cloud_storage_cache_size` and `cloud_storage_cache_size_percent` are set, Redpanda uses the minimum of the two. +*Requires restart:* No -*Units*: percentage of total disk size. +*Visibility:* `user` -*Requires restart:* No +*Type:* integer + +*Accepted values:* [`0`, `18446744073709551615`] + +*Default:* `0` + +--- -*Optional:* No +=== cloud_storage_cache_size_percent + +Maximum size of the cloud cache as a percentage of unreserved disk space disk_reservation_percent. The default value for this option is tuned for a shared disk configuration. Consider increasing the value if using a dedicated cache disk. The property <> controls the same limit expressed as a fixed number of bytes. If both `cloud_storage_cache_size` and `cloud_storage_cache_size_percent` are set, Redpanda uses the minimum of the two. + +*Unit:* percent + +*Requires restart:* No *Visibility:* `user` @@ -628,8 +355,6 @@ Cache trimming is triggered when the number of objects in the cache reaches this *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* number @@ -646,8 +371,6 @@ Cache trimming is triggered when the cache size reaches this percentage relative *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* number @@ -662,8 +385,6 @@ The maximum number of concurrent tasks launched for traversing the directory str *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -680,8 +401,6 @@ Selects a strategy for evicting unused cache chunks. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Accepted values:* [`eager`, `capped`, `predictive`] @@ -696,8 +415,6 @@ Number of chunks to prefetch ahead of every downloaded chunk. Prefetching additi *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -710,12 +427,10 @@ Number of chunks to prefetch ahead of every downloaded chunk. Prefetching additi === cloud_storage_cluster_metadata_num_consumer_groups_per_upload -Number of groups to upload in a single snapshot object during consumer offsets upload. Setting a lower value means a larger number of smaller snapshots are uploaded. +Number of groups to upload in a single snapshot object during consumer offsets upload. Setting a lower value will mean a larger number of smaller snapshots are uploaded. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -730,8 +445,6 @@ Number of attempts metadata operations may be retried. *Requires restart:* Yes -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -742,6 +455,24 @@ Number of attempts metadata operations may be retried. --- +=== cloud_storage_cluster_metadata_upload_interval_ms + +Time interval to wait between cluster metadata uploads. + +*Unit:* milliseconds + +*Requires restart:* No + +*Visibility:* `tunable` + +*Type:* integer + +*Accepted values:* [`-17592186044416`, `17592186044415`] + +*Default:* `3600000` + +--- + === cloud_storage_cluster_metadata_upload_timeout_ms Timeout for cluster metadata uploads. @@ -750,8 +481,6 @@ Timeout for cluster metadata uploads. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -764,12 +493,10 @@ Timeout for cluster metadata uploads. === cloud_storage_credentials_host -The hostname to connect to for retrieving role based credentials. Derived from <> if not set. Only required when using IAM role-based access. +The hostname to connect to for retrieving role based credentials. Derived from <> if not set. Only required when using IAM role based access. To authenticate using access keys, see <>. *Requires restart:* Yes -*Optional:* No - *Visibility:* `tunable` *Type:* @@ -780,14 +507,43 @@ The hostname to connect to for retrieving role based credentials. Derived from < --- +=== cloud_storage_credentials_source + +The source of credentials used to authenticate to object storage services. +Required for AWS or GCP authentication with IAM roles. + +To authenticate using access keys, see <>. + +*Accepted values*: `config_file`, `aws_instance_metadata`, `sts, gcp_instance_metadata`, `azure_vm_instance_metadata`, `azure_aks_oidc_federation` + +*Requires restart:* Yes + +*Visibility:* `user` + +*Default:* `config_file` + +--- + +=== cloud_storage_crl_file + +Path to certificate revocation list for <>. + +*Requires restart:* No + +*Visibility:* `user` + +*Type:* string + +*Default:* `null` + +--- + === cloud_storage_disable_chunk_reads Disable chunk reads and switch back to legacy mode where full segments are downloaded. When set to `true`, this option disables the more efficient chunk-based reads, causing Redpanda to download entire segments. This legacy behavior might be useful in specific scenarios where chunk-based fetching is not optimal. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* boolean @@ -802,8 +558,6 @@ Disable all metadata consistency checks to allow Redpanda to replay logs with in *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* boolean @@ -818,8 +572,6 @@ Begins the read replica sync loop in topic partitions with Tiered Storage enable *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* boolean @@ -836,8 +588,6 @@ CAUTION: This property exists to simplify testing and shouldn't be set in produc *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* boolean @@ -846,14 +596,26 @@ CAUTION: This property exists to simplify testing and shouldn't be set in produc --- +=== cloud_storage_disable_tls + +Disable TLS for all object storage connections. + +*Requires restart:* Yes + +*Visibility:* `user` + +*Type:* boolean + +*Default:* `false` + +--- + === cloud_storage_disable_upload_consistency_checks Disable all upload consistency checks to allow Redpanda to upload logs with gaps and replicate metadata with consistency violations. Normally, this option should be disabled. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* boolean @@ -868,8 +630,6 @@ Begins the upload loop in topic partitions with Tiered Storage enabled. The prop *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* boolean @@ -885,8 +645,6 @@ When set to `true`, Redpanda can re-upload data for compacted topics to object s *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* boolean @@ -902,8 +660,6 @@ When set to `true`, new topics are by default configured to allow reading data d *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* boolean @@ -919,8 +675,6 @@ When set to `true`, new topics are by default configured to upload data to objec *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* boolean @@ -935,8 +689,6 @@ Enable routine checks (scrubbing) of object storage partitions. The scrubber val *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* boolean @@ -955,8 +707,6 @@ Enables adjacent segment merging. The segments are reuploaded if there is an opp *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* boolean @@ -965,6 +715,20 @@ Enables adjacent segment merging. The segments are reuploaded if there is an opp --- +=== cloud_storage_enabled + +Enable object storage. Must be set to `true` to use Tiered Storage or Remote Read Replicas. + +*Requires restart:* Yes + +*Visibility:* `user` + +*Type:* boolean + +*Default:* `false` + +--- + === cloud_storage_full_scrub_interval_ms Interval, in milliseconds, between a final scrub and the next scrub. @@ -973,15 +737,13 @@ Interval, in milliseconds, between a final scrub and the next scrub. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer *Accepted values:* [`-17592186044416`, `17592186044415`] -*Default:* `4320000000` (12h) +*Default:* `43200000` (12h) --- @@ -993,8 +755,6 @@ Timeout for running the cloud storage garbage collection, in milliseconds. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -1013,8 +773,6 @@ Time limit on waiting for uploads to complete before a leadership transfer. If *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -1033,15 +791,13 @@ Interval, in milliseconds, between object storage housekeeping tasks. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer *Accepted values:* [`-17592186044416`, `17592186044415`] -*Default:* `5000` +*Default:* `300000` --- @@ -1053,8 +809,6 @@ A segment is divided into chunks. Chunk hydration means downloading the chunk (w *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* number @@ -1075,8 +829,6 @@ Negative doesn't make sense, but it may not be checked-for/enforced. Large is su *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -1093,8 +845,6 @@ The object storage request rate threshold for idle state detection. If the avera *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* number @@ -1111,8 +861,6 @@ The timeout, in milliseconds, used to detect the idle state of the object storag *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -1131,8 +879,6 @@ Initial backoff time for exponential backoff algorithm (ms). *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -1149,8 +895,6 @@ Scrubber uses the latest cloud storage inventory report, if available, to check *Requires restart:* Yes -*Optional:* No - *Visibility:* `tunable` *Type:* boolean @@ -1159,14 +903,12 @@ Scrubber uses the latest cloud storage inventory report, if available, to check --- -=== cloud_storage_inventory_hash_store +=== cloud_storage_inventory_hash_path_directory Directory to store inventory report hashes for use by cloud storage scrubber. *Requires restart:* Yes -*Optional:* Yes - *Visibility:* `user` *Type:* string @@ -1181,8 +923,6 @@ The name of the scheduled inventory job created by Redpanda to generate bucket o *Requires restart:* Yes -*Optional:* No - *Visibility:* `tunable` *Type:* string @@ -1199,8 +939,6 @@ Maximum bytes of hashes held in memory before writing data to disk during invent *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -1215,9 +953,9 @@ Maximum bytes of hashes held in memory before writing data to disk during invent Time interval between checks for a new inventory report in the cloud storage bucket or container. -*Requires restart:* Yes +*Unit:* milliseconds -*Optional:* No +*Requires restart:* Yes *Visibility:* `tunable` @@ -1235,8 +973,6 @@ The prefix to the path in the cloud storage bucket or container where inventory *Requires restart:* Yes -*Optional:* No - *Visibility:* `tunable` *Type:* string @@ -1251,8 +987,6 @@ If enabled, Redpanda will not attempt to create the scheduled report configurati *Requires restart:* Yes -*Optional:* No - *Visibility:* `tunable` *Type:* boolean @@ -1269,8 +1003,6 @@ Amount of memory that can be used to handle Tiered Storage metadata. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -1279,7 +1011,7 @@ Amount of memory that can be used to handle Tiered Storage metadata. --- -=== cloud_storage_manifest_cache_ttl_ms +=== cloud_storage_materialized_manifest_ttl_ms The interval, in milliseconds, determines how long the materialized manifest can stay in the cache under contention. This setting is used for performance tuning. When the spillover manifest is materialized and stored in the cache, and the cache needs to evict it, it uses this value as a timeout. The cursor that uses the spillover manifest uses this value as a TTL interval, after which it stops referencing the manifest making it available for eviction. This only affects spillover manifests under contention. @@ -1287,8 +1019,6 @@ The interval, in milliseconds, determines how long the materialized manifest can *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -1303,9 +1033,9 @@ The interval, in milliseconds, determines how long the materialized manifest can Minimum interval, in seconds, between partition manifest uploads. Actual time between uploads may be greater than this interval. If this is `null`, metadata is updated after each segment upload. -*Requires restart:* No +*Unit:* seconds -*Optional:* No +*Requires restart:* No *Visibility:* `tunable` @@ -1325,8 +1055,6 @@ Manifest upload timeout, in milliseconds. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -1344,8 +1072,6 @@ Maximum concurrent segment hydrations of remote data per CPU core. If unset, va *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -1363,9 +1089,7 @@ This setting reduces resource utilization by closing inactive connections. Adjus *Unit:* milliseconds -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -1377,14 +1101,28 @@ This setting reduces resource utilization by closing inactive connections. Adjus --- +=== cloud_storage_max_connections + +Maximum simultaneous object storage connections per shard, applicable to upload and download activities. + +*Requires restart:* Yes + +*Visibility:* `user` + +*Type:* integer + +*Accepted values:* [`-32768`, `32767`] + +*Default:* `20` + +--- + === cloud_storage_max_segment_readers_per_shard Maximum concurrent I/O cursors of materialized remote segments per CPU core. If unset, the value of `topic_partitions_per_shard` is used, where one segment reader per partition is used if the shard is at its maximum partition capacity. These readers are cached across Kafka consume requests and store a readahead buffer. *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -1401,8 +1139,6 @@ The per-partition limit for the number of segments pending deletion from the clo *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -1418,8 +1154,6 @@ This setting limits the Tiered Storage subsystem's throughput per shard, facilit *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -1436,8 +1170,6 @@ Timeout for xref:manage:tiered-storage.adoc[] metadata synchronization. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -1454,8 +1186,6 @@ The minimum number of chunks per segment for trimming to be enabled. If the numb *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -1474,8 +1204,6 @@ Time interval between two partial scrubs of the same partition. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -1494,8 +1222,6 @@ Timeout to check if new data is available for partitions in object storage for r *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -1512,8 +1238,6 @@ Retention in bytes for topics created during automated recovery. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -1522,15 +1246,90 @@ Retention in bytes for topics created during automated recovery. --- -=== cloud_storage_roles_operation_timeout_ms +=== cloud_storage_recovery_topic_validation_depth -Timeout for IAM role related operations, in milliseconds. +Number of metadata segments to validate, from newest to oldest, when <> is set to `check_manifest_and_segment_metadata`. -*Unit:* milliseconds +*Requires restart:* No + +*Required:* No + +*Visibility:* `tunable` + +*Type:* integer + +*Accepted values:* [`0`, `4294967295`] + +*Default:* `10` + +--- + +=== cloud_storage_recovery_topic_validation_mode + +Validation performed before recovering a topic from object storage. In case of failure, the reason for the failure appears as `ERROR` lines in the Redpanda application log. For each topic, this reports errors for all partitions, but for each partition, only the first error is reported. + +This property accepts the following parameters: + +- `no_check`: Skips the checks for topic recovery. +- `check_manifest_existence`: Runs an existence check on each `partition_manifest`. Fails if there are connection issues to the object storage. +- `check_manifest_and_segment_metadata`: Downloads the manifest and runs a consistency check, comparing the metadata with the cloud storage objects. The process fails if metadata references any missing cloud storage objects. + +Example: Redpanda validates the topic `kafka/panda-topic-recovery-NOT-OK` and stops due to a fatal error on partition 0: + +```bash +ERROR 2024-04-24 21:29:08,166 [shard 1:main] cluster - [fiber11|0|299996ms recovery validation of {kafka/panda-topic-recovery-NOT-OK/0}/24] - manifest metadata check: missing segment, validation not ok +ERROR 2024-04-24 21:29:08,166 [shard 1:main] cluster - topics_frontend.cc:519 - Stopping recovery of {kafka/panda-topic-recovery-NOT-OK} due to validation error +``` + +Each failing partition error message has the following format: + +```bash +ERROR .... [... recovery validation of {}...] - , validation not ok +``` + +At the end of the process, Redpanda outputs a final ERROR message: + +```bash +ERROR ... ... - Stopping recovery of {} due to validation error +``` *Requires restart:* No -*Optional:* Yes +*Required:* No + +*Visibility:* `tunable` + +*Type:* string + +*Default:* `check_manifest_existence` + +*Accepted values:* [`no_check`, `check_manifest_existence`, `check_manifest_and_segment_metadata`] + +*Related topics:* xref:manage:whole-cluster-restore.adoc[] + +--- + +=== cloud_storage_region + +Cloud provider region that houses the bucket or container used for storage. + +*Requires restart:* Yes + +*Visibility:* `user` + +*Type:* string + +*Default:* `null` + +--- + +=== cloud_storage_roles_operation_timeout_ms + +Timeout for IAM role related operations (ms). + +*Unit:* milliseconds + +*Requires restart:* Yes *Visibility:* `tunable` @@ -1550,15 +1349,27 @@ Jitter applied to the object storage scrubbing interval. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer *Accepted values:* [`-17592186044416`, `17592186044415`] -*Default:* `600000` (10min) +*Default:* `600000` + +--- + +=== cloud_storage_secret_key + +Cloud provider secret key. + +*Requires restart:* Yes + +*Visibility:* `user` + +*Type:* string + +*Default:* `null` --- @@ -1566,9 +1377,9 @@ Jitter applied to the object storage scrubbing interval. Time that a segment can be kept locally without uploading it to the object storage, in seconds. -*Requires restart:* No +*Unit:* seconds -*Optional:* No +*Requires restart:* No *Visibility:* `tunable` @@ -1586,8 +1397,6 @@ Smallest acceptable segment size in the object storage. Default: `cloud_storage_ *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -1604,8 +1413,6 @@ Desired segment size in the object storage. The default is set in the topic-leve *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -1622,8 +1429,6 @@ Log segment upload timeout, in milliseconds. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -1640,8 +1445,6 @@ Maximum number of segments in the spillover manifest that can be offloaded to th *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -1656,8 +1459,6 @@ The size of the manifest which can be offloaded to the cloud. If the size of the *Requires restart:* No -*Optional:* No - *Visibility:* `tunable` *Type:* integer @@ -1670,9 +1471,9 @@ The size of the manifest which can be offloaded to the cloud. If the size of the Maximum throughput used by Tiered Storage per broker expressed as a percentage of the disk bandwidth. If the server has several disks, Redpanda uses the one that stores the Tiered Storage cache. Even if Tiered Storage is allowed to use the full bandwidth of the disk (100%), it won't necessarily use it in full. The actual usage depends on your workload and the state of the Tiered Storage cache. This setting is a safeguard that prevents Tiered Storage from using too many system resources: it is not a performance tuning knob. -*Requires restart:* No +*Unit:* percent -*Optional:* No +*Requires restart:* No *Visibility:* `tunable` @@ -1690,8 +1491,6 @@ Grace period during which the purger refuses to purge the topic. *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -1702,13 +1501,25 @@ Grace period during which the purger refuses to purge the topic. --- +=== cloud_storage_trust_file + +Path to certificate that should be used to validate server certificate during TLS handshake. + +*Requires restart:* Yes + +*Visibility:* `user` + +*Type:* string + +*Default:* `null` + +--- + === cloud_storage_upload_ctrl_d_coeff Derivative coefficient for upload PID controller. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -1722,9 +1533,7 @@ Derivative coefficient for upload PID controller. Maximum number of I/O and CPU shares that archival upload can use. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -1740,9 +1549,7 @@ Maximum number of I/O and CPU shares that archival upload can use. Minimum number of I/O and CPU shares that archival upload can use. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -1758,9 +1565,7 @@ Minimum number of I/O and CPU shares that archival upload can use. Proportional coefficient for upload PID controller. -*Requires restart:* No - -*Optional:* Yes +*Requires restart:* Yes *Visibility:* `tunable` @@ -1778,8 +1583,6 @@ Initial backoff interval when there is nothing to upload for a partition, in mil *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -1798,8 +1601,6 @@ Maximum backoff interval when there is nothing to upload for a partition, in mil *Requires restart:* No -*Optional:* Yes - *Visibility:* `tunable` *Type:* integer @@ -1822,8 +1623,6 @@ If neither addressing style works, Redpanda terminates the startup, requiring ma *Requires restart:* Yes -*Optional:* Yes - *Visibility:* `user` *Accepted values:* From 3ddeef4713e1379adaae06d5f69ad5cc937f3143 Mon Sep 17 00:00:00 2001 From: Jake Cahill <45230295+JakeSCahill@users.noreply.github.com> Date: Wed, 23 Oct 2024 14:58:14 +0100 Subject: [PATCH 05/30] Add User resource docs (#773) Co-authored-by: Paulo Borges Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com> --- modules/get-started/pages/whats-new.adoc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/modules/get-started/pages/whats-new.adoc b/modules/get-started/pages/whats-new.adoc index 6e4f07891..01e8ad4e5 100644 --- a/modules/get-started/pages/whats-new.adoc +++ b/modules/get-started/pages/whats-new.adoc @@ -7,6 +7,16 @@ This topic includes new content added in version {page-component-version}. For a * xref:redpanda-cloud:get-started:whats-new-cloud.adoc[] * xref:redpanda-cloud:get-started:cloud-overview.adoc#redpanda-cloud-vs-self-managed-feature-compatibility[Redpanda Cloud vs Self-Managed feature compatibility] +== Declarative user and ACL management in Kubernetes + +Redpanda now supports declarative management of users and access control lists (ACLs) using the new User resource with the Redpanda Operator. This feature allows you to: + +- Create and manage Redpanda users and their authentication settings. +- Define and manage ACLs to control access to Redpanda resources. +- Automatically reconcile changes to users and ACLs using the Redpanda Operator. + +To learn more, see the xref:manage:kubernetes/security/authentication/k-user-controller.adoc[User resource documentation]. + == Licensing updates This release includes several updates to xref:get-started:licensing/overview.adoc[Redpanda's licensing system] to both improve transparency and make it easier to manage licenses across Redpanda clusters and Redpanda Console. From 29a0352f28269ff5361caf88b29de11c016ef26e Mon Sep 17 00:00:00 2001 From: Kat Batuigas <36839689+kbatuigas@users.noreply.github.com> Date: Mon, 28 Oct 2024 10:53:03 -0400 Subject: [PATCH 06/30] Leader pinning (#809) Co-authored-by: Angela Simms <102690377+asimms41@users.noreply.github.com> Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com> Co-authored-by: Paulo Borges --- modules/ROOT/nav.adoc | 1 + .../pages/produce-data/leader-pinning.adoc | 51 +++++++++++++++++++ .../pages/properties/cluster-properties.adoc | 10 +++- .../pages/properties/topic-properties.adoc | 22 ++++++++ 4 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 modules/develop/pages/produce-data/leader-pinning.adoc diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index 2b6f8c7fd..eb7d3f000 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -26,6 +26,7 @@ ** xref:develop:produce-data/index.adoc[Produce Data] *** xref:develop:produce-data/configure-producers.adoc[] *** xref:develop:produce-data/idempotent-producers.adoc[Idempotent Producers] +*** xref:develop:produce-data/leader-pinning.adoc[] ** xref:develop:consume-data/index.adoc[Consume Data] *** xref:develop:consume-data/consumer-offsets.adoc[Consumer Offsets] *** xref:develop:consume-data/follower-fetching.adoc[Follower Fetching] diff --git a/modules/develop/pages/produce-data/leader-pinning.adoc b/modules/develop/pages/produce-data/leader-pinning.adoc new file mode 100644 index 000000000..a855009e8 --- /dev/null +++ b/modules/develop/pages/produce-data/leader-pinning.adoc @@ -0,0 +1,51 @@ += Leader Pinning +// tag::single-source[] +:description: Learn about leader pinning and how to configure a preferred partition leader location based on cloud availability zones or regions. + +Produce requests that write data to Redpanda topics go through the topic partition leader, which syncs messages across its follower replicas. For a Redpanda cluster deployed across multiple availability zones (AZs), leader pinning ensures that a topic's partition leaders are geographically closer to clients, which helps decrease networking costs and guarantees lower latency. + +If consumers are located in the same preferred region or AZ for leader pinning, and you have not set up xref:develop:consume-data/follower-fetching.adoc[follower fetching], leader pinning can also help reduce networking costs on consume requests. + +== Prerequisites + +[NOTE] +==== +include::shared:partial$enterprise-license.adoc[] +==== + +Before you can enable leader pinning, you must xref:manage:rack-awareness.adoc#configure-rack-awareness[configure rack awareness] on the cluster. If the config_ref:enable_rack_awareness,true,properties/cluster-properties[] cluster configuration property is set to `false`, leader pinning is disabled across the cluster. + +== Configure leader pinning + +You can use both a topic configuration property and a cluster configuration property to configure leader pinning. + +You can set the topic configuration property for individual topics only, or set the cluster-wide configuration property that will enable leader pinning by default for all topics. You can also use a combination in which a default setting applies across the cluster, and you toggle the setting on or off for specific topics. + +This configuration is based on the following scenario: you have Redpanda deployed in a multi-AZ or multi-region cluster, and you have configured each broker so that the config_ref:rack,true,properties/broker-properties[] configuration property contains rack IDs corresponding to the AZ IDs: + +* Set the topic configuration property xref:reference:properties/topic-properties.adoc#redpandaleaderspreference[`redpanda.leaders.preference`]. The property accepts the following string values: ++ +-- +** `none`: Opt out the topic from leader pinning. +** `racks:[,,...]`: Specify the preferred location (rack) of all topic partition leaders. The list can contain one or more rack IDs, and you can list the IDs in any order. Spaces in the list are ignored, for example: `racks:rack1,rack2` and `racks: rack1, rack2` are equivalent. You cannot specify empty rack IDs, for example: `racks: rack1,,rack2`. If you specify multiple IDs, Redpanda tries to distribute the partition leader locations equally across brokers in these racks. +-- ++ +This property inherits the default value from the cluster property `default_leaders_preference`. + +* Set the cluster configuration property config_ref:default_leaders_preference,true,properties/cluster-properties[], which specifies the default leader pinning configuration for all topics that don’t have `redpanda.leaders.preference` explicitly set. It accepts values in the same format as `redpanda.leaders.preference`. Default: `none` ++ +This property also affects internal topics, such as `__consumer_offsets` and transaction coordinators. All offset tracking and transaction coordination requests get placed within the preferred regions or AZs for all clients, so you see end-to-end latency and networking cost benefits. + +If there is more than one broker in the preferred AZ (or AZs), leader pinning distributes partition leaders uniformly across brokers in the AZ. + +== Leader pinning failover across availability zones + +If there are three AZs: A, B, and C, and A becomes unavailable, the failover behavior is as follows: + +* A topic with "A" as the preferred leader AZ will have its partition leaders uniformly distributed across B and C. +* A topic with "A,B" as the preferred leader AZs will have its partition leaders in B. +* A topic with “B” as the preferred leader AZ will have its partition leaders in B as well. + +== Suggested reading + +* xref:develop:consume-data/follower-fetching.adoc[] diff --git a/modules/reference/pages/properties/cluster-properties.adoc b/modules/reference/pages/properties/cluster-properties.adoc index 8917c572d..d4a265ab1 100644 --- a/modules/reference/pages/properties/cluster-properties.adoc +++ b/modules/reference/pages/properties/cluster-properties.adoc @@ -820,7 +820,11 @@ The recursion depth after which debug logging is enabled automatically for the l === default_leaders_preference -Default settings for preferred location of topic partition leaders. It can be either "none" (no preference), or "racks:,,..." (prefer brokers with rack id from the list). +Default settings for preferred location of topic partition leaders. It can be either "none" (no preference), or "racks:,,..." (prefer brokers with rack ID from the list). + +The list can contain one or more rack IDs. If you specify multiple IDs, Redpanda tries to distribute the partition leader locations equally across brokers in these racks. + +If config_ref:enable_rack_awareness,true,properties/cluster-properties[] is set to `false`, leader pinning is disabled across the cluster. *Requires restart:* No @@ -828,6 +832,10 @@ Default settings for preferred location of topic partition leaders. It can be ei *Default:* `none` +*Related topics*: + +- xref:develop:produce-data/leader-pinning.adoc[Leader pinning] + --- === default_num_windows diff --git a/modules/reference/pages/properties/topic-properties.adoc b/modules/reference/pages/properties/topic-properties.adoc index 6070a80ac..be409c2b9 100644 --- a/modules/reference/pages/properties/topic-properties.adoc +++ b/modules/reference/pages/properties/topic-properties.adoc @@ -508,6 +508,28 @@ CAUTION: Setting `redpanda.remote.readreplica` together with either `redpanda.re Configure Redpanda-specific topic properties. +[[redpandaleaderspreference]] +==== redpanda.leaders.preference + +The preferred location (rack) for partition leaders of a topic. + +This property inherits the value from the config_ref:default_leaders_preference,true,properties/cluster-properties[] cluster configuration property. You may override the cluster-wide setting by specifying the value for individual topics. + +If the cluster configuration property config_ref:enable_rack_awareness,true,properties/cluster-properties[] is set to `false`, leader pinning is disabled across the cluster. + +**Default**: `none` + +**Values**: + +- `none`: Opt out the topic from leader pinning. +- `racks:[,,...]`: Specify the preferred location (rack) of all topic partition leaders. The list can contain one or more rack IDs. If you specify multiple IDs, Redpanda tries to distribute the partition leader locations equally across brokers in these racks. + +**Related topics**: + +- xref:develop:produce-data/leader-pinning.adoc[Leader pinning] + +--- + ==== replication.factor The number of replicas of a topic to save in different nodes (brokers) of a cluster. From 5efc18c4e49f41c5546ab75c0732fe0b613fa424 Mon Sep 17 00:00:00 2001 From: Kat Batuigas <36839689+kbatuigas@users.noreply.github.com> Date: Wed, 30 Oct 2024 15:59:13 -0400 Subject: [PATCH 07/30] DOC-287 Mountable TS topics (#725) Co-authored-by: Angela Simms <102690377+asimms41@users.noreply.github.com> Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com> --- modules/ROOT/nav.adoc | 1 + modules/manage/pages/mountable-topics.adoc | 7 + modules/manage/partials/mountable-topics.adoc | 284 ++++++++++++++++++ 3 files changed, 292 insertions(+) create mode 100644 modules/manage/pages/mountable-topics.adoc create mode 100644 modules/manage/partials/mountable-topics.adoc diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index eb7d3f000..b27b59290 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -161,6 +161,7 @@ ** xref:manage:tiered-storage-linux/index.adoc[Tiered Storage] *** xref:manage:tiered-storage.adoc[] *** xref:manage:fast-commission-decommission.adoc[] +*** xref:manage:mountable-topics.adoc[] *** xref:manage:remote-read-replicas.adoc[Remote Read Replicas] *** xref:manage:topic-recovery.adoc[Topic Recovery] *** xref:manage:whole-cluster-restore.adoc[Whole Cluster Restore] diff --git a/modules/manage/pages/mountable-topics.adoc b/modules/manage/pages/mountable-topics.adoc new file mode 100644 index 000000000..1d50b35b0 --- /dev/null +++ b/modules/manage/pages/mountable-topics.adoc @@ -0,0 +1,7 @@ += Mountable Topics +:description: Safely attach and detach Tiered Storage topics to and from a Redpanda cluster. +:page-context-links: [{"name": "Linux", "to": "manage:mountable-topics.adoc" } ] +:page-categories: Management +:env-linux: true + +include::manage:partial$mountable-topics.adoc[] \ No newline at end of file diff --git a/modules/manage/partials/mountable-topics.adoc b/modules/manage/partials/mountable-topics.adoc new file mode 100644 index 000000000..68c31b836 --- /dev/null +++ b/modules/manage/partials/mountable-topics.adoc @@ -0,0 +1,284 @@ +For topics with Tiered Storage enabled, you can unmount a topic to safely detach it from a cluster and keep the topic data in the cluster's object storage bucket or container. You can mount the detached topic to either the same origin cluster, or a different one. This allows you to hibernate a topic and free up system resources taken up by the topic, or migrate a topic to a different cluster. + +== Prerequisites + +[NOTE] +==== +include::shared:partial$enterprise-license.adoc[] +==== + +. xref:get-started:rpk-install.adoc[Install `rpk`], or ensure that you have access to the Admin API. +. Enable xref:manage:tiered-storage.adoc[Tiered Storage] for specific topics, or for the entire cluster (all topics). + +== Unmount a topic from a cluster to object storage + +When you unmount a topic, all incoming writes to the topic are blocked as Redpanda unmounts the topic from the cluster to object storage. Producers and consumers of the topic receive a message in the protocol replies indicating that the topic is no longer available: + +- Produce requests receive an `invalid_topic_exception` or `resource_is_being_migrated` response from the broker. +- Consume requests receive an `invalid_topic_exception` response from the broker. + +An unmounted topic in object storage is detached from all clusters. The original cluster releases ownership of the topic. + +NOTE: The unmounted topic is deleted in the source cluster, but can be mounted back again from object storage. + +[tabs] +====== +rpk:: ++ +-- +In your cluster, run this command to unmount a topic to object storage: + +``` +rpk cluster storage unmount / +``` +-- +Admin API:: ++ +-- +To unmount topics from a cluster using the Admin API, make a POST request to the `/v1/topics/unmount` endpoint. Specify the names of the desired topics in the request body: + +``` +curl -X POST http://localhost:9644/v1/topics/unmount -d { + "topics": [ + { + "topic": "" + }, + { + "topic": "" + }, + { + "topic": "" + } + ] +} +``` + +You may optionally include the topic namespace (`ns`). Only `kafka` is supported. +-- +====== + +You can use the ID returned by the command to <> of the unmount operation using `rpk` or the Admin API. + +== Mount a topic to a cluster + +[tabs] +====== +rpk:: ++ +-- +. In your target cluster, run this command to list the topics that are available to mount from object storage: ++ +``` +rpk cluster storage list-mountable +``` ++ +The command output returns a `LOCATION` value in the format `//`. Redpanda assigns an `initial-revision` number to a topic upon creation. ++ +The location value uniquely identifies a topic in object storage if multiple topics had the same name when they were unmounted from different origin clusters. For example: ++ +``` +TOPIC NAMESPACE LOCATION +testtopic kafka testtopic/67f5505a-32f3-4677-bcad-3c75a1a702a6/10 +``` ++ +You can use the location as the topic reference instead of just the topic name to uniquely identify a topic to mount in the next step. + +. Mount a topic from object storage: ++ +``` +rpk cluster storage mount +``` ++ +Replace `` with the name of the topic to mount. If there are multiple topics wih the same name in object storage, you are required to use the location value from `rpk cluster storage list-mountable` to uniquely identify a topic. ++ +You can also specify a new name for the topic as you mount it to the target cluster: ++ +``` +rpk cluster storage mount --to +``` ++ +You only use the new name for the topic in the target cluster. This name does not persist if you unmount this topic again. Redpanda keeps the original name in object storage if you remount the topic later. +-- +Admin API:: ++ +-- +. List the topics that are available to mount from object storage by making a GET request to the `v1/topics/mountable` endpoint. ++ +``` +curl http://localhost:9644/v1/topics/mountable +``` ++ +The response object contains an array of topics: ++ +[,bash,role=no-placeholders] +---- +"topics": [ + { + "topic_location": "topic-1-name//", + "topic": "topic-1-name" + }, + { + "topic_location": "topic-2-name//", + "topic": "topic-2-name" + } +] +---- ++ +The `topic_location` is the unique topic location in object storage, in the format `//`. Redpanda assigns the number `initial-revision` to a topic upon creation. You can use `topic-location` as the topic reference instead of just the topic name to identify a unique topic to mount in the next step. + +. To mount topics to a target cluster using the Admin API, make a POST request to the `/v1/topics/mount` endpoint. Specify the names of the topics in the request body: ++ +``` +curl -X POST http://localhost:9644/v1/topics/mount -d { + "topics": [ + { + "source_topic_reference": {"ns": "kafka", "topic": "//"}, + "alias": {"ns": "kafka", "topic": ""} + }, + { + "source_topic_reference": {"ns": "kafka", "topic": ""} + }, + { + "source_topic_reference": {"ns": "kafka", "topic": "//"}, + "alias": {"ns": "kafka", "topic": ""} + } + ] +} +``` ++ +* `ns` is the topic namespace. This field is optional and only `kafka` is supported. +* You may have multiple topics with the same name that are available to mount from object storage. This can happen if you have unmounted topics with this name from different clusters. To uniquely identify a source topic, use `//` as the topic reference. +* To rename a topic in the target cluster, use the optional `alias` object in the request body. In the example, you specify new names for topics 1 and 3 in the target cluster, but topic 2 retains its original name in the target cluster. + +-- + +====== + +You can use the ID returned by the operation to <> using `rpk` or the Admin API. + +When the mount operation is complete, the target cluster handles produce and consume workloads for the topics. + +== Monitor progress + +[tabs] +====== +rpk:: ++ +-- +To list active mount and unmount operations, run the command: + +``` +rpk cluster storage list-mount +``` +-- + +Admin API:: ++ +-- +Issue a GET request to the `/migrations` endpoint to view the status of topic mount and unmount operations: + +``` +curl http://localhost:9644/v1/migrations +``` +-- +====== + +You can also retrieve the status of a specific operation by running the command: + + +[tabs] +====== +rpk:: ++ +-- +``` +rpk cluster storage status-mount +``` +-- +Admin API:: ++ +-- +``` +curl http://localhost:9644/v1/migrations/ +``` +-- +====== + +`` is the unique identifier of the operation. Redpanda returns this ID when you start a mount or unmount. You can also retrieve the ID by listing <>. + +The response returns the IDs and state of existing mount and unmount operations ("migrations"): + +|=== +| State | Unmount operation (outbound) | Mount operation (inbound) + +| `planned` +2+| Redpanda validates the mount or unmount operation definition. + +| `preparing` +| Redpanda flushes topic data, including topic manifests, to the destination bucket or container in object storage. +| Redpanda recreates the topics in a disabled state in the target cluster. The cluster allocates partitions but does not add log segments yet. Topic metadata is populated from the topic manifests found in object storage. + +| `prepared` +| The operation is ready to execute. In this state, the cluster still accepts client reads and writes for the topics. +| Topics exist in the cluster but clients do not yet have access to consume or produce. + +| `executing` +| The cluster rejects client reads and writes for the topics. Redpanda uploads any remaining topic data that has not yet been copied to object storage. Uncommitted transactions involving the topic are aborted. +| The target cluster checks that the topic to be mounted has not already been mounted in any cluster. + +| `executed` +| All unmounted topic data from the cluster is available in object storage. +| The target cluster has verified that the topic has not already been mounted. + +| `cut_over` +| Redpanda deletes topic metadata from the cluster, and marks the data in object storage as available for mount operations. +| The topic data in object storage is no longer available to mount to any clusters. + +| `finished` +| The operation is complete. +| The operation is complete. The target cluster starts to handle produce and consume requests. + +| `canceling` +2+| Redpanda is in the process of canceling the mount or unmount operation. + +| `cancelled` +2+| The mount or unmount operation is cancelled. + +|=== + +== Cancel a mount or unmount operation + +You can cancel a topic mount or unmount by running the command: + +[tabs] +====== +rpk:: ++ +-- +``` +rpk cluster storage cancel-mount +``` +-- + +Admin API:: ++ +-- +``` +curl -X POST http://localhost:9644/v1//?action=cancel +``` +-- +====== + +You cannot cancel mount and unmount operations in the following <>: + +- `planned` (but you may still xref:api:ROOT:admin-api.adoc#delete-/v1/migrations/-id-[delete] a planned mount or unmount) +- `cut_over` +- `finished` +- `canceling` +- `cancelled` + +== Additional considerations + +Redpanda prevents you from mounting the same topic to multiple clusters at once. This ensures that multiple clusters don't write to the same location in object storage and corrupt the topic. + +If you attempt to mount a topic where the name matches a topic already in the target cluster, Redpanda fails the operation and emits a warning message in the logs. From 8a97c9d8259cb12d128b60197ccf3abca7cb2b32 Mon Sep 17 00:00:00 2001 From: Paulo Borges Date: Mon, 4 Nov 2024 15:32:15 -0300 Subject: [PATCH 08/30] Update with latest rpk commands from v0.0.0-20241104git4a0f859 (#835) --- modules/ROOT/nav.adoc | 1 + .../rpk-cluster/rpk-cluster-license-info.adoc | 18 ++++++--- .../rpk-cluster-storage-list-mountable.adoc | 40 +++++++++++++++++++ .../pages/rpk/rpk-topic/rpk-topic-list.adoc | 2 + modules/reference/pages/rpk/rpk-version.adoc | 2 + 5 files changed, 58 insertions(+), 5 deletions(-) create mode 100644 modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-list-mountable.adoc diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index b27b59290..fa9be0dd4 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -283,6 +283,7 @@ ***** rpk cluster storage mount/unmount ****** xref:reference:rpk/rpk-cluster/rpk-cluster-storage-cancel-mount.adoc[] ****** xref:reference:rpk/rpk-cluster/rpk-cluster-storage-list-mount.adoc[] +****** xref:reference:rpk/rpk-cluster/rpk-cluster-storage-list-mountable.adoc[] ****** xref:reference:rpk/rpk-cluster/rpk-cluster-storage-mount.adoc[] ****** xref:reference:rpk/rpk-cluster/rpk-cluster-storage-status-mount.adoc[] ****** xref:reference:rpk/rpk-cluster/rpk-cluster-storage-unmount.adoc[] diff --git a/modules/reference/pages/rpk/rpk-cluster/rpk-cluster-license-info.adoc b/modules/reference/pages/rpk/rpk-cluster/rpk-cluster-license-info.adoc index 84434cb1a..bc4364fa6 100644 --- a/modules/reference/pages/rpk/rpk-cluster/rpk-cluster-license-info.adoc +++ b/modules/reference/pages/rpk/rpk-cluster/rpk-cluster-license-info.adoc @@ -2,11 +2,11 @@ Retrieve license information: ----- -Organization: Organization the license was generated for. -Type: Type of license: free, enterprise, etc. -Expires: Expiration date of the license. ----- +- Organization: Organization the license was generated for. +- Type: Type of license (free, enterprise, etc). +- Expires: Expiration date of the license. +- License Status: Status of the loaded license (valid, expired, not_present). +- Violation: Whether the cluster is using enterprise features without a valid license. == Usage @@ -15,6 +15,14 @@ Expires: Expiration date of the license. rpk cluster license info [flags] ---- +== Aliases + +[,bash] +---- +info, status +---- + + == Flags [cols="1m,1a,2a"] diff --git a/modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-list-mountable.adoc b/modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-list-mountable.adoc new file mode 100644 index 000000000..af7f4a064 --- /dev/null +++ b/modules/reference/pages/rpk/rpk-cluster/rpk-cluster-storage-list-mountable.adoc @@ -0,0 +1,40 @@ += rpk cluster storage list-mountable + +List topics that are available to mount from object storage. + +This command displays topics that exist in object storage and can be mounted to your Redpanda cluster. Each topic includes its location in object storage and namespace information if applicable. + +== Usage + +[,bash] +---- +rpk cluster storage list-mountable [flags] +---- + +== Examples + +List all mountable topics: + +[,bash] +---- +rpk cluster storage list-mountable +---- + +== Flags + +[cols="1m,1a,2a"] +|=== +|*Value* |*Type* |*Description* + +|-h, --help |- |Help for list-mountable. + +|--format |string |Output format. Possible values: `json`, `yaml`, `text`, `wide`, `help`. Default: `text`. + +|--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 xref:reference:rpk/rpk-x-options.adoc[`rpk -X`] or execute `rpk -X help` for inline detail or `rpk -X list` for terser detail. + +|--profile |string |Profile to use. See xref:reference:rpk/rpk-profile.adoc[`rpk profile`] for more details. + +|-v, --verbose |- |Enable verbose logging. +|=== \ No newline at end of file diff --git a/modules/reference/pages/rpk/rpk-topic/rpk-topic-list.adoc b/modules/reference/pages/rpk/rpk-topic/rpk-topic-list.adoc index b38c19d81..9179bd1b0 100644 --- a/modules/reference/pages/rpk/rpk-topic/rpk-topic-list.adoc +++ b/modules/reference/pages/rpk/rpk-topic/rpk-topic-list.adoc @@ -41,6 +41,8 @@ list, ls |-d, --detailed |- |Print per-partition information for topics. +|--format |string |Output format. Possible values: `json`, `yaml`, `text`, `wide`, `help`. Default: `text`. + |-h, --help |- |Help for list. |-i, --internal |- |Print internal topics. diff --git a/modules/reference/pages/rpk/rpk-version.adoc b/modules/reference/pages/rpk/rpk-version.adoc index ddd440274..f1b3e0bc6 100644 --- a/modules/reference/pages/rpk/rpk-version.adoc +++ b/modules/reference/pages/rpk/rpk-version.adoc @@ -6,6 +6,8 @@ Prints the current `rpk` and Redpanda version and allows you to list the Redpand To list the Redpanda version of each broker in your cluster you may pass the Admin API hosts via flags, profile, or environment variables. +To get only the rpk version, use `rpk --version`. + == Usage [,bash] From e57f5dc729d239c242b545608848c101b21e965a Mon Sep 17 00:00:00 2001 From: Michele Cyran Date: Mon, 4 Nov 2024 15:23:45 -0700 Subject: [PATCH 09/30] what's new in 24.3 beta (#811) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Kat Batuigas <36839689+kbatuigas@users.noreply.github.com> Co-authored-by: Jake Cahill <45230295+JakeSCahill@users.noreply.github.com> Co-authored-by: Paulo Borges Co-authored-by: Gellért Peresztegi-Nagy Co-authored-by: Angela Simms <102690377+asimms41@users.noreply.github.com> --- modules/get-started/pages/whats-new.adoc | 33 ++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/modules/get-started/pages/whats-new.adoc b/modules/get-started/pages/whats-new.adoc index 01e8ad4e5..f4eb77710 100644 --- a/modules/get-started/pages/whats-new.adoc +++ b/modules/get-started/pages/whats-new.adoc @@ -7,15 +7,27 @@ This topic includes new content added in version {page-component-version}. For a * xref:redpanda-cloud:get-started:whats-new-cloud.adoc[] * xref:redpanda-cloud:get-started:cloud-overview.adoc#redpanda-cloud-vs-self-managed-feature-compatibility[Redpanda Cloud vs Self-Managed feature compatibility] +== Mountable topics + +For topics with Tiered Storage enabled, you can unmount a topic to safely detach it from a cluster and keep the topic data in the cluster's object storage bucket or container. You can mount the detached topic to either the same origin cluster, or a different one. This allows you to hibernate a topic and free up system resources taken up by the topic, or migrate a topic to a different cluster. See xref:manage:mountable-topics.adoc[Mountable topics] for details. + +== Leader pinning + +For a Redpanda cluster deployed across multiple availability zones (AZs), xref:develop:produce-data/leader-pinning.adoc[leader pinning] ensures that a topic's partition leaders are geographically closer to clients. Leader pinning can lower networking costs and help guarantee lower latency by routing produce and consume requests to brokers located in certain AZs. + +== Debug bundles in Redpanda Console + +You can now xref:troubleshoot:debug-bundle/index.adoc[generate a debug bundle] in Redpanda Console for comprehensive diagnostics. A debug bundle can help debug and diagnose issues with a Redpanda cluster, a broker, or the machines on which the brokers are running. You can use this file to debug issues yourself, or you can send it to the Redpanda support team to help resolve your issue. + == Declarative user and ACL management in Kubernetes -Redpanda now supports declarative management of users and access control lists (ACLs) using the new User resource with the Redpanda Operator. This feature allows you to: +Redpanda now supports declarative management of users and access control lists (ACLs) using the new User custom resource with the Redpanda Operator. This feature allows you to: - Create and manage Redpanda users and their authentication settings. - Define and manage ACLs to control access to Redpanda resources. - Automatically reconcile changes to users and ACLs using the Redpanda Operator. -To learn more, see the xref:manage:kubernetes/security/authentication/k-user-controller.adoc[User resource documentation]. +To learn more, see the xref:manage:kubernetes/security/authentication/k-user-controller.adoc[User custom resource documentation]. == Licensing updates @@ -29,3 +41,20 @@ This release includes several updates to xref:get-started:licensing/overview.ado - *Unified license management in Redpanda Console*: You can now upload and apply a single license key for both Redpanda Console and the connected Redpanda cluster through the Redpanda Console UI. Any existing license key is overridden by the new one. +== New commands + +The following `rpk` commands are new in this version: + +* xref:reference:rpk/rpk-cluster/rpk-cluster-storage-cancel-mount.adoc[`rpk cluster storage cancel mount`] +* xref:reference:rpk/rpk-cluster/rpk-cluster-storage-list-mount.adoc[`rpk cluster storage list mount`] +* xref:reference:rpk/rpk-cluster/rpk-cluster-storage-list-mountable.adoc[`rpk cluster storage list-mountable`] +* xref:reference:rpk/rpk-cluster/rpk-cluster-storage-mount.adoc[`rpk cluster storage mount`] +* xref:reference:rpk/rpk-cluster/rpk-cluster-storage-status-mount.adoc[`rpk cluster storage status mount`] +* xref:reference:rpk/rpk-cluster/rpk-cluster-storage-unmount.adoc[`rpk cluster storage unmount`] + +== New properties + +The following cluster properties are new in this version: + +* xref:reference:properties/cluster-properties.adoc#default_leaders_preference[`default_leaders_preference`] +* xref:reference:properties/cluster-properties.adoc#rpk_path[`rpk_path`] \ No newline at end of file From 6ac5cc87eb9941588ee06e94eac289af81dd2c72 Mon Sep 17 00:00:00 2001 From: Paulo Borges Date: Mon, 4 Nov 2024 20:16:12 -0300 Subject: [PATCH 10/30] Force-update fallback 24.3-rc2 --- antora.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/antora.yml b/antora.yml index 199c01566..00227f02a 100644 --- a/antora.yml +++ b/antora.yml @@ -21,7 +21,7 @@ asciidoc: latest-release-commit: '72ba3d3' latest-operator-version: 'v2.2.0-24.2.2' latest-redpanda-helm-chart-version: 5.8.3 - redpanda-beta-version: 24.3.1-rc1 + redpanda-beta-version: 24.3.1-rc2 # -- supported-kubernetes-version: 1.21 supported-helm-version: 3.10.0 From a437f34931f8dac923fbcb44cae310dc8520ab7b Mon Sep 17 00:00:00 2001 From: Michele Cyran Date: Tue, 5 Nov 2024 18:44:49 -0700 Subject: [PATCH 11/30] Michele rp patch 1 (#837) --- modules/get-started/pages/whats-new.adoc | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/modules/get-started/pages/whats-new.adoc b/modules/get-started/pages/whats-new.adoc index f4eb77710..69df5ca9c 100644 --- a/modules/get-started/pages/whats-new.adoc +++ b/modules/get-started/pages/whats-new.adoc @@ -15,10 +15,6 @@ For topics with Tiered Storage enabled, you can unmount a topic to safely detach For a Redpanda cluster deployed across multiple availability zones (AZs), xref:develop:produce-data/leader-pinning.adoc[leader pinning] ensures that a topic's partition leaders are geographically closer to clients. Leader pinning can lower networking costs and help guarantee lower latency by routing produce and consume requests to brokers located in certain AZs. -== Debug bundles in Redpanda Console - -You can now xref:troubleshoot:debug-bundle/index.adoc[generate a debug bundle] in Redpanda Console for comprehensive diagnostics. A debug bundle can help debug and diagnose issues with a Redpanda cluster, a broker, or the machines on which the brokers are running. You can use this file to debug issues yourself, or you can send it to the Redpanda support team to help resolve your issue. - == Declarative user and ACL management in Kubernetes Redpanda now supports declarative management of users and access control lists (ACLs) using the new User custom resource with the Redpanda Operator. This feature allows you to: @@ -57,4 +53,4 @@ The following `rpk` commands are new in this version: The following cluster properties are new in this version: * xref:reference:properties/cluster-properties.adoc#default_leaders_preference[`default_leaders_preference`] -* xref:reference:properties/cluster-properties.adoc#rpk_path[`rpk_path`] \ No newline at end of file +* xref:reference:properties/cluster-properties.adoc#rpk_path[`rpk_path`] From fa14029c3a9c180bc6200c7d0a6f252595695bad Mon Sep 17 00:00:00 2001 From: Jake Cahill <45230295+JakeSCahill@users.noreply.github.com> Date: Tue, 12 Nov 2024 09:25:06 +0000 Subject: [PATCH 12/30] DOC-470 Debug bundle in Redpanda Console (#825) Co-authored-by: Kat Batuigas <36839689+kbatuigas@users.noreply.github.com> --- .github/workflows/test-docs.yml | 45 +- antora.yml | 7 +- modules/ROOT/nav.adoc | 28 +- modules/console/images/broker-overview.png | Bin 100400 -> 103477 bytes modules/console/images/js-filter.png | Bin 114858 -> 114558 bytes modules/console/images/license.png | Bin 76451 -> 84904 bytes modules/console/images/overview.png | Bin 102997 -> 98685 bytes .../console/images/topic-documentation.png | Bin 109821 -> 110022 bytes modules/console/images/topic.png | Bin 99347 -> 98335 bytes modules/console/images/user.png | Bin 78812 -> 78758 bytes .../pages/config/connect-to-redpanda.adoc | 4 +- .../pages/config/security/authorization.adoc | 3 + .../pages/config/topic-documentation.adoc | 2 +- modules/console/pages/index.adoc | 2 +- modules/console/pages/quickstart.adoc | 20 +- modules/console/pages/ui/add-license.adoc | 22 +- modules/console/pages/ui/generate-bundle.adoc | 47 ++ .../console/test-resources/docker-compose.yml | 10 +- .../kubernetes/k-production-deployment.adoc | 2 +- .../kubernetes/guides/troubleshoot.adoc | 2 +- modules/get-started/attachments/single-broker | 1 + modules/get-started/attachments/three-brokers | 1 + modules/get-started/pages/install-beta.adoc | 10 +- .../get-started/pages/licensing/overview.adoc | 2 +- modules/get-started/pages/quick-start.adoc | 30 +- modules/get-started/pages/quickstarts.adoc | 3 + modules/get-started/pages/whats-new.adoc | 6 +- .../test-resources/rpk-profile.yaml | 7 + .../single-broker/docker-compose.yml | 74 +++ .../three-brokers/docker-compose.yml | 132 +++++ .../cluster-diagnostics.adoc | 106 ---- .../authentication/k-authentication.adoc | 2 +- .../security/tls/k-cert-manager.adoc | 2 +- .../kubernetes/security/tls/k-secrets.adoc | 2 +- .../kubernetes/troubleshooting/index.adoc | 5 - modules/manage/partials/troubleshooting.adoc | 111 ---- .../rpk-container/rpk-container-start.adoc | 2 +- .../pages/rpk/rpk-debug/rpk-debug-bundle.adoc | 6 +- .../partials/bundle-contents-k8s.adoc | 52 -- .../partials/bundle-contents-linux.adoc | 60 -- .../reference/partials/bundle-contents.adoc | 79 +++ .../partials/enterprise-and-console.adoc | 4 +- .../cluster-diagnostics/diagnose-issues.adoc | 7 + .../pages/cluster-diagnostics/index.adoc | 5 + .../k-diagnose-issues.adoc | 7 + .../debug-bundle/generate-debug-bundle.adoc | 7 + .../pages/debug-bundle/index.adoc | 5 + .../debug-bundle/k-generate-debug-bundle.adoc | 9 + .../pages/errors-solutions/index.adoc | 5 + .../errors-solutions/k-resolve-errors.adoc | 12 + .../errors-solutions/resolve-errors.adoc | 8 + modules/troubleshoot/pages/index.adoc | 7 + .../partials/cluster-diagnostics.adoc | 372 ++++++++++++ .../partials/debug-bundle.adoc} | 127 +++-- .../partials/errors-and-solutions.adoc} | 533 +++++++----------- modules/upgrade/pages/k-rolling-upgrade.adoc | 2 +- .../migrate/kubernetes/helm-to-operator.adoc | 2 +- modules/upgrade/pages/rolling-upgrade.adoc | 4 +- package.json | 1 + setup-tests/fetch-versions-and-rpk.json | 12 +- .../redpanda-versions/fetch-console.js | 64 ++- .../redpanda-versions/fetch-redpanda.js | 61 +- tools/add-caret-external-links.py | 3 +- 63 files changed, 1337 insertions(+), 807 deletions(-) create mode 100644 modules/console/pages/ui/generate-bundle.adoc create mode 120000 modules/get-started/attachments/single-broker create mode 120000 modules/get-started/attachments/three-brokers create mode 100644 modules/get-started/pages/quickstarts.adoc create mode 100644 modules/get-started/test-resources/rpk-profile.yaml create mode 100644 modules/get-started/test-resources/single-broker/docker-compose.yml create mode 100644 modules/get-started/test-resources/three-brokers/docker-compose.yml delete mode 100644 modules/manage/pages/cluster-maintenance/cluster-diagnostics.adoc delete mode 100644 modules/manage/pages/kubernetes/troubleshooting/index.adoc delete mode 100644 modules/manage/partials/troubleshooting.adoc delete mode 100644 modules/reference/partials/bundle-contents-k8s.adoc delete mode 100644 modules/reference/partials/bundle-contents-linux.adoc create mode 100644 modules/reference/partials/bundle-contents.adoc create mode 100644 modules/troubleshoot/pages/cluster-diagnostics/diagnose-issues.adoc create mode 100644 modules/troubleshoot/pages/cluster-diagnostics/index.adoc create mode 100644 modules/troubleshoot/pages/cluster-diagnostics/k-diagnose-issues.adoc create mode 100644 modules/troubleshoot/pages/debug-bundle/generate-debug-bundle.adoc create mode 100644 modules/troubleshoot/pages/debug-bundle/index.adoc create mode 100644 modules/troubleshoot/pages/debug-bundle/k-generate-debug-bundle.adoc create mode 100644 modules/troubleshoot/pages/errors-solutions/index.adoc create mode 100644 modules/troubleshoot/pages/errors-solutions/k-resolve-errors.adoc create mode 100644 modules/troubleshoot/pages/errors-solutions/resolve-errors.adoc create mode 100644 modules/troubleshoot/pages/index.adoc create mode 100644 modules/troubleshoot/partials/cluster-diagnostics.adoc rename modules/{manage/pages/kubernetes/troubleshooting/k-diagnostics-bundle.adoc => troubleshoot/partials/debug-bundle.adoc} (85%) rename modules/{manage/pages/kubernetes/troubleshooting/k-troubleshoot.adoc => troubleshoot/partials/errors-and-solutions.adoc} (68%) diff --git a/.github/workflows/test-docs.yml b/.github/workflows/test-docs.yml index 1051a8a17..7aab44143 100644 --- a/.github/workflows/test-docs.yml +++ b/.github/workflows/test-docs.yml @@ -11,6 +11,7 @@ jobs: runs-on: ubuntu-latest outputs: console: ${{ steps.filter.outputs.console }} + quickstart: ${{ steps.filter.outputs.quickstart }} steps: - name: Checkout code uses: actions/checkout@v4 @@ -21,22 +22,39 @@ jobs: filters: | console: - 'modules/console/**' + quickstart: + - 'modules/get-started/pages/quick-start.adoc' run-tests: needs: setup permissions: contents: write pull-requests: write issues: write + id-token: write strategy: matrix: os: [ubuntu-latest] # Only using Linux for now since macOS takes a long time runs-on: ${{ matrix.os }} steps: + - uses: aws-actions/configure-aws-credentials@v4 + with: + aws-region: ${{ vars.RP_AWS_CRED_REGION }} + role-to-assume: arn:aws:iam::${{ secrets.RP_AWS_CRED_ACCOUNT_ID }}:role/${{ vars.RP_AWS_CRED_BASE_ROLE_NAME }}${{ github.event.repository.name }} + - uses: aws-actions/aws-secretsmanager-get-secrets@v2 + with: + secret-ids: | + ,sdlc/prod/github/actions_bot_token + parse-json-secrets: true - uses: actions/checkout@v4 with: - token: ${{ secrets.GITHUB_TOKEN }} + token: ${{ env.ACTIONS_BOT_TOKEN }} path: redpanda-docs - - name: Test docs + + - name: Set GitHub token + run: | + echo "REDPANDA_GITHUB_TOKEN=${{ env.ACTIONS_BOT_TOKEN }}" >> $GITHUB_ENV + + - name: Run all tests if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' }} uses: doc-detective/github-action@v1 with: @@ -46,11 +64,32 @@ jobs: # create a PR/issue only if the workflow wasn't already triggered by a PR create_pr_on_change: true create_issue_on_fail: true + token: ${{ env.ACTIONS_BOT_TOKEN }} - - name: Test Console docs + - name: Test Redpanda Console docs if: needs.setup.outputs.console == 'true' uses: doc-detective/github-action@v1 with: input: ../modules/console working_directory: redpanda-docs/setup-tests exit_on_fail: true + env: + REDPANDA_GITHUB_TOKEN: ${{ env.ACTIONS_BOT_TOKEN }} + + - name: Test Redpanda Self-Managed quickstart + if: needs.setup.outputs.quickstart == 'true' + uses: doc-detective/github-action@v1 + with: + input: ../modules/get-started/pages/quick-start.adoc + working_directory: redpanda-docs/setup-tests + exit_on_fail: true + env: + REDPANDA_GITHUB_TOKEN: ${{ env.ACTIONS_BOT_TOKEN }} + - name: Upload debug artifacts + if: failure() + uses: actions/upload-artifact@v4 + with: + name: doc-detective-output + path: /home/runner/work/_temp/doc-detective-output.json + env: + REDPANDA_GITHUB_TOKEN: ${{ env.ACTIONS_BOT_TOKEN }} diff --git a/antora.yml b/antora.yml index 00227f02a..1709fcff9 100644 --- a/antora.yml +++ b/antora.yml @@ -18,10 +18,15 @@ asciidoc: # We try to fetch the latest from GitHub at build time # -- full-version: 24.3.1 + latest-redpanda-tag: 'v24.3.1' + latest-console-tag: 'v2.7.2' latest-release-commit: '72ba3d3' latest-operator-version: 'v2.2.0-24.2.2' latest-redpanda-helm-chart-version: 5.8.3 - redpanda-beta-version: 24.3.1-rc2 + redpanda-beta-version: '24.3.1-rc2' + redpanda-beta-tag: 'v24.3.1-rc2' + console-beta-version: '2.8.0-beta.1' + console-beta-tag: 'v2.8.0-beta.1' # -- supported-kubernetes-version: 1.21 supported-helm-version: 3.10.0 diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index fa9be0dd4..e6dc47758 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -3,13 +3,17 @@ ** xref:get-started:whats-new.adoc[] ** xref:get-started:intro-to-events.adoc[Introduction to Redpanda] ** xref:get-started:architecture.adoc[How Redpanda Works] +** xref:console:index.adoc[Introduction to Redpanda Console] ** xref:get-started:install-beta.adoc[Install Beta] -** xref:get-started:quick-start.adoc[Quickstart] +** xref:get-started:quickstarts.adoc[Quickstarts] +*** xref:get-started:quick-start.adoc[Redpanda Self-Managed] +*** xref:console:quickstart.adoc[Redpanda Console] ** 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:console:ui/add-license.adoc[Redpanda Console] *** 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] @@ -40,6 +44,7 @@ *** xref:develop:data-transforms/deploy.adoc[Deploy] *** xref:develop:data-transforms/test.adoc[Test] *** xref:develop:data-transforms/monitor.adoc[Monitor] +*** xref:console:ui/data-transforms.adoc[Manage in Redpanda Console] *** xref:develop:data-transforms/upgrade.adoc[Upgrade] *** xref:develop:data-transforms/versioning-compatibility.adoc[Versioning and Compatibility] *** xref:develop:data-transforms/labs.adoc[Examples] @@ -129,9 +134,6 @@ **** xref:manage:kubernetes/monitoring/k-monitor-connectors.adoc[Connectors] *** xref:manage:kubernetes/k-rolling-restart.adoc[Rolling Restart] *** xref:manage:kubernetes/k-resilience-testing.adoc[Resilience Testing] -*** xref:manage:kubernetes/troubleshooting/index.adoc[Troubleshooting] -**** xref:manage:kubernetes/troubleshooting/k-troubleshoot.adoc[] -**** xref:manage:kubernetes/troubleshooting/k-diagnostics-bundle.adoc[Diagnostics Bundle] ** xref:manage:cluster-maintenance/index.adoc[Cluster Maintenance] *** xref:manage:cluster-maintenance/cluster-property-configuration.adoc[] *** xref:manage:cluster-maintenance/node-property-configuration.adoc[] @@ -146,7 +148,6 @@ *** xref:manage:cluster-maintenance/manage-throughput.adoc[Manage Throughput] *** xref:manage:cluster-maintenance/compaction-settings.adoc[Compaction Settings] *** xref:manage:cluster-maintenance/configure-availability.adoc[Configure Availability] -*** xref:manage:cluster-maintenance/cluster-diagnostics.adoc[Cluster Diagnostics] *** xref:manage:cluster-maintenance/partition-recovery.adoc[Forced Partition Recovery] *** xref:manage:cluster-maintenance/nodewise-partition-recovery.adoc[Node-wise Partition Recovery] ** xref:manage:security/index.adoc[Security] @@ -169,9 +170,8 @@ *** xref:manage:schema-reg/schema-reg-overview.adoc[] *** xref:manage:schema-reg/schema-reg-api.adoc[] *** xref:manage:schema-reg/schema-id-validation.adoc[] +*** xref:console:ui/schema-reg.adoc[Manage in Redpanda Console] ** xref:manage:console/index.adoc[Redpanda Console] -*** xref:console:index.adoc[Overview] -*** 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] @@ -191,9 +191,6 @@ **** 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] *** xref:console:ui/record-deserialization.adoc[Deserialize Messages] *** xref:console:ui/edit-topic-configuration.adoc[Edit Topic Configuration] @@ -204,6 +201,17 @@ ** xref:manage:monitoring.adoc[] ** xref:manage:io-optimization.adoc[] ** xref:manage:raft-group-reconfiguration.adoc[Raft Group Reconfiguration] +* xref:troubleshoot:index.adoc[Troubleshoot] +** xref:troubleshoot:cluster-diagnostics/index.adoc[Cluster Diagnostics] +*** xref:troubleshoot:cluster-diagnostics/diagnose-issues.adoc[Linux] +*** xref:troubleshoot:cluster-diagnostics/k-diagnose-issues.adoc[Kubernetes] +** xref:troubleshoot:debug-bundle/index.adoc[Generate Debug Bundle] +*** xref:troubleshoot:debug-bundle/generate-debug-bundle.adoc[Linux] +*** xref:troubleshoot:debug-bundle/k-generate-debug-bundle.adoc[Kubernetes] +*** xref:console:ui/generate-bundle.adoc[Redpanda Console] +** xref:troubleshoot:errors-solutions/index.adoc[Resolve Errors] +*** xref:troubleshoot:errors-solutions/resolve-errors.adoc[Linux] +*** xref:troubleshoot:errors-solutions/k-resolve-errors.adoc[Kubernetes] * xref:reference:index.adoc[Reference] ** xref:reference:properties/index.adoc[] *** xref:reference:properties/broker-properties.adoc[] diff --git a/modules/console/images/broker-overview.png b/modules/console/images/broker-overview.png index 79281acacf2ecf085aa7701b5d17bdd1d5135f8d..ad52e5b5c95a1f522dc9fbb1c2ccf501855c9471 100644 GIT binary patch literal 103477 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
+G@z1YA59~SEr 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 literal 100400 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 F_&>5HvO)j= diff --git a/modules/console/images/js-filter.png b/modules/console/images/js-filter.png index 0af427dfad65585392cd5656f21c3e746e35b32e..23b627ac05b825ff682b603983ab8b23f4ce4585 100644 GIT binary patch literal 114558 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

(ut>oipo==e9+az>>tTGROdKCs^Qs?K( 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�hJ7)G72I!TDzL113 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

Qzc@nDoB9_Z7#$J?9}^{TbOo7*YJdZt07)75#Fx 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 literal 114858 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 diff --git a/modules/console/images/license.png b/modules/console/images/license.png index 261ca723d84e3f79dfb470e8478772f7af7dc06c..da720acc75cfe8c89ad0adb8e44697c751587d23 100644 GIT binary patch literal 84904 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

*uw{-=FuM-{Fyu?E{w9PX-Rz1chswYYq>W1>V0O zQ1lqkoYtGJ*Ke&?W=LkGp%4#u6~Qsk-%GI>K*eVriWU78ce>VnTdlFYV$ZYF05(jB z0_SuR^E$|+vKdkL)~}>$?DRyYIG@ApZn=%%93YpN6_RV_C)fw+> z-QjT!qR+eU$Nm7d4Oe~OcQ+`5zyH$8^Wt}aRrR?Qae-o8JYKdt_&Ry*{{Fd{0-ycI z5BGDn)U%e&-HyxdA;G%a$JiGL%RgpzY^zY=g=AKlwV~;Mb=~P)<#`}JpmtBl;Txp} zQPD@iAAAqYq|QIL+S*-Dp2Q~_K?ZY;W=SWUsDb>6OqzPE72z0%W;)HB7Gpyam&&S5 zrpkUtlNMvtZs9^44FMiQEApJkAMk~|A3kj}Yf(lMPbC|61|$4PZ)|6P`dNW;9qzAe zDuq3sayOaPB<=NukMIJaV}loI=NHZU5qwo{UdJpe%+V;TX(GNipJ|n{nT{6fudfK* zw$mZw@(X|daPOaT4|4g`H|V@S*cq%pq0t<2-?@Ah5fu*@Rqj(R7mv`}(n_gjfFhQ8cAh5;IU7lIWHQhSh_DTZ!N4gIhVcN>mwt9bwjqX+x6vW71AUM zKU&RGmT4D9N z3XFfAQEeBDAfn}c<(#*Gm7%`BVyZ0g5-?GShb7KH42Fu7a`H|8ba7NV@FKsV4CS1g zZKd^J=c=|{lb5;m;UL>tTOcl*vZd4JF#Bw?t;1pw)&|i6KjE)C9-f#CgioVp4UR!} z@QP6Cn&^HA#XeQRE+9LPD9gW*hWwO7c-wDfG9488ZQJH7e^T{w_i zaK9;ZXnzgzVD+}kNm`lQN@Nc}OSIMIuyzF=4^Cg2!-4P9gBOq;ekC|O+S(cBZUaXs z9oLhRi41h(oH%VSt;;ss<}j|br0CMmh(h#gT?-!At%DC28ka>QFK4Q4dpIoa$N$%D zztec(RH#=`KK4+<3BDgyMbJO3wvT9iIxXpF_P*7X$>In*j&HBfO#%#W<*FzV^7Rf1 zMUD$Q$WLL#3u+aaqWdPV{e^)65f^wSbl0adS%1Q-Id|rbT`3g^$J&R0%tyXj0_RY# z{|W(>DW9X@n@rg@I*tBfPD`z8?;!#A!ua$`b5(ZdK}uZ zslM}c-jX7ZT}{XmouK=1(lwb#@dK({1&Ma+Q5+)XyFo6q$A~*%Y|6|mRl>0kS}wK3 z$>(q@Jw5Fd;(Z5%Ks$E+F@q~mllsHORwZxu$1%8y=T%W^!0A_|!B9UefzMqCz`^))sr2h3B48w{N(m$ZFS`7PR=?YYZ0O1JJr@$$jfRrYQi2IY0cOx4R5#BjEJ^CXTw^Efq5aAQtda zI-L1RdEmzAyfWBU9+sBT#jdb42zP^y81ED)ipQDsDGiM6dxD(m`W3SedHMae%WF>- zL2Md;6KwuDSh+5^qA2f=@dak@5FlULyp6xytYQuJl388a@o80M}pVV_dFwQmiXC6U14Xk z*}6GPP=d&16U6!wksL-%hXbX=qiuJ^{rx6Yy^kLPNnl35K{JWiIAguKqAw+54F zE}r{Fi>i*o$qfi}KQYOURZhCu?*$)9WSs>u{^lLh`tt6C@@r&DJwv(}ZfV3PHu zZf_2(&Pte0S!Dsvroei-biXk+kJW0ip^D34Sr_}gV)-)}UKKM4n)np}3mY8QE>3Qq z&4!W(;;5vk^_pB&TD{$FpYBgCFL~`3zw5Vp%K&C8`2o*Q!PUPpbVKr*CGQR(?WRCz zc0Svb8Azm0uVtp9kP2=eaZ7qh#lB0* zmr0O4fPs_3Ou6LzMl<=THu_>U$9}tgB@=D4r+SKpKW=|Gi(G8;0|Dz#I(n7-?*Puw z-x-2vwmqDN4Y=1%gF%{+W6(Wdq3GU+SP?QkTa9b8wfZy9o26SSApX~t-nSdqwoX9@ zz|Oha=ft18El+Mz(#>>p_v?hTwqB>s#8pXQPn+*(Z=|61}=wyF->=Juu=Gw^?;)eXdCp0e4#lxf>FdD%}!Rt#wQ& zSq=2WmrX+NnvAc!R~4;9_h%IK-6g)9e((Lm)Lza0339&w5)n4Htm$Jjr%SSj9XATw z_IncHv3ULvHLx0N3tjvKUVoUhY---PNCy;(im#DF(4Qt8si%08=W(9p6hehJdeLmx z$;TsNGb+~TbPn}adL+NJ)|_M^IHa+uLNi&o(>qDVGT2eIpTL|%hFuf;DGJFaKS?vkq8>vzQ|D0jUDLUb_Noe)(+$ITQ!fWaEK5TUMsniEY z2Ru+fkCpP4=(?531n#qf>Snyn++yp5+CEAaE6~}X>Pwjn<6+$`$933fyq9u`%=4)1 z+;`Y|XMAwA#NqmxwGQJ>4wAxIs8qIM&?yd|0(a|NR_BVry79|h?|AUs5_)`nMf3Db zR(^85r!!+~?|flrc28m))8u;l&Goa5laIaIX-tNoN5$cMog6l;JRMLVOxYYrIDi>O z&o;VPq;VgJZv1HVxgHEhC(Z{%m3KttoIs%G zo-Vk^KC-EGgai~3Tk?J_pwcxX+a5%nMh%%!0n;aYc!Q^4x}ll z6v_Uiz0u1-Xep?nsm9hkI{IC2wW3EU`Hj4_$?daoAJwgDBWMuBnp*@o&EIf#QbHzTJk_J;+foO%Y zAi*7o$;6Qx$ykCP^VwpkZ()%yDnl#r zSdYh4ia)&L_q<6h*QwFhU`fjpv5(&uq1UcR|E2cijf&r27J4a~H0vVC!pMFLafvvB z+6_VVWVMdzxXaY1q?)&fK}>)h^LTQCG&J%%sQxL*Rr_q9QT5*Sna6fs7m!c^|ucTtLzN2SAWx`#p zrVy8vbkK5s41Ne8e01Ou`5mscFXFpP{m2}*JnWcA{%O6KpjXMc$GGn9OAy_)-f$|1 z&mEs%Ssn+4_1}bu13YJ(xvDK&Dw26h@-hET%1-2PzUdB?EL5xbJ`oI#45Jy+7|Ji< zG@G2KNp=UTAAu`=d43t;G#}9nwq+cd#|kFDF&|5oSrv6C)M+sh@4)&3Uik8-$#+_y zvyT>=$07WYUD1KZa1sIaP>s;JWF$EI&WkM@_sf0RjQwxocYv|M=k~3Mjiu=`_JjY_J8~4t3g|NKzHBZmp4?ksrO=b zyK3cH<6T%=v-a;+Hx`#~JoD~;8c%y;t7N6pY1IDE{k%>PIsiDj?Ruo!o$dKfLQOFF zbC)MmW8ambv)-T!c|654>9OgNozz)4rO^9O?9G9*p89))K9_j=wGL?K8;UeK?o|(G z)qjG4b$*1Yk|Z$y+@9)1w~^~ISU<2J72&4H<-51HnkvuA)-0oAzW~fQIIITcTeWq{ zB+Z&h%2!ZfCp1%a#&zD-hO({U9Q})`v>o?e`I^&Shk+IG*?DBozpFwv@(p z>^8?@tS*suPs<}7SXU!jsh7=m+J>qvuDGo-k?0f5Admg%DdB~g*-ISjR#-LekzQ7j z-GMQ5)Ww{6Z{Ii2i9iz^#O4r?$D?9C2BKC@YOu+4>}o=P)C5Iam0z2e)uDzq06tD% zJY4ean#*(4YpN{$AaepWdPUjRLakREiZxp-rMzGM$fpbEKy6-iON7j&2KH-8foZTN z;anJam`{g0I(~q5c$$!*WA%9+al-n4Hu{oAk3jo5gBqn^gk^w3uzIfZymG;(qbZ6x zo;WbbW3rW<1=SeJ%c~Jz1CIPNE)PKWJ29wBHjUdYQ{QBk7MO3#k$LUre!|Za7M^Hs zTAh%_M27+nM4;uhXF8L>{=qO*SdeFSGF_1WTy7d3uY1hh@3a%N7O5)5@)Dji_6mH) zyl9KDoHDP17WZ*Oo?hFzROA+Ow=;Wtb|1tI!me~e7p68lKu$v~H{FEY`|&hR7wYP? zl)R@USL$R!fI0_CX+9H52j7ouzg|4asH-5v*K7lCGlbBWN8^v>So6L^*F`fr`g+2E z)I2K`@wpiQGG&q&lJu#JNh7)I;wpQ41g>uWY}_enS#<4^2RuE*bC}86g?4;`dty0V zrxJ3gu&p-yBioqw=@l(DQvctX20@icg`9dG$MRHA#M|+$`&F&e9n~wcnUaYewe@4e zfjHrsDThTJR>jxX&rIJ9gXs+#W2!e5=t&p2d2v0#_tQ6Y+7J=f=pUxD<4pR6rFczI z>99X`Ys^Z{??Z&-vz{k&|6u>=RSkqz$8SUKFl1g@u;p#U3VOT#YPJ z>YarDXkzTwmaMzol_sOKxAfZDU&p}tmTM0JtP2Qoao9B!Njk9 z`tocMmOBRx&H$5nW-`yPZ<_{zY z-+uIWJd)vPyFbGSID>cxPSVV}c7J*^k$1wqPHxd!To8=6;L(qInrkqR(`PdlG8@+a z4C0I>n9xjlIexRcmdD}I3*Wk7_c!F5%Pz8&JB%#TaPM=ClO@jve&_=1uZ_286c118 zIu7L1MoHXi9>0Xt^#{)-xTeMC2qmqkuP~(xN{D(u2Y7A4e!DuTE%>aD1w5h*gV5+9 zW({M41*|zhzVWnDllP1C%cV51T$rXLf+t;o?|jt-E1?psI~iJ+t^M|s$yq!cjRGgh zEcxjNi>kttP#Y-L0%SBSh>w2L;Zf*2^}Y~$%Sam)RXzXy`oty(FBwaVO_1vJ>Uaqh zS-p&45R{5swghC~^aoW)O_>0}A`2wb(=Mcg^g;Mt!uy<|7P1H$MTO3$^i1 zu-p!&ZVv@XlOb52fFcAWY|43S(8@+d3xR5_F(`@EKO_(}XhvT!)2ZF?Bpn5p!O~{& z<*V1bXP+&QhPbV#zSAnCTiRIpYQ3fV{NWkH;48cFukQ*OJbMB`f+8>qG^&rDQVSKj zjk(#a4c^N^VeA!S-zmEBO;7_WNy%;kL%&oST~gANM@(EBsv7N7_<47a^W2)Y@t^PT z*WId$yO*H1%vPD~F`*9?)iG`h(wrKr!V?!^g`(%gRi5^ob671prU}_WF}~Nyw)Vwg zu^sGBw==g!Enxd6IS5bs>IS*6wJMMlN&bhpOG|sZ^`EYQJEizHHSMR>%JM{Id z6HZZ?uZi{An=T3_IrL7%jUSdJgDSvIA%1W#;bQXmhswdJIgaZcm8D^T-yOjWL}$0> z+wAd+s=GYlApG1)TOj;fF?F@~dY7}C&1v&A|AMHUfKQ|)86Y0Do ztp#eOEQRedemI-g3!BobZf@DokpS|Rn8ItH3MsnzQ}=3QwUKDD^4 z+eSC)z1uw42xx(K+zwjwNE19`9OJFen+oQCkQdzH1tyul zb1Oy3U^8q`CgktH=q#UB1Yz`T5?sM_?L%* zpP&vp_HUS+=BxDcV97g^%T0@OJL75GH~1la`bbodv>aq zEy=qd@pojC2fdIZXG3iXTyE0iwX@^;fWY2SVRo~EexD53@8W8gQ#xDJhobxSbuy41lpu)tvUc(rP6uML z`rx%_eKsFa|HP6dY^wchzM2ci(+K$`KCXHa!dtxf-Z!S3CJrARfau8XxG_i{xusun z#+`5Z^8pX_pw8MBok&17@@ez}bDqtsi%f^wopvqHtOXkk4r#tniBzvegoALJ2~c&- z`v2;b9rMnk35cs!X;(zIBec)(?S=^k;lF|47n>~2K2)YewN?4MpHf6(R!3T3%(o&Y z2aOQTs1v`?rWS`i=%msY!vC1;bGLCKz_Xfs9}Bw{U_2E7iTvsUn#c49aXb3DgdZ}0 zjYBK+ngwW10hUzF{cv{e=y#_JdKD0dit+FfRxxO((p?@mRmIZHBv*sP%^X5YTXP*4ob@n0V@bv4qfKPE>G-y zNk%DM*^9uN7!&{yBeaqDtgz(YSf1mEfNj9kjQs*sVFyvpi)!r}I1|fAeV+jhfLLv+ zsouO_9^wqe{Fu4h;CQ!+-!|;Wv0|%nqDq1gUXU8+NWv%cZFqk(*aglZk|%5H_u7WO zVpOIoixCEyaK(z1CghPB@ZXv~nWVJNW2+Y!F(gGBPV+$BfBo|OW?<4ABXl>Io12Hi zE`cftUw(s*f|yw73j09=Px-`L+_an9@%q(}NrPk8!-?gn^OS}yk8wz`)Qo%b##TR> z)YuMgb#?K8oRsR#SAf#AqP7^z42AUTSAp#~i zFOG9;fdkG=d(HDW)OZokWFWUR^d{YQIF1|M81_9PRn|$~8gRo1*W9BLEbXwlTAbr>svZ4R#|NIS(nDo#xFlth&vLz+iS(h98Y}XEV?A@@q9s352TyCU z%T~so29NC#xrhJ6Mul(Y-O~YjcPu)hHZ86iuA+n)as4*DgDwR=mba)34cJ znxk5$#^|Y>7K&1qHy|vkRrerXhhy7$SroBj2O0lqe|w%{1S<(QA(s+?(z_1|47gJP zCSv>$JaC(gR(aRidhpqs^NT&sqUx@y9H5XqAV^YbAFlq2H=<>}h zfZg_6nwcS&iL9WsU?6r2b2F@=*!I zLvocn*OVCHgQst9xiCdFP$mCF7FQk9(d={bvP8Q+O)m%^j~x)hOs{8pd|Vxd*PnW2 zPk;Kd)#2Ib2+k<;%n8-TW&xAQqBl}_yeAIG+n#5ko#S%IZV%krueF67(o-x4Lz0q^ znIyr1eW_3WPxq670qzT%SPc^?PS!VTDR`ZGg z+2=A!%WC*Wwd28ymEZk>nosfG;<+b*YbuJQE1WTh{EVkMqRlab5gG6#QXwZC2k@db zmBE2#5Fj>Tv8=gwDhG!#FxhIBYf;=^mtit*r5jG1~hvUS;L_p(IA5X&w zzB!`@T?0iY{c;p1HOw}LW)Dpk2TIAeH$=To!c@$<4WI81!xrF?TCV2TaDwp1kd^^W z!%Gi*7_vRpD#oi|yAqWGSHD#qxXaKUWLVt7NKcjtRASsLjF zFJnj#Yq_$4&&J&0TyGx%4|jPFVy1Oa1EMDNXoKYk;WgrV*`8|s*)=}58O0p1&1xCx z6H=AeYg95Mg6XMoJ?a{dA;hhscViP(I7Qr;S_nolfsDwS2>MgF$5E^JD?COd4_KmM z*)G_i+sz&~K9!if-K*_@1O6dp5PGD7kBexig9Y#5=WrmQ@{5i(Gzl57G;ps&UXVd{ z2{+5KYd#wBSYf!9G-t}(^Ejx!DrQ$H0=BY(%KluG>-6iZjN7;vzy=Ptd2lFX2gw?jyWM7FN^U}taK{i>ob(@UfkM4TFp{KeOexK4#wM?X5ZGCa6Pc#&Rv=V(9mQ}b#Y ziVM$Tz+Z+RTq{(3Yu+zb8d$8A>XHZ(#Q+ zRvhV&Hu{ibpB(L2!(+6_caG6FAnCh9fUJ=->ls2vEab@+aiZnp5_#$IdfAST-msZn zze!91*Mu@czgv*Ax4bW(lZD7u&vnlKes+|3v?b)Ik-E!=j8cF{7_556HFxkN+O4hdCLI{WE~On69hdd;S3E(VEyl49 z;|_~2UUPfoEf}T6S<{-^vLM#$h89=(qni#_3FB?#e0@6mS#K~yv;ZY%z&OgvTYS1> z^g}pSkxdR$#ve=vf=Eo>Sp6?x;l0L?7J(S6BTRf43Q(_ykl2_K#iG9aong@ezl*xRwtN&+@0CCew(hoREkWO`3!(OStH)^?xA;}De z;~pZ|o>}x{{#I)d^>$^ne=URkd`FN%jhhWSC6lX6VyPne&yqhUk0xBk$+b49zoT`O3#gV_kIpGpi8%+&gdHHuBtoVaCueLoO%+`suaZ1{1y z+Ur$a=M_H^?x$deeS*}rkeMdo%JOg}Xz(Bz)uIsrWqw@`jR*!wG(IrEE$;eogYfM> z5o7g_%on^8*{;M2`MW5+x|?t>zYFU)Kmm0JaAecmM12Y-<7nUt!ql%ttx&=^p0nf^ zz|edXz!-$AK`!#fQ>i$%BmFX+!RGQ%7EL}k*3N_q9!7%X?CH6J7kPl&3JMJI*(mxNMa}Ri(Vn$-;|y6_!SuB6+|MQS#LboB4+pm5ZkL9 zU%edCZlDSbShinkvNGt9Mq<#YH2laa;<->~^PW`j$%7jAW$$MXq}=ch)HMQotnU|+ zzaZ^{fU$#{@Y)dG@f*jSxcPbqh@MJ^GfaN9=Z&0Cknr~u3OJC#D}z>~S!J*ex13jH z1;<$+t8t#cq~BWZ%iMY(f794_wf-j9T<6}R=W7DX(*43x%lUwB$Tiu6jj;&lBID|; zeGugq&|=_oI$PU7yfv{D9eFL47NA;$L>o<9=y$q)F(6#`x`#F*u6%CI0d}Ge&k>A3 z8{@IjP&wC(a2(Fo_fE7yuUYbAu$GX+no7#w_y&{RkVJ=0UFHz;Ciz5T&e!4SmaD1e z#$D3CI)L&~oqEq`aQ9z6z{A1?(bT$3PRj4GVY34&W(kjiGd}!! zCZFJu=v@psJ#1ec0o#29$} zFUwz5O;yJ3$Rioy;3dNfO2Hj~JIg$DX#8&YsfjT$T~vp2@C9m{y+z}s z8h${$-2`k3i!g^{g$;Vvul)*tGfQ+*2N1^ePW4bc&n!X{n90N#yndMj)&_CsxZo_X zY^dN>BwMn(UG9_=RfNkFE?I}8dwvG4d3gjqB9S7PaU~2o*6J|RWUiZe3l+O}QepFd z$SL^2v29thc-Z-)Tfgh>jT4?Bl3_lev)*%KQY#FhLA znbfas^-5xDxRj+f6a@}f1L;nWm#fA6?=IUn;uMHr@y222GM(!Nug4wxcA0g_>+iH6 zbX%pqSFyN>s)qQUF36dX+k3rP}!CzgMi(y4%Ic@ql0#ru9>Vg zv87C%-Xh~kSCVU0S+_udAfn=&gX*1?(YTi+L2-5t+!XsZ7d+>K{l! zp8Waaa^;7x?}#gLH(KG4MKr<*%g$NbmIj7Xfk{y)s?1H*D;xOJ>i5=bbb6D?q;^(9?|221_T04Yw-poNLLwEtp z=KL)Kn5wnjdRZE=$Et7{*E5Bfg=jSw>51qK6OIdIa8XCmal?2>T?gvSM}QKVc+Xo& z7;Y$!o(@&ks6?(yji4IzNxb1xAoU7=9z{+lD!aZRIV!?FF$L1Yc8_D(^e8XWuV;Ty z<>*NeD>TaDMu*f<_1WN5waC^zdCyohOJcGk839c0e9G!A5>riLtbb-(chx+K`ho1q zyDaK}Hr+zJ7IV8EAA*yEafaRZieUsnHsq8>ZA1{bimr~Aeus2(IG)khdLm}*h-6o% zJ9CXbqNIFdsqNtN(3^w5!PN+M0=eL{-yyZ|d=tK{eV+Z#A^bBuw>`izHgc{$$?cwkZ>D(R(>6WXEv#ZK%G(6}i^3%Uiyzd{hU%8r zV9}u;Fi@9Uya@%s_O`Q~oPd2d+Qo3?RksE%q%+Yb^;O{}hdgYXt1{_jm)iTVb&0bB zlbOE6lS(mQ#qkLNNuZ4KZIR|j08p{4(4(2Mzgek5w(zl-n5AgSY(#xJ|9GWvVL3m> zN{f`QF|uFwwIOgBK^N-WiuP#I0_6(sK$V-0XZYp_wBAZEr^Kyy+Kbxo_v(KkCz)K( z#%pNP=&SfwH!%ieTRaIt0y0GQFt-wH%dmwQEIapN*%Rtm3oA%WJ(=2Tyg`3_-I5<^`Av48aJz{L-^-5z|O9MC+|nG7_CV z&%}5wj(zNw{nAI0h#FA^a&Ohgmjyv^Djyd=eC9%OQ%xk(rIy<0Q4g9a4>)Z;5}VNa zHIF)B5mf+m@dvwl7^j-=pduWIPVjwqQ9UJdskJjH&=bKGq?Z06b!Y=3*-Ovl-v*Tp z11ax|h+^gHIwIkf(L@f}{6+lk=+Y8164+hfgR%424A`b zzp!DQYkpl0ShD2#b^Kg9MG&(5P0lQ)-|Vgs5cpxX_qp4fFqr%J4`a}byYG+X8@id7 zLu&A@wy(QHsUPa*<*s^hDmZGURLz zOn@f0$o4($TCzHW)!L zSX&42MeULJ!qX{g5WbsOpn|Rcp=$CqQisJ==A2K&^**Q8HbbOd_sHm9I6Q%&;mczmmsf}j& zb5=>he_APrz-u=dPT+H%IJOb{Y#^sdz&Ukh&kgj4vZZRgh$;dr{UhX%d_dD+;4O^h}m5|eN(IClIlCTz+j#BfNd3B4Fe zPS$;7!3W%RW!70bJm8|-X>%Cmd%QxE=UqtHObO?<4bWV(n$*y%r4#g@`hZ(&9D%0! zlv5elcjAZmM6r+<@+@}iBGU&Qp_cNeF)g{<;C*P88B&yWeN@-3iB1@i?bw?z38Yp` z{G5`&q`=bJpxf*VWpRkcE<#~&YBqqx#8aDHvA+Hx{Qofa-tkoT|NnT7kx^#0Y}q4) z?2*06-inYJ*_&)4Gerui?7hdK>>|qMIQDi9ve)lD46w6!!Aqg{9Z-s$TB`K#SLMtSvn z?V>j06sOako0E5vy!8#6AB2kJHEG~&RoUw#^QWxZ3A*HL?YA>M$Toc?yUxC?=-;@g z=Ut`kO}R;%;2F=?HNOyiTr8{1Tb#S!?i-FwM5 z`TZc*p~8k5Ey7~zi6^Zek_u9yMJACNhrJFAUrvM@EQ6MMRH) z?`9!l=d;LHq5ijEl+$604rBI>HS5amlAJKMDI1Q*|2*QePJw61w;4?fUv>Zdg<3Mv5i(WRAa=dJ%e9y*6*f(m;bZ)mu;a zM77z*`K00)=g3bMEiV0naAASp{k%Mtu{kC3b;#Ar{|h}_FL;Dj20Pg8ZTwRm${l-# zk0rz=(l?z=6t3>~af3=^t!C-Y_n900ZJke>s4Jn~T85R3mgIzVHK2plFeCS4{SSlH z@+q!~Dss1q4NJndSq)A2b5&RzMfS>d+*VH5jTB+^{_)M8joZ6;bRQH&1-XaL{6?IQ zXezCz_jCtq*myEVFnW7{ll0k~0F!mYb zTJW8o@mG3Hi~R2b36x%3dm|#}qF%qZT*BRQw13E@$sbjz7Yvy}uYa)M>hTb2zEGZG z{|Li6lF5brOSvOCrLd}@Fo(*mYs5$uNVW8+!w&FRoR*s`E_hC;biw%oMpj3>813bDpe)r$MZQEU!7{-Vv~)%N&G}f znpy3cSWJ1nx6`30mvRabd?{zVS#fluKZ&y-mg1Yr^U75&Fnl6WKx@yUr@s2N3y`PdEg*E8bu`R!!q@gG#uXZ+Iyjs7P zbbIxH*Kb^}#6)kSR$eRMNwLcFZ|uwp&4cC!T+|TfPN!3M-HUrGg}wYIc%u1Vn|uj! zrKcYBZ11&La7BhhOLY*2{g>u?Il2V72n4yd8#iBNt61b zuUzEN%7lzzi9PxA&AdLm@F}Wim}Ul>vx))v(@84*n;WMeqnY8m7V!5(5G1M~;n+Xa zJ{q#he8JDc+h&T`%V^V2#bW4EOAO4g8p?Q~^OVqP;Vkqb2X;rlwnAMmQk~GF*~)As z3&YQTXo=3f-G>R}6Y@Jv-dcDo5<11mYf?)ehDSae;3WQ9E#UKK*z->%y-3FZgxxz9djAd@Q{`;5hC%donDoQsX+pQJG1jbNsUhXcu&oQfN5B- z&7RWBwuKGc#$gGsJM1may=1B>mxQBjx4vm*&UPM;+2NVlyRqViy)98cO^uEH z8tVpHk;v}ar|3E^p)FO^7Zo797+N@LeF zCr$wrQNFZ-J@K2)d@|pA`g#KS{HO@1M{gU>r*6-Njtqy8?{AFNYlBI&^i1+< ziKGQWwUeG`r&zd+XiX6Yk|@snzdzXH7?T`GLCpaP(P~Eyn-u3^#y9y72C;L$)cM~a zMHV(xkIKEmH5g@7=Ee8~S|>D2GGW_34!VyNIG$Zlxrz-*eMcz#6n@*|q$@a4{jm5k zg|~KHuOHYaDn154;Av<<;FmRuc*Htzw5jr2k|UTrch!91OeuMrNoa1 zaFncX8yHd|L|tS-qg)2e7<~_AcpUkDML(=juE$=o?aAsDQ%t&*@v=7_Xut`hU3cbcxdN7LFZO1|7CA6j@IrPhjBMxc`vr%m6>5$Rzdp}3!a zOUb)zuT)-Hr;|`v!?SNH)e;PGmO?NL$Nz~)f-ph^(Q0rTrSJ;$Pu$LCt=Y|(TX3zC z%+GycZ43O~<22l7c^WU2k706Fcc+=L>$I|E_l60$KF-4#Lhw%b>Yq19(W=E%lwR1g z3z4ER!D;X66|`GUd)%Wd*PFMSVjt}!Q6B4|!x`C|!kMfsJ(aK0y)D4q9CljFg2u!Os3nKa z0Pnxvc8qbN3zs8hl#6By+g{Q;Ga9iEtW*t9p*Q-*#=+soqLj$?8lS($^|Sm2aa+k( zUYuFwc2^ebsqiA#^^bNfeG<@lgiWYl zaRjU>N%OVL|Ieo&Zw7mQ2)|tJcj)T9vlw^N_KTFy{^mw|$o|*28s)YFjAOMAa~>1W znHe{ev1vl_&QX;Z<<`CPi=SU4iu-!ljh4Q~AfPn?Wnv5<6EfAX;=W;VXBAros#3!_ zj#?-cq%JP=_hm`)g7&Iu9J={k>thwxr$@Vq9J(Cu4J-1<(})63chjn0f>y`xnAM)^ z7}Yp&gC;Xy596o=lmiYI$i27cqY90xl<#)LvV)|@6adqEdeeB_rxNz}rvrIGZC4V= z+FCvSQU8>-Hd3N;aBzB@QIyc*WSw&o9mI;$SbEoSAUllAAV(pd2ehC}2GyhwUXQp8fVkR4 zZlmE6b91vsF9uXn{j9@Oy}LkpmHmh^XdCTLi<}U(8)WA0=}W(%pq?ec4QjCnBR|TA z)QSLKxNyKp?b%nMX+NeYVwObEpSBy+5Lkg4Vk0ShO8#83=fG#p0kZIi4;iF`K7$&u zWHv3C!8|oiPW|FNdCB-7c)z!1&H>c*{lg$7#Z_}59# z>=?ec4GvQV*MN$J!F*j#|3E+xR-oHSJ&z(-C&>Y3vnS#unJuTzyI0)y7cWt~3Oqm9 z${}-oNGE$A`#oW_kmGo6VBq)Vr^R!_MaETLF;;6%Xk;~n8JBzKK^Crk8I`xxL6v8G z5%6YOy1dhQpV)kMc6$7r1>-)_HP1}?u+DNq=}$`j1QcrX^_)^dw$cdk~10<&#bkK;WkcGJAT#sL>Tgr`{ZbEbx1`%mSQFuikEu0vosPA zSab)3Tq?crd(CWC7XovVS)Trh_%N)2NDp;IRBYs7h{?g_kfmKune6R#F<5TR&3^L31^mp5`$u`O19T&WzDd=3@Pk}d$o=}V-xox*qL-I5i z5l_zh^6aW~H=)(%@rxzE9(+8;Wmvu}Wfv|`tmS;rBj+lwC?|mgRWejK&0bo82j_Aj z$G9J|N~VE?%Anje^$a#3fQKQxlVng*2$v5?Q)eIvZ~`so*^H|l1~Rd? zw#TdN%Pm?V-1r}acuo*9-@>Z63qewE5r`8QVTZFgetW0o&xKS^=a(}cVXUR*az_>N zgpF(E$lJXhreq+Uy)ll#K#kT%sIv*~c$@|O@jB?JU|WOha@7*#+U$=W!7(q+2TQqQ z(?m>L*7>fFUjGa&G#e>CX96krDLhw=Rlc!3MMt2wrT+1z{M^A!wfK;iLeSDtA{9v) z1Ggo#XXud0mF2sE!3~m#Ft(~ep{-Fu7-H_B?{ONF9+F3 zo*m?T%91n(LhpT`0!+Rc(D~E5?a?^0Mp;Hk#{OXRi#xQpbQP*o9wMeSLhr@Ayvg@E9Kq=xb65ncfN(GvPVHS$<*sPW%=mi>r_~SRA zlvn6&_69-M?RijiGhP+k^nG=R(;2aA7e86=u7Xl;;l5b<+rbp4pdn_AW}NR+Ixe5f zTjPR~zWbwQ==fbiKHry%brj6;$SEc4VtO&Ru>NGg1k(fK!#QCyKoAxi1kA4cjCyUGrGiIxjuW_Dn1BLtdfZ$1M==FfpaH<|GXijAH<2oD@P%Q!&;f_={qeZQMHxf4N*{c%i#?q%-4OS46zFbm{i@a@_&;d@5!wF{yg#;PY)e7zWOYLmd)JqN8}|8-~0EO5bK z&*h-aZQt!_X7hn)^^vW<-8+NTcbwCK-{32tm4h7($u6ORoNh2lXknpOU!t$`j1i>)Cf_e==mBltRZD7`=vDF_@!xgf#i16AooqP=HM37x{IOyaz$A{kj5Jml5QDOm z67Sw#>B%zg%WPqjJRvkzXJ1>n#x2@=dXYf9ObIQ!?}`_?tWYWOf9)Ga=& zK(;Ql))NtYiB@8`x5-+CR4d!YDqYa+Z0Q7VDG7uw@e0HC*F~AdkML8#q(^07`C09! zk`6ZQ6Rv#8i;|5bG`pse#d#;M|LcCc)-V*bV@|!&o!Au?6WIObDakzYDalcD(}bQ< zUPe1t@Qj6AgI%vW_f3tg?-7L)rMeGvOX#NqNKDTtZWz|7AL!S6*fIc_o(!U|y@RCo z-0n_8h0V!qdQyz?k*^A$>Gyt-?C1qH*&Dl@abkX1?9V%C7!O(etJ}=Rae{p}w#O1V z?gV)6t=BEofI&RnqfgOu{nI3#6RcK%nWXPco3b++T$G+yug)e!6tBVIFgzA;9$*5iW;L8OmSd|C6KNr12tyY_R) z2y|I-eiwx7790#4G-IlsaJg69SLeMa|2@e^ZM-{$bL5TToJbG3QP z_bNW+b+dE-&F^K2Z#9KMB`I(E4ae9FZN}ZMvZSi6iE=yttC#v}dDTO{kp+A1RSuN< zE%+E#yJi-GtV-jrf_7s{c(2`TVnM{iV&g}|qvLGAJn>C83(&rr-osxZP7%faRW2g; zWdm8RAQB!X-B%uY!u`f%CEF-L{54m0k(@~-os7qjvbDQ04a>Ks)8qZYynDQL-aF<> znH+WOB#7~Fk)eD&>8MVB_ZQLZTaAvr@`(jfl-_5vZ!(1IO>2BRi%*R-p8$wJT*&G* z`Bg4>WUfAz^v|L#m|hOL0pYbBC-FX2o|HRF>t9bY!R!^e!~uL-biy99v7eqbX?nVV z5M*Wl^dRY4*G3@1Hh6#kyEix4$CyR+#P%L?8HCdBpRNM*7&E~bQ(~KsgBq$OuK9Sz@Vr9nMB<8^>KMzvXVkf z7-*8D^mY?{9luY0H(v!z-+ANx!s%$A;(GJb;U20{MYm+Sy9UED@Gy(U`&0K%lWwSj zEKi)kC{}^h>eA#2i(#*H0naiA5Y<<|3d?T?g{d0;`G8;^^q2jItR%dNeGmi1OD5zZ z|3u3RI?$)VI1a|jG4E6rJO(>E>f#P{-!C*2Q3;QK$qXhXZB>s5mKeU8#JKbnJ>rQ` zvEfadY%;%^{9}5gQB3-r!sTT2i}5|GECwAh$4QUwFxvO6r&}X}Kk(oE#>_&N<rLD+5+|kU69GU}wIMJFipM#P zc3XbJk#2RU%<&F47L!~Qu_2g~SaRMFdL#-d+8C|Uz-t`deV7te<<7r)h0)7pWhk)r zjk>>2Wf}ktcKTPqB;(}1jTiQGP{P`+8si#-*W{i5Cv8k)m}!PdMd}oJ+;E%`_Jt8| z5VzL6_uTg&7IZMMo34vbD@0`pzm^I6R*ZJ7fZmEad7-eXe?r_?U-|T!<3dTn2uQb< z&znghb$rN@v9|&<)6VT>a-MEVqE3rf9{eV}Fq6}HRKCl()H84A#?3C1+0Rw$Bx}t6yGuv+xn-xA|l8>dgiQh=JvU6L3x>rL=n68oYm_8g8 z{I>FzZjLQrgKIY|-aN9-MZ=Q$!}EhQjICUgl=H%9|B0nDcS(TC7(cuI*>nNcgACLh z6PA8QepO`H>5I{^tsL?ONYrOwEH;)ed)dMabiG!9 zr@cy)Yt%Zt##JoX}#MHzf#isATiLl)x*({XHCc{ z2@GXcewkrtol$<`IMw{N7lMdvZJN*Aj-Svn{LWZv6e=?Gs8nd){u(lb{o}gpn;4~v z;jGi|GJbN<8Zd-OIW%uWz|%N*goxx@tJZ|(TM+?HJ3I#$rL;xQ^qdp24;K->){bHi zzgxW5dz-!|ed)Xvl@*zB*n40V8!+U{h78a>;mY`vm5Q?C9-~}guVuouWfn!d(?lD# z1C2*wdNHQI>wzJ(RsG|tJ*2YlKo7H?p_VuH{lR9Ss=;nR3KOf~9Y)u_>pl#f+s~|N zuf|j#5BOkl=RdQT5{EAzf}A0Kmr(<5b*5HQwBpOu*J7*jpPc%0ac@#d4`)=t!z9fy z^m?E1R5b?d$kR#&FkXJ{uDMZ*O1G@1*EC*946DLEU0-oCtO%%hv>`A`e4$Sd-YyQi ze%+oL!^{AmiQW{zQGpossiR(bQVRU{rUmlaZ|>T8AMa&i=oiz#ug$_|?lrH>mbmg_ z!b(Ci!xH}l7J={LmJ*5ofYDL4zf1mb*D`TqOEQy{Id%(A6(tzC?_R=%>1Rl3`}a=MNQlbULB zp!t)p<^qnF7^*N+{3RJR;XE+vFT0xdVI}?Xw1O0ffF-Xr)!uU?1nk>0wTy*7B0I3o zS{Y!Vb5?peCNN0_3w5~*Q>*@Y@3eB@g9`5CoNLp-KtB?Cn5yvS4>H4X!8?n;%vMQ1 z0Z@g0WWj;&KQ?p)e2{j?w6HJ`g*>J|8q)sxg9$;LC{Q31GlC@ydC7qcI5|*qnhNB| zl8BOhLMWdtd#T`fb0tP-d;ZY=bozigU~alQcrLgfa~j=`04WaLm(uhjuuywkrB!Od zSawe~6@EZ)?KfyZN};^VrC$xK&zazM5JZf=GmB0aA+d-KHuvVXX#05wuFBuxOceZ3 zg>*b$`P{I-efB{iicql9M(}afFNKa>j&eVa72ABsWPmF{5Fc21SyY!3h#6=kl`~e1 z&2Ilbvucb|!?VSyi&3<~G&8>`Ca9AToW*t1_UM4ikeAHJfXfnGN&g`f;A_CCeC&Q$ z@%@52^bUqu{XJ|rdeqP_)P`h(m>7HOc$Ss_FwY3*0o=X3eLLs^4H5E6@P5Y>D>1A5 zm7~c8mtR`|IFLA~)^`U+a>#K1iuvNlf4J13fhaUd*T>a<8-*s1`!iX$=R8lax4u|* zJorV67<}Nhn5FoZ?!N>(4OnO|nhXRVg;|fkw^K*aFkCuL{Kvka1lTT)3l|B~F@MrP zPz#ERo!=QIuo8pCj*yI%_x;(-l!7#)5b6G<^xO2;02vc{^1P7$ebWE@Qg9HUNvSVU z4k5>XE#+X$K8lLH@K}n^<~KoL%V5-2PuG!No`^Izsq(4*@;@?|4igVA+vr%?f%AX5hXpVJ)}L{7)FG z0iDK#fwAbyL($e&U6Bu6!PvLynjqnXAZkDo?o1~4|4Zh~_V?zf+z;naqryk7)a&56rTKh&Y4?fedj1k)=7*%$m%5_sK2 ztHEiU`4EvLBEZoNLPJV}%q_~<=7CRHHL{dS0&ZI$=3gFce0bFk03B4jJ)qjzSk+J2 z(|FBOz~IXEq7umrn?Z`fk_}TdF(mB)vtzfD_YYN3SGW% zU*#t;5HjPqIFd3qWXAoxyLc2fuQ6IEN2NN|`D{3YCQP+7!XDasMN`ZmL{kMl+KL#} z<}>H%PT)y7Vy*fZdssBjVE|UtuuS}Ac_6!I{^9L~h+EUWQ@;BwVZ?^4sxMj4!(%88z0ay8BD26Bt%d5yGebd7N)!5ElVoVe2=r_uX&;HS|@!<)bF*pCI}Xe0I_`?Xv+ z6Uv3*>*2_G=xUS3RTm?wd%f1B*6)7Sw+CO8haE>(zlnFqiHp>vvS~4@tl^9AW?3jT z*sLkPH!6stk?wus9M@m2;`elG#T z48^*zX6xP`tV_>_ijKcvwbAQNt;scYDy?=L$uE1fd0h&`P1tAJ!c*+Y@s)t-W8J=b znWyaKO^-;>dC`24$KZY);>GenWtRDT9EK+$OEhUhBoSj5@IF{C)6H==2L`HSXpUDo zG1_Ufq^b0%$<~;KCQn4FB(mS8dT(4&{>|=NMSxNLr6OoxvH_IK)Fq-*ydn zDo{qFck%_F#r_?hDp9wNN`AX_O-doV@anTBk5f9{{Tc@&jls8SZytYZ-UbSu@q3aMN$3ATt0$?@nb2t+azlMW?=Z>PGa8p(nE2 zT=zbik2>++id4<2l8UOiGe0obnJ9cuq<5D==5a#ii&Q0$sA4r8%w(hrs}3l;L?L1% z=sfji$GGP1li18#w}*?TXSIF3%g#~4G_cT+`1fW1Ryrv8vW78v4VkC%LVK7ilcoFX zLMm{3s?3CVTdf{gjwe>RhG}oF4%q{QUX5~*6btxm^=0sD2b>9HRyVo}oPNJYbG5ce zGk9`)d4PnH|87R1Nrje;n^(UNyIx-So5I+YuZsP}j=2_FJ=(7waJpZJzW8Q8IjlWj zf-~0(TJU-iImFR9V#1i&D|$aD#P9akxms;8Vo%iD+8We6-y@g=iB#OK&LE1d%_ad{ z<8D=Tjj$|~4EIHB;YAS%gh*;xUjK)XtwnKq?QvSs4|Ny}l}FujR|3NVyts=0!K6;Q zFc{1WLZR}PHd#n}QxbXuO_Q`q?d@kq6m!CNpMrRV%4Z*Lzjlh$Hg8w!6rxZcr6j$~ zh2^a~5UoAfX@uFf|K56f^~bOh_)G|+KyQbaR!M=3#Z5ZJmjDV`v418 zD^$WJ2;Wp3}FcD7jINqjvoz+CnminPT7>HOg4&q^FrZ*U&eJN-zA&5;T>5SB(FaSZ0_`O=S?56YgLg1w zQ02d^oQ8uR%MEZ!L8sefEVT*y0wX4d((!e>oP~t~eeGgp|2p77j3*2vzY!jLn$uGK z(SK|E4OIMND&v$Q;7CuXvHRuD%uWyFW{DB@tfvW`2Pjzj2=DY^r`lA*Q=+6m* zyHnS!oI9h^%wz)2*26B*2+AKlaz?OpJ!is$op`%0`)ue+4__J~A&l#%nJPBbhtuT+ zsiF20r1rGxmo@k=kEjbdS`A*~JFmuC$?n0!JIuqL*R4L}ZIs)bTe552Y@r_=LwWgJ zKVREkA9FLWA(C-QW_!9(e^+X;l$ z#i?9onmwr;9H8JNSzxWY3*;eMPdsUoAXYcEzYndYB5O+NNz>8mD9L?~d!h3R5@nY9 z?$5YIQHtM%UhJXz4JU&xq6{c>ktp3?hDj+QQYd)jx%Yv~Or>%7tJGD{^yY<_+a@E( ztZ>w{Z&s)t0ai5@WUFhYUHP|ptBKN)U!GW2{UY>r;sXu{?{Nr*SQxPOG*;M$|6#J9 z02pM}a<4n%*T*L{0G2wYtiT{Z#oZAT`*h5Yx(I1ipX;*z^6Li&-3C+_^p(62=cmLD z5(ao_G1g0t5cM@@!c9iO%zs$W{|J1C+ytMLu0J00x&b)yGxnC}Z{zlV$RM~xDF}iX z$?Y#k7emt^@;diNs^0Y{VTbNmVg9xyp(H5V9H;4{$gkt105|B$l@Nsfw>gX*asB5i zFW?+p1w!oP3CoWhQ1C(*NwA(xn@_}I&%jv_Y>MgqW8r>^;4}zYw|<3jf=gt;qV!w) zWW>WzHYJ@zKq6sls5h?OKaUl16TAiTXus6;m(UkPElTmnqRL5rZ{QzC11=%t8tQZ^ zrpF$zqHJH{E4=^3BL^Jdi2^BfZBjpT0e(L3e;p5gq$txB*Mn@89c6aE$-1RM zsa44O^TQy^7wnnDC(8ZT8uv;@93VV1d;($@DHJ63U_`9}Ll#0uJDIXyQ{3Ij z8bAMajeIq0gqZ7*Ee@GrBL)GTmdwW}R)&`I>-2h=?!Tb^Pfm$v066PjeKhGQ6^a}# zuc81sGzrJgXGa;9G0N-QpQRJBsq!@sBZk6I<~&iSjah@YHF>%B*P4E&3ZMiV@QrNE z4oSzNC>uC1F!0DeibQ;7K_kX?!GO_>v6N_Rl6#-Sv}*{b{a9O>6jCf^7!_Tt>yEdE z@D2~Q>&jRC+34sbk%Qr1l(dybE63QsW7WR24pXFG286}&zbA)6eW2f`Vp-dv)mb*_ z%TICc1dM;*P%S+_{g^5-_A3mDCa-I}g1jjNo=&S&;gQ6qGMq7!np?!eSL`Jv{FxCY zW(h*91hzBeIC_mlF}f*mtrnbDMb;?s7Xm@qD>A$laX-k2&4VXDsPql^FmTqA#8mFMKFK@dPv;<$z#H_!RzA@IlQ{29g?~Wbyo`mr8m?V{8O; z;!jP4`Bl;r<#H{~Oo$~+Zq=Q`Ul*D*X{8n$aH3Mj54HkQPn1tG-*Wkaq0WnQ9p@)s z35Z1=vDG~~%#YuJ$1z*{1;iJp-V(FkxAOSQBX__VOhAC>i5YUMtfdw+x)i1PE(9a~ zN_(gKfeWI#(V#_2qRHpIEX;+t%t0K7mLV~IXYQ|Kf!_fN<1m>9@tcLIP{wvDr>QE| z-U`=DTUd&aGfWwDoSo02u9+X(A>THhee8PBg#!j&G|R>j8`6pgFb-tPKLw!z#SN^Y zdC zlGQ#~YQwm6R8Ys zyTAPOzXB9oJP5u603U>N0*Z{B5mP!m6Q2`xy)~>8Py=zsRf-!JZ)67}px8X|hWBe2_PRN_c3o+TmN+M5?sNIf-0+%dz z`tC|V#H@fv;Aar{6nH)~of!F1kf3t3QQto{J9hs(ep4Lee_N+Cd}YL~aRSJVw3`<+ zYflnb6YNbOnsW~TS?i<**i4^|YfX%*5De3uN9sPF&aCOl2`8(&_USj>pQyf+*x%{2 zefDLrLWLT@q6Sn<;{IpTLd3moG1QF(92_XgynFb!G&z%opKi2NrEqJ1OcY@G==t!Z zanzGsy}S2nfqV1Qe8IN`Sdy%tE&*Pl0n#9PF7y|lBw^R;!i%)aDy3xQLb9gXSPFcI zyt2f+IhHgwQe7-RtlGPha&ZD%_EGwDY8Bp_2;zkOv-qZl3rVY^)fXBmJSV3zEm}=O z8yc`Y(=MQeG%(j1yLgVkH#dvtj`E{N+-$-rJL+wY9+m7g`yu$J-l`9ot2s@#-yd0V zYu)^u!7eUXZ1@h02VXw=zUiI&>6s)L)Ryw`Ma^bMUQq-6hbiKA+}DU#TKUmlgXSL| zZnlw zFH7K199KmZ)wqWu|KOALyT~|ya^+#CG<16F)MlC)%KVDvcw;&^+8H`w_dcS z&Q-fp`k6~csO|Zc^6Cy*^v^)Ayt;rXgNtk+l_Wv^$|i+|YpVo(g@&jnJ!gwau@|zO zne6T|uOxQ8-%mA~{aWfw%z)pS3OA)Nx@ls>VkO$0LekqK_jJ=-@=crN*qqSv8$9=~ z*4!B97tXV=8kaOSr2&vcC$Le;;<+qXV*I!_lVO2J3GvDFKM0!h_x=5p=ItDuJ}B z&k!$`Tqep@;}C=O1hb>7C6^z!Ui%!(E`^pvXaTh+p6HU(41%CG_DLRUfmTv19=dMa z5HRO4Ny4yRt90YxdFvcB$n$$7nqroq0EeD)A&0+88do%=okM{tu(M;~nTWjv{#9Y3 zb=YKG`MrVZJ32up6}YgbS!AW}h)>K0f2wuzRQAJ$xvJNXQJo@~Mf!nOb zI|5^C&T{pWcRp!oP7XT2ow1AAA&0@X;#={yYGu~PFBMB-gg!P0=|N!nh!zHK#+Ntg zjxL+o)q?A zf!@VzlN7Alhdb&RZ_iI1%gKu~ZFl%Ax@>D}Z^b-3>-a)6r&;F5P6W-n4MO9(FT$4g zdFgG=_zw|>E0UhR9; zFAEm&!TGXfreH;D+ByrwT7!tq*ya;j1g`s~Gck$3FBL_tf8B4;FvcY^WVQVi2FSyW z-61b&>+Qt@UX^w*$mzP8&UjByP2#(8Q%<8>wGF=T?ypOV%#fi=D}&iSQ)IP%yYjg- zB&_O@rZ4pG0@vOuouO%iROMsj-kx+fZq*i0KmxEb^cQ8m2nJIAH1go>$@IAa8>k{F zQk_x~qBmReqKCF|8w|o^D=aGdl7n#BUHiO7cJFhGF%r??xVq$7oFTRFTun#i;@Fz! zeyZ-lz3WKKr(LymBiAxnvEVI>CV2q5>Z&S`Gv&MSfCXt-Gp4- zrS>~r#1#_q6v(^e^)**Ls{LG5cj)8RTzfk{(Kn$Hb^^HmX-z;#a$K?6CaAV zb_ey3TWuyl9EgjFQLL}}Cf#!p13M7IX2z1d;&%n}lPo=SgW9Ua6fuz&Xi#R|mg|x~ zEg?g^ttnXJ$f;9X(4f<0T!G0odoA({h52HfF2apS_rtb}kQwSuFL49j4<}nZ_<6z0 zcj!AHu)A`&cTe*{Fd<~~=xCQZI=T1>0iEQEn;K0F#D~NJS|Fs1FAK!GBJ{Y!+bd&~ z`qsT(W_F8A4)obbso}N(%7+dc7U^t;wVd0>=PvrykFdSl56=@u_#q645tbw(_y*?E zqWHHRZ!Hu(RbD_hyN&1O_csGx!2Hfmcn___LHA3&91{`J2n)x{w9KNLvm0fnQL zQ8DPyczjFHL+d%yzh2E|p$xg?rDi8oN7jUA%L3os-U=<+Js;0nz8ZoK1j035DXo--@{JIl$x~V+ zEfHxWt6WU@Y$>PCV&L4d*9XUak%MNRd>NyNX{s}%!=cE><45{I2mR&SLd({f64dLx zI`?#)lRcgY0n%i^JeZ2k!ud&;mCVo}eU*mxx{lfl=r9V_C3JSFU<1O0nc_>{)(gdj z@VM0l|21O2tjSRS_xY`DQ^0E3mNPf^$`F1v&NDjCMKRNP+~kYdkJmYLW5GK8mT<;u zbsX~4j|nK=;8I|sY*$GCwQX?Cso>8Cb~U#~D9BONzL`W#-02znkWL~29Mk1s-Wb;R zxQ1_iP;8biO-5=IgXJ&Yb-XFy^>P&5aEufE?lE!7uE5RC*T7)W37RhY^k}Zm;fIQo z#{|!QGmWbE2n-V?+!(W z5cEDf*RGEm-QxRcDEyEb_lSXoq}tG0N0A9wIcI`cJrZ)|OGS_v;l{-Cy6Iy?_4=Eo zfpejZrN9Wd`{7N89kMXf8CNXtC&fdLfd!ebhQa&ukbfxRMS5`YG#=^pvE`_XC*U<7 zosi$q%w?NH%HwK6nK4dGTi_G-vg+pDrH@V5hvw7bY<<%t~V9Ha%gJv-ri_AVVC#bRoSW{a$XW zN7Q5__SXvtE|ROD-5`Z~a^9Ho;(776Ab6z(zD_lDOI`FnxTKEQ8(A`FxF3t5HM$jW z#F1`AL?PzTakZbwiTEUZvXGi9W442bD@z^7OFh8P_iLVzy#1TapS=OcRWa$oBa)4h zCX#*+720a?iA>3+{}L+Cf;!7gkk({J}@fK@a*I@(&NL_QR+KdrBd(TL_WjdWj7{a98WqS6q2 zWCrQX`5#flW|0i!L7c1cE%tjv;I_F$TfG5)hLgEWRZ;{X%vwe6dEC-@SFqpNE(=}r zU$`XJNApsQg2Aa#2AyAx}UFd9I~d>W`H_xms9|9G+yDNun!nRAWzWP{M0WBGO% zzy%NiH6@DIf9H58*2>_4c|8>u32Xe`rKXb1(9ZY%rRteP_`1{zzG71s$^%O~yZw>p zM>qg^xD-xck*Po26_mILg#V{I;9R^nMfKJGrqnO_fI^BkX_l@s{Y4@EJ5qi&r*zR* zn7aJHQCU2KpsbZSq#%ZuHx^ct-uppxy=B!50@_Wl}vp*%Rf~WkWci1ic z*L)>L$+$4_F22Q{{_uaSNKzCJmM57+NTaaXB`tx= zoTa6j{=R{FnQP}8HyWKy!>3;?Nl8h4W0qwp3sVs@U{S*ci?J6w_RO+t@$^L{rp!OVPr~BjaqL9 zg`^L*{FC(97ILl#002`zy$C5k{X}XEP(=(ne{sT2T zJxaC(JlvHvVcmN*|2FlP5x;yJT=MtVUDto@fIZj%$Lof*Y6MsMjk_Z+Lxa~o0ndXv z&15uae``4~DDc!Qa4Wmz?)XQo(u#`q<9)iPjB@<3v_h9b)G+$H!FBiBVXiE?*#4^k z6Z$Y`ktm_8?58GV(?II|VELafL%9Yl7$MiGkc-`!=q$2?$Ma)&>tmi20RaKQAm06^ zH9bd^&tV>e%b=V?yU|e2pz(0Jeffq3^WM5-;pXRbCeC5*^NTH>bU{gP`{f=qKJ(dm z_7r_<<^!wh3jxVI+U_M;ZNQeytp^@|dbdRV|nBTHG-@0_G3>_}(pKO20*2ptiO)5`D5+A49*yh-kxD zNG?CQ`{C?2!&pLY#`zsbhr)*^P_mP)CFV=(6S`Hg2@E^HX*A@ovZ&EnebslM+z{PL zF$?P={?$&X<-M7;wF0yLr`$J=_E(}q4!7a3Pz4mGGiiBf+_bp9{#fh7(QBP3#)FeX zy!(Boj~zw#+41ZcOGNi+U+IL25IvupUkQv6_PF!9v{2n?A|J=7#ul4XMP;4jG)5sV zGbAV|Nbzv%vn9%eTQFyufBWn=6=rbm_y*pf`XS4ZpA!>S|;zHw_665iLKj=?uQo&(pg z%+og1=W!)un>ePtu1Rm%p8WL=YTjXF8DlO3|mTZg8-F zh0CO#N=3i$cJ^bOZ)^8DG&*1Buxh>0HoUYta`g@8P*_0$^_i&voo71*7yx>EQI)dv z?ttpM*{p9Z{%S74|_7}bdl|sa+3PXeRc8Y-@ttZM?;wBVCCrUVA+n>b3UP!y!xr5 ztqp>5m3@AY^5xBvg~M1gtFp&_NtVpm^y=K$PMRf5(yhnVq|whbtb99~gcYABV?3rl zZenI=O^5@2`bHBIqy_6W@q~_n256S2c~?20DgMDiPGj%Q)`p7E=PjL@F2+iI@Db2D z81Y*cwbg-F2o)Pf*6pN4TkJD}qwHIJZrwGmK8Wd2cBlT zw@u@v7GPR;XQ1)xsJ-NRe^k{FaZw~X73WwEF}iF5hR@M?cz96oSv@MX^zm>cu(#(_ zeR)Pe_9?Rv-{Y(9OpnmZTeZ4kEp)VEKEw+_`dEd+tKC9uvm8sv}{4^6d4kYcjU9<7Al{caXkS#K=|Wb{YV7P=fHMv*5?CQYsKEJgPiZ0x+ zM$34z(VqYe_$2Z7oXFM-6%{y4QSJx>;FkXkFccOP9{+J$&}W#yr`Cfkx67&LfM3SO*2LQ8 ztJunkh`!xMhVr5LxOYEexGImo7Ly%@3mxyE0?{blBKi>8#^IVJgzeYt>wc$xTY8lm z3EX5Ls6*w|Wu#+tvrA5g!wM~9g}Q#{OjML~)a z4e_>wHWG2SBumci$}jq|SOgvc>qWW?JU?6ludbt9VeE;l?JGcM9V1v6zkps~uRu0S z;Oj?GjPDGZ%3$bbnGKi3H`X0yR#(YZ^|}c4u=34Y0=^#Wv8WQ7>k=Fv9-i`5UkX^5 zc~GwJ)YUsMfac`187%o^oo2(q(UK)U;e$~HjQoK-`h&l0kNe+W&ujm*H27*Sv=~!n zJR|r?Oj7YE3R<86t#8BZNaUrfH51YtEWf;;keY1vHIG+;YhK~Y0P^6&n5)(AeHEf? zdv}{#zfhPA2@naKbj$Pe?~Z1A0xAKwUve0MZoCR2!vI!Az4sAxpw9>|Hv`vLS$5#kEDKe!F* z2k?E5-~LO^A9&0bg-Xag9OCMK<^ueDI~?rxvihfswuY$hr^X3; z{`%rSwk;L>4&}eCzlykt4qkY_wA+Lc^Cla7X(|4NCoObjgn;tv+who*dvK0>1 z%Gk%QW=IAcg@D1~Oy1=mT|8!6Q?=aZ|1$M|pKbtf8?27}f2_TARFzxz1}Z2a-Q7q? zDoS@Lib!`0NViD0gn*=kq@qZ7!`_56NJ;mmk?xMW_BrA?p6@rt9e0d-{%~+~@xJR_ zYpxm3eCAv+pFhCksp-nJ$;dmGSBO;j6UZDvhy=&p2q4uImQ;f(ctjbLn^b$6{q7yN z*2A3eP0FMOU^CO|JtVVptQE@oI1_lS`3@-s0=$|s(`9QPtqfL(SH;bLn-q+xJOTm~a=M9}I(2XY!G>o-7)gT7hdsV?LF7U3D(U$D|yTXS|ce zm?y}{kifykQG$D-aM}OEq=E=>acX`NlLJH`ux1ai={VxPT_c+xO)@{V$MFltT|8hc z^8CiD?mTGq<0e&VDqn@;?MY!Ff7R{js*4-Bms4+_E{1%1_SSFJJR+^G;j+n8Dk&&P zCP@IvLY>wBmAO*Rhy*f(QxDoQ8L)=KS@6Kk*&K^C_lk0b&t{x1Z>&grN*(HOSA|Xc zmWeEpQoV@t4sv)(jn9bf4E+@+|F-tYi(u;B#h{^@TK5;<7f#yW(_)VE6z1!BUn+?> zvZE2VztbA(d~ufgna}eOO`xJ6LKx-w+@?QMdy*jQstPCdC<|?w4=;pYCdeu2aCR(o zL?)TJ&W@Qp&*G$`RDHB&?Otl|A-2iW%a9S<=~6#lzclr_cZgcxu;(67E}Z|;5=(G| z4|154`|bj!l>$brO)D=XlEvB_U_@Ly3@a(Z=K?D(r{go?czvD@KJ0Ou_U5kJ+s#S*&g&x|Xg^wE@n0Lt^TE9-h!mK;XByV9ev+%oCunpo_MSzJ zX0Ri`svkzn5*(^-6Y%8;UP$$G!XW5ab_HGu^v(LfM6GP7!MqeBj9onk=W7JH&kfw| zLlQoO$MUId-*5Yauk7>TrE}!-exgRAPeAJ+{pI-w45q8vupZCWkLLb4B!ju^jNLjR zgln%q>L00@ja4BVXS}+I^W1*=W(vdQL@@SRx&Ed2?lA)W)>=lM9NG_eP;1y{-!L0g zAU3srZ>^YmT;w+EqL`g@_gN6QzdAp0P%0{lDRyZR&OxWPoYsSM) z`p28+t>0SVC>k=3Mx`rf>vKIHQRMUR({dJMcfWP{Gqp0jNWuaT78_QWMXJ_hE0#OdJghE2m4IXN1K zM3)TeM0aGPQ7w5lZezHtm9O{*$*0aw&T{((4Rq_4VO_E5_4LkH)}5CBNkFjywI(DudX^4 zAK^0VPar@&9H4^4uD$lljORVHNQ8A^{mk{C|{2KG9+3@8q z4!3SFSz-x>3$>72Ah?n|8_htI@Jt)platZ3{=|QXy>d%f0(^|>mcf`L-^wDp8!~Z0 z-?Ll!9DG$yB5Z7I+gnSXtFZD&VV7EGD?hCK)$EC7cFhR>x$R2PpjWs-pJUO%?i*uq zlR2xa)sA>OSGmnoB|1}3kZfa}I5NIo7yil;ZX&Pe>a>2q)RSD>=`*tLU27je035O% z$!qKLZx|mqIr9r1G)T!TN z-JefWWmcgf&QWCvxcRsjRjTl30LvhkSyzuHqCPBeEq|d*b6U7suH4U3az*PO9eXh zp~X$L^oD*e2~Y#ff)M>Rt%nr+_Imp#l!aJomW-#n)9%L@wMS_R8;qmrzV&i<4Nigj zlJkzJmiXJl@wp2>;2Bd3TKgOTRUBy>p&nKva?=+@0j^n?yqH?0&4i;A<@+Vzr8w6%10sdk!EY#xINFY<_wB0RsjBpywS*db6VfQM0M5%AGbk( zf8404BwObFJ-vJH*IrOTgPwg$s-*5Kkfz*UAH>*=ES>f4Zs~Xs4_n&w#rUc8N%rhf zmP&B3`FCrzlq}$LFL;a&fYlmbob&1uAwT^jG{$x-KR=2Rh1sz&o&Yl2`(U`vYUdoq7> z7eMkB9KfVg51wna97P!1?^9|1Ss;PO{(a)-`g+l)s(JqIN7T}3~;0DS$@Cxk1e~;Yyb?fNr*9@w?jl0TN$eJlit*Nsm8hbfU~+tupvTs z)!0*Vz1CL@A{IKL=PsMtR!5dO_278LBe(Ba({@WMSjj@3Sb|a-p2sU4f4>vhDO_vh zOpwyLj&!b-8QA%4e;@Ii(?Zpb23O(bAiTX_pjS)E=pFj?0NmC_EtAM2UsjPNRVz4bd`7=i1wT3o8;o7MhEJfv8hI@J(=VD)LQhG4uxp6~1LDPi!0*K!?LR(&&UfL77ZToLX;@WYw}wU$0H79ia5Y(z7nO zRBnlg9ZgH_ENuuLxJ{_Z0pfuqaQQ?0=fVvKNAI>rim)GA=^~Ntig+F(%BtlxO}ffP z(Yq62tPBvk?kzMB;@Zh49`Y84wn6 zDtZjJee!VH3-^xz)#YX`7r6@`d;uEIDQ zgy~woSUUSc!Wd9k{XYEOiS$JGUg^v7PulejoJ5zcIo| zA>J8wGP}GSB=th>>~&s~KECOTEnoU9jRJy8k{{%;IlPL7I|b~lsu{L3;-9zYS}X}T z-cyGz%Smrt(%YRccqa(h-vRY~Z#F%HX4k7_6S$o)!YKsbxrVBpzoH7fYEKx!C)rLM z@p3HxeJ;e%;10*{)4_flEDyWhzB<6VnEO6?37T0|tu))7aoLC`@%|9yc5@1WAdC1f^EkI7y`<$fmI~SOyjA3)C_YPY;iERYkjUpLes+xfF!I zw63{)MWuDRZEjcqoW^p44*uWz?2qHQqTfJ+P>5m0nLM8Br{vn|$$DdN6NB;3+F6D=bz#JFjL4)N&C&qTVSDBmFT~p4AL^;8cKW95l4Xlk20d1`AJm zC=1oC&>yYvx(n#7xn5I`%2ZZ3#`)S;CkWFsnkD*`Br04{Nw>o(hOuYrJe%H=?jfd4 zlv=vqd7g~Z^ys+)!q%IPQv3a8(t{cd7yq8U$`F(O#UnLeB30IS-lO5*Rvk-zKy|0u(R>rljb;S^AVwUZ`1l+q74oz`I@R z$pymJAxNfF8B%I!YGw~V$yUyI>=P0jq~o6a;WSBDXm7>Ozp^#%CMz9ZyL()Y{r3^KbCv zYX?H=7ee}k%1RCwb1z%IWS4@pk)%q#5-zpW*5xo|&20N+zD$e&p~Dh;c);Gvk7l!e zxLVGAyzF{4Xtjq_&4JvZ^q!oy*P!69bAglU(}<{d0uxF%-2nG`C>FaJ4e_c4R?!xI zEM$;NVuGAp?jHo-f(#F*qb+ydRw)>}b+joevGnX`v3nQG`F%H~DuhCzdj)|jl#}ia zpo30{ZIMusHK>ahy#;|M?s~de73$4VhI(jgv&P4(UVqAJw+;YJULLc;F2;n?k=m2I z;lO>Di2eDtQbQF`bPkWC`c-aD7YL)|JV3ZSpLgH#bnSSpxa;l@0jSNwK;w}@!z-Zt zI$s?|vjQp$+zUzY7YjpzfLnYq21*06c4KF40e`^(56%U&>kolvSyl_5)l^p-ffG3k z7&wJy9H*usS>L;{$So~}+;#~lYq1pO-&pn2q$y{6n1_+_D_jgcANyhW1~tk#^r@k% zbf({t>E68{Z0lzQQ3$rrEcP@B?qT_srmObZC|aL@4i@im*gaPV^N`8OExD_uWz}eP zYX)6d#@Q)^JSbwA!X!$*Jn>362K!#*HP54i7hB8kXsoQ7Ca3L$mIuSMO!g0oFkCwn zKHgnK_v(m2udlStI2~N$I6(>2uGsp9Z?9qAvTHIZ{t0lj#WS(;C0ovDhKpRrEOt=d zIm6c1!x-PKBCCC*67FyJFhilg+QT-g|D67vnf8bV))H7x;6vNd2sLK{oUx;M1}`1<;XLUt!J|1S6dQg&&Bm| zamR;=Pz+j~>~9~6IXhzy+VmlUuE$bCorHD=r*b+~E=Up5%(<5RIOBX=qm+VPImeRi zUu9ys0#^3w^!7dEe3886mFK&bK@TUqatjqj@4hO}5zw3d823qwkUHCkv!?V#@5ibI z(_-%!wp{m*-=f}EH|h#poGa>~VCmDjbNM8VgFQ!u1AFYI_eA*AXpLb8YP@64&M79D z?;bJ7=W4z?2c^eb#q@2@=f)4T=Y&}$tow1I%DX;3)GYbJtXq;`v3%#|(Dvk_PCO_8 zI=viE_nJyvt@n;+)Ay&n>6YCmP?qa>bUCLmGGWGe_+v)&26(JwL;+>rqvJq`@kh?1 zJF(kTqm_c4?^z1!s8zC*usNx8m2I)fKq{!}Nmn?_t%5^s>B(wm>Rc)POWld#kY3rZ z)UEM*X_aRDT&CYY=5gvnIWBJ)z0Isf@G$;TO(&8HyUeJp;h65*LPOcw^J zdF1lGB0aewf8M+@lrF-Q}^F_D#`N%dKyu);&>ihJ z-%@RG(SS5|30J9oXn2+TMOaR|)lflh7S(fq#U_-T`zGzj+V28oKG3;l!LteRS;)e^ zyC$+I6{Kd95dW-Qwl|x)0$D!J=_~y1C+o8fHwSVCt-_wBbJpb4AnBz@znV86SQ_22hL*F6Ipmzu}LnZL`%~)!`HmZU-G%6QO+ZDvTC>wZJFv zY7>72-$C+uNT-&of`tPvW0z&?`pKMot81R7i0B|R#<$3-@S)f($Zn0(nN0%17MG$l z1ayn-cQb!tP`;jK#54~&a3+X4uVT-4oyaF}$!bnac#D3?*Iax4!t3YYvfQR;w_CUU zI_&iwBJq3(Ai;!)+zgx_4=`FC`Bc4lS3^scq)SXoujIwq$Q)s@`$Ua`|B?c65A~n^ zP9pI=mxf$dT8@T1fa)h696Ij2WZaf2(`D8y5ZIg&Lf0lwY8Y}}9mXD$qCU`@@>WME z%!^!~$dyeHD2dO-Ks!6wBs)$8eK9}DM)(56tFJXm_4CzR(RGjgGLF$<%ch?RU zy)nAEXw(1`*6>Ih`846j{Yt9$UTAo0XlQ`){iC#&RnroSB%o6N73vvK0Z5|TD6P7a z84VnS17avSyO$CJb<5%&4_ZR3j}U79+pGkr@wb_biEDzMP{yn%_U?J0;(~JmGe0=$ao} zHJZ`IYD*)FDN{&}!Wb8A89;MIJwSQA$}v;ZAh_an_W11snHWY@gN9n!GRD!Om-a9r z6N7Wm`Sn@KLox>ukPAkRtdTujhz-iKo+)D)M4JxI6E^0Y2(Ie#Q3>oWao}5FVD&a> z$y>Ll*x$t$wp!HFg?Pxhc1~A0=$5p+5kb_eem*u)sX2ezm}+Tj8)WEzcDX&)cL2k* z5VqVz9IBB#eY#f9_)I;YNJ4L_rc7P6{ZsW&)&Sd}dyZ;80m;XtA=?)mafogN0NW6L z;lO&;Z>3XP&`2TIAE-zWE{qLPmpeTa6ZoTnu$mQf?P@Lm zd#o<>C5MsXCQ_45>{tc5d{i#5sV?=x9n0d7D%ZsYY|qHTw{>mYt2|8^S6K9Qd^hCu zb`5Gl#IVW$i*-NQoN`zF2?W?MrzVbqR&-z%39^gBPr8&QQX#mlcJd+eYUOYfg|~m2 zMYe#>!uu8b!-a0qq@dz+y?G(#k4SJh>>G!D__ZZp0i3|yQZe5&IIEz|A90DH?{hB> zgebOfATvxF5f`IVvV(|2^DR_xBzHOsP%jI0puRPj+J=EE?^v)0Yn+y;#>=+CBho~! z%KX$Tf+A6ZornpO3T$jv?k>?`QxBAzMOstU9FV{t`2P^dl6Beo_>Grwe|V}f)>N4H;B z=xX14xe1WK+s7r5V|Ve1Qfo0}9!Dh6ot};;qC|8|Uw}$ZWp-i-?XxvrTg8tuu2wk0 z4kk`pO^@aK(&bEtEH$VJAtj5_7p>O!%qL~e)v}Y#GGT9LY7eA&>}h7GCC@IllNbR8 zdZ-t7@jf?L^2F`+S{7DJ(w$R!YGJRZ0Y4p5K2>-0Hk}<&-;<@tVH8aREHixJXcTz3 zFt-hDUOGsM&&}{jh39ce-#1++w+$44ABDWQ2-EtDYQ8(A{zYaz-N~jW4Y8O5wz%<5 zqLcg#vl8uR8Pp#4d~$2Z#4--y61rQiuJQh@?n z=DQnN+3zjaSh~zP)aY&^OWgMUwm01;)B#C7xcFWGFik=HXvmV6_Nj9ekF~|KG$CYH zhh>$ffJH`dJxFhE-eEZ|^z#*gr^niG0o7W4JRjhA>jFQctj<4K^lxq200E->7g!Mm z2ffHUOcJX0T0w~n;&L-Mfeo5kpY#Dlg zd0cS&$CBl3LB$U86yfl8$78B%{q>h=Xy5~)L$+LJr}l^rK(#VFegnXvQo$aR({?sE zPncyX5~9UASsk)ve);S~Ry8wmmrx5S?`~ndfA&6{zOde_48ydbU~@DDFBTH`@?>u>#n^tn=bS1c#tc;asa) z4AcVf!Q(@|L*LSC-;U-5uw3*@&CVaP|0emp_)4vCP2Lwn@Q0H`#5MStugx7YynKO1 z1Iv;Oo~AIOu15R)(Ky%hyymn3vM&IZp*KD16ycmo&x=OF4!l5bSfrwnqr~oDlA%soBXFy72X@jG(s4V>g-##lKzyQ20p$h|OP%LUnHb5=0NUAol7xW+?s@ zg!_x77ga+7ey3pHz{^0-&8|V;kMJ4^t#S4q?pCnpt$h5{zc@AE4KH*7zc$Ynf$4f` zVt2r^A0dX?a*M)A7Pg|*v`;)9?@iDY{KGdT5d#MU!>5z>dMWQEfKT=BcQ8a?>psie)t?xr|XJJi$nNH zME;@LB@_X0`NQ^-gZZzW!Us74OTVN}hM)3a89A{L`)5)e@BH3<_<~^k|FIxjqP6sj zLMZ>Q3j!zL#>K^DjeR7gprG*9XwM~R5*?#~{1Q<+8po;m(p`e<7A5Ag5z1a*B$ zZo4qZ7ynp{5-}pufxdcfKK8bVS9X|!&wJ_4<|KrSUHmZC zga6RQ{*+O8`JOE!?h+A)9$7BYRsO;})6=jVZg4Yq1?KVorEb~l&*!$>k!;dA4fj1f zAUm*4_T;NAf;lP6g{&zZnY;l88zG9(a&C*8Z|v3EojM~Arc;utJT9NTPcB}OZ|~cw8v$JNRs_{#8#iuqkjGU27!uId&HeuF+oy|r%)-i+yygrrr=xve|CI7! z7k>TUI}51xfXVlM;@gvJBZw2|({T$zMfXw2^ZcH%VDQ3S<f%wk#HLU3UqkR?A2Y ztd0CLBdB1VEv4H>d&*n#X?IymmM^9EQC}-<+%~>|m5IVO8yS+nF>!K0SuTBL>XERtWgg^7tL-jfU5Y@MiZG(M_Ws z$cyOIyWQ?>7BV(FTkoL1^8}fJ+`pd^3=%n>ph5Qw{S;8 zD~M0f2_=>8$AL5%)pR}kuHWDKYFGPu5z%3pJW%(+{HGx!g6r);TjwZtGME=pd+d$7^+J0yHeJVuZr@{nB zqr{5gj!XjT1W%q?X=Q2UPAOXDL?R-<*NwYhkuGa9amH zHZm z*s4i^c;80#s`T(^bA|c}q&|f3aeNy!opU;&7$ZI&Uqoj~zBry`SIT%&cqrW?P4#+t zX*Fm1XysCP65{nUXygJw8S?96)09a8LzWBd8n;NfOq;47w9Rg9_G(|r`l zgM`Mi1ToPy$F04mbvq6FP;5Ojt>uHFl`FhE+OekXiQ=OE~p-E{po& zMGdQ2gEkP>ZT#8g4tkWquIK3v<#A@Ac3LVwS3xrc&eYr-L)Q+pNrLPjFWSCxi@E@X zB&MY{-YL1Ll<}N?I1%IQwGEaKfn2_{$m3hzxuiVpwulOXa|}r*>pU(gh%e7BDO>}F z{ltm4J3k66ti8s<0=R>loc4SUiS{8voO({#Pw6b3+gAlT%sCm0-UY#!x$zBM1Ng%g z6Fmzqb6Urt60OQ5SkRx5r_0euksiJ4FXs9au{Z19PsC~R^bPUA@0!wtx&B#P zQ_MNfWs?*u&&G4~&&HFf{i?3<%9t7*Z-DwIen(f*jwLYN);8HFxpz zfeG#grI#u@v9VK5o=@zR{+DkocY31Pi4AZct9Ix?Us2i6X<&hvpkcpwC4zNpK=+;Y zMR;ju_$_2e$qPV;-tFYT67EWzC$>6qZowv~ajL_QZ7qQ|w?%A8m2XTnTvq?!TINK; z;q~&U3N@G*?!m&Al6@naUc+l@+J1BI9FZbp~^0R1WrIgT8l& zv|GmYpzAztBHECO^i;|_Dx1V zFH!d~AKe(q(y2dH{ID+;sB4^wELXu~z7l=aaR8AL+9&RRuydJt?tu@rQqJu1QCeg{ z0U3)62X_1U7GkL5UT6i9d9iu71L0+-EOPU0dE@K`FEmE=iHPshG_sxipc!7?6hQlRIo4tlpbSb_eEpwfW9Lm_Da4 zEx6O%l|eR2sVqOs_aK)jv_Ys_{-)j(#AF8cDm}$NPX~*PXl=eJKjJ=|@m=HI)Y15e zT6T%#A6>f+w`c33h_|j?u&1CiitS6>^-C7Fsm{(JU=ZJibbp~kmBSGA7R43QYe`b) zMEo=t+^IR%q*h@+TI-1~0`Vrl+Z+isSI+DWR!XnTD+mECGzn?6dE33JQ>mz!HNI4# zzRXuioA4-M@Z)o_+6tG;QI))nyZII8!pQ`w5Q_SlRV6#)+o-dx9<6qPzRFqPJIgq_ zjI87CSl)WHKqwR{oi?=#Dv{c}6#K~l9H4fCm|at?Ts0EvR{HklNHn8-_PElD*25Kg zSnLMFDz7!Y#I8~LR15nTnG_-uDfeLQk%Bj*+vB6b6}L+~1I#99SbaU41^m=b13h#r z0#L{O)eHE&{G@W^0_sOc(lc1HU}ur2)%8a(OsL;cRMtXV0cWbP+C@A*(-TH7UF8F| zxS%1>zcSV*9>tdgu(ut5WwsQ=)__}*@drB=l&`2$9W!X(qL_rTOQdt@SocBl(caj; zO|6Wo1_a=exr(RVZaE=NS3T@S1co;DxQ`f#JslUl8}%7nbil~o_R9lARhRG;i)<*#opRTZ_ZQoa8l5C zWv%@^cdgk$q@2)%1jXrVgqE)N>cY+kfK<8MUcH2O)&9D{R*J@&RYKo&TU&#jY(e-0 zomf(>c)AUH3oWKew9EnZ^ppWt2?f(7BST2+d0>Zq^A*(dLgLK|%KL#{M7^7oDSp}dd*Q3rYa&=%H5S-l0$*L!drwNpw6?tulzaXN9hywobTvdlugubgw zlGTT8>HS%tU&tVm*>uBmT6sZTl$9^ z$S6{OM~?|X@X)GF#4+~QcPYc`C0GPIoJgep4z2FDA37>rKmGruB>|uY5r26`p`QA) zE%f&*6llm0=hh7&E=Ne&(arB#nIZqgfz6<%WjdjBDdr(FoImGZmdy3r@%U%uLCT#9 z1gfhDQIZJ-AeJ1M(k=-5=lTDr`vgDmugas+1&s!XT4*k!UQR*z<%AR)))-5T@Rm@2 ze}>Op^eQ)(rinJ}+dAuVt{-&BuiweY2+)ycp7&k-g+6frQg(2bw*`cvhDW!cCEgV7 zyQ@cg4gJ?Ed`}o*%9)XqTL1V2siCoFe4nU;@H#3n_yLC`+}x|HR?y7YVMF;NAkD@( zs)C22FP?yN#n!l2JdV?6(U6O&+Y|kNt%(9n4VcSk*7h?w zEf8rxvE?L&cPaR1(SH5-kP~#t*wb!DB7sw$X`T3g6Yj1h{;z>zui#O=dgM_Oy!}he zv>r$J|MgZgJ@AmF%1HEkU%)WQRfk_aEdKE;|Jq*P6+i%bS3tAHYYs$}5en6zxZaC@ zzqJnn9@1?~OKc#6;D`l4<9dHk)Bq=c+P!wTcc)Y{%yX*|Uqf4)UN@1z<>(S0(5Qm} zADa%eD!*TIS-B-Tx3_F7lfpu}zF}pwKjuO5f4t=sUg6-a9Bw9oxJ0oXo&veC#&v#j3GHTI5c|~aG&vZcQEHE^_MJQwuwJ=GOZorXl>@#v z_W`4l_hs@4!8^1B$A-0y4S$f~rdJLed{pf|pUK&}dQe-mzIDGno=H2)F>j=VlS;%3 z(5WwnCdlY^C$|CkdiqZZ%&N5wEee`-0SK^K|LTnPpWQD8m>{p(=!rr;Dv(uhUku&r zE#Y8*;H69Le9KZUC9|^1BRooH$c^OCwGi?=r9i=^ZdctjZeO z462#z_M2T58x!$B8Hf1zV8_k0vy(2~b$%B-;=)OZXsO!@B^q7?9Ff{kjR_cjnN#cf@w%l{Z}@XttWTAIF|bhq*DwmNqMbthl5=^bKMq|Ug$|HR2b79 ztT__f!d5!=Ty|FT$!bBNLyoR*ZjxZDymr`~bh@gxEx950-sIX4>)HrdC0fhQ?m?|x zT5i&teL>eHJe}l}zB*OibG1rG1Ej*9uS(S~n3dB%mN+>%J#MOrE%xZKxTT3k~dYxG*}JN*lAD~f8{IPN2P&7 z@S+dygEQ%v{dPpj=Lcsrn8%#T#ND|K zZb%5r)8sN5F0+4H?3t-o<#;6Gu=qWkE&x6KbvH}!+8o|jyY{EOHSBKl8-Nd;cn5b< z3Wuesr;6h_a{?z5hkmWUZGlasYW+oRr9@~echOZl={}`^CQ?HQ9$zu4Ew!lUCy7Z_ z^tRjzG%f{eP)0FXeMG`9)xa$Il+@yq{|mZ>`Wcm7T+TQ$>5q(WrNo6%G^yyV7+c}8 z>NZB3=}s1#L_|bpjELix!dfWWvW1QK_A8^B2c?K~d3nm8A!srt+XAol*}llcX#}*! z7f!3imRS-#2kDl4m5=9u_@5wpfn8idku_9CJUKa4?73k@s1bCea{}Q7Lygh<`zOS2Ywl!-KCxoV$K=Z zP|{Jty&U2k73NQ^gZV8jV~Q?}&CnqEsQaE4d5NM}T_ZNwP6Z&NFw}iB@EP;Ajy)qtanoV^w=r%0G3t8Uve$j_>BgU#PSv%1Ete11p~Ld`Fu*bT*4c?B zcu3V0DQfz{B~g_BCR zW^WhUpQtD{t_6e2p)7mj+R!3IJ#)b_eUyhe%9_HaOOT;CnhLoDK@(_>rQ1y2lqPT(Vp}nPCu5{gU$6j1%vAULkhmP2=rg!B{u2fWr<|UfdQbT zhlOHLHM;`%>!P?zowCGUojEftrH?;>Dy2wvm+zT#7ER#=2@%3v>#)l`HiQ;&Z}2GZ`r z_w-cu5%}`5PKcJRi6F9*sbc4`#Hm)du#}&hH=J$npeKt$v;ul|EiTV+bf8|u`AL^s zK73;wbBEB!pjZYWRmeU2d|}PArUJEW2e2O;W3S!-Fhg?q)s|-cD=rFY%b*<0nyh=; zf#Z;W>6q&u?|A`>+*%8g!bkegymhLzaxJsq3uTQ`>p@Nh` zE~RRlvIJFK3vdilLqX00)ohLX_3AG`iB^u11~Nn%{ld?6AP^{FS*FAXy2jQRVKXOBkHVQ6&Kwhz>=FM8&d7SKt!fl0%Mg)t?tpdO$qe1kTWdt0 zjtWhZXrL?N6lzGe3fiu{wg&>a6_~WkclFl>GLURSQrj*9<-{w)yXUnrkp#K4%(G!E%*Kb6aJ@Eezx1pE?Zaq&7OR#o#D1CATTPa*3j9o7qvpn#;Vh+R~6_48c)f7EnB^)>3f*BEJBPDuWCK2N=d+! z8@b5fPEfi2a6gj}LVHthj7j5gG&z zM=}pTD7V9ZV_{D+$+8`$H?5v;$jcW>g#A4H5ER++V_AJDbR*yUvnAeNQq^z_PeWc& z*#{Q?f7d8VjAFRlC3|JI#+c!7Q->3aPnN_I&{nJRv@(?1*>Ya1 z=g(yLb!g(Fe0sIxmm@6MruR9DMOvxMO6exH6!p03nsd5L<79%Ukra&9@{{WJ>gjkK ztE$Ycide;GDkp)ESBCZzOXZ4C2Xn%rimm%fLPv}O<>o$Cb2qBG1+m_Wo#f?^T;@yI zJ2fNjhNVt#NgE#P?40ShNAf(v+0!mOjR}@ zZ0=rVu-f(|liy+ww2h{AMUZVm2Q;<}F?UqI^tPS3%i^;!=>G6|3N(FOc7Z7WPF&u2 zPHL&s!K*K_FwbJg)qwDGxsy}4dm-C3By(SQ$VNm95XY)r?Y3w{LVl zRfIL@=>FOQ8F+N6{A~V;yw2E)<*Po2>}%=V$bnQOS=4f!=N0aSG;1(xdQibT5~HjvA}Ud9+-N3Qf>|GRj+ZmD0|~6D?70>u z$BDeoYGGuPngNx&(UvDhlRC*lj!*KXsj7Is$P2z_*OY-$jq3pGm?q?&fz=)}GTwsk zPx;a`wSKSK;y;cph#Ox6J78g2$Ty&Y)2GysJHNBD6OfxkKGzmXj{f4x{mW)#IjBHZ zMaan$b9(K7v0hH@;GkbulT)NxK@xI)-DE$Ex&yY`dg>TQ*zBx_aUOEN! z;3|0oxZoZr;-UHn>D=nm&;B zj{4khL(zVO5@g6cmj04UL&Nfs&hP2t5SkD_#E?bdvnobgyy))x(fVv2>1;j zCPa`QX10IcfQGY;y#C{X{Vg1^8wh{=(SQragljM&|71r%)U)l_)A{3{e~p&Eh3X=# zIG5~0NCU$h%`lz&&wSu7qX%Osi=Scq&<0POj$W?*-!V53Q&DlY-O`)+5m?0<$ctoq zn{od;p&JN~!5D!TA4tAbf+s>5dL93dF}H+pXN4H`jzM*y155c9Z~0c<4FuZ;4q^Pq|5+jMzZA4!Ot8s|$Z0(A z);OVF>Hi&rvn}Q0GlI|1b6W!eaoR`MjWPV+JNEZt@JWC%xLwUOPzLZscGuL<{~bdE zdwT<+km+eMei2wmgxdXQ6n}0R{M~kMz!>_tx8iQH;ECG1Ld5?&MyvrJY^nTvJ|+Vs zRF|8te}3TmUm<~^f-#TT@csAWz!NJMTsi)C%>QRW%0z;ITYjU=9pgHNQ_djLOTo)( zEJw+2URiK}4$}uN5DP)0X*5^oGpdNfS*cq(h^nmbOSW_ltv-m0|7T@s^uXNbV`Gv| zl6+zirw_=TJA-!|&#iCcy%M2EeidEA-C6C~y33tpJUv(bqtZQ+zG(HBH@cEFv`Lx$ZQ4VpxUh}bY zd!>bbzkZR&{?(Db_$CK)Pof3YD{fI^V{hyGK3L{>`gz#XWM^GbsY*fQDuwxhlY@B^l&11nh4$royEnEy4YUL#&_w|rx zt$cZht)o8cr$s9I*9y4Pg;D*vwGF1=Sa`m?OA^cppE0|#u!dL7>nY;fo?g$!N{pj7 zYj4H9d(3zoTqnG+~rvH+shPw#1QOj%Y zq3t`pa#3{E6z2veWqS$}Kobdgr9NwLzU7kXVaiT&`wu~ZVFO{kEDHHf+X$wIA2yt6 zL!s;=OR}siyGZOmo3a~fVvP5PM)2tc=lt}$(mfn~0&uEYRNr3R$K7tNzv~>P=i?J! zdGpWDrV)V)f^v-eNeU3u8Fusc_;fJLFsH*X&ZqaV{@B?DQ80}QBgzlbh~V%u z;^ak4#eo8BqUPQp$%eIM^zZwBs6t;UA{v;Su^rVi8#oW9`RZ1WWgEz~`3pkd0kvQ? zScUwb*$9AP)0nqj;Gll-sWiA0a#-%65bU94bDMqnfX9_$G}X-jQ17g#Khw=AN;q0r zdx`Iz;BE`A7xZp?-IX}kOuRUk34~W~Yojd5(|&<`ti&komCc0Aj|U<(zVuNxJmj zon2xm*^1%(V$`en*F^WeV#P-H3ej?^+>X{SxFVaFxTDoD@pZ!PWWP@xxAlX_)YY9Y z$`7*jb0v~nw`yF@P|h-rU>!f8lFH^2B?S}it8QD9<@zCn>}>KvYV8{*&jk#>FCdjz zG^uF{S$;`LkoKR# z|GMk4SkujutOqrY7Sg#_m{}Qe2)QEL-kdxr-lur@q^81_ZbN%0bZ^h|C$jgs{o|gL zD?PM@+L`!3lQxNlHAmTRK7Ysn!eew`c-&4%JS4ym)0Ep5PG(>uJ0_(qzr4%F8&bRJ ze&o%#Wi@3TPoIOPXFZ`%J?W@)p51l_6i)&@!)dbSezs6pe_3Dt&G9Q)rNmft1+*di z0kPGw>(AYxB8Fj>?<|Y5PZA$yTbaC!=Xpn=*;u=mkCblBxt~yOknvr+L@n@Wi}}DJ zt}-o!-&tHOe}-{J_jo#0y;f@sb*NnQ%0aSXeUcSLRFs8OZY?Zc&qM90&_xxL$DtvY zcKN+#VV7!*phi@#2=fEmrC z#syJ#vMzQ%*cDC?9IvC#*>56_otn=+R{26Ye`d0icz(v z(0_kDadx(tRc#821;4m9SyadcS|(#Jbr2H0D)e*@qTp)9TvLfok09pSkiC45JHIUR ze1PmrsQDRAyuS}GhnvoS%p{H`P!P_Dz9is`Z(+HNuzQZ(dO5cEt%Y^BSM*9I+)DEq z=j0%lX}`sXQah*j2(~K?JxZCUvR~78qpKg?>Am1z$d}vd>MJhI^NMkcH8Cixs4(4f z{<^BvG-+9{6JOKq-f=))|McygwDIBl#=}XFvrUR*57jw4shLb;t)16;ScRyEiBX&A zqY8L7_X#26l^XtSM3gA9iG$e-JKvBNyFRxq@(y&l%!VnruD*S|K9Vnp9a9*Q78iuJ zP;B`z?Hx(qlht8nVp>*Tv$#&z4aNYmMfukBV@KO{XZ@r+}I ztWCOyt=}K2=VqxlW0f-H)G=XYaDQdRXstCE1q}5fbSkZ#1^*l2_bZ>WRlerH)Bx%p z&aS11SkNATp99vN@*ww)T;j8W^X<=Ho_$ba3}3&i1#W6o!hhHI(L6vGzH9m2?Of;HQ|z z5mbVAS&70ceK+luxhJxmM729==Z3DZ-{>AWI@bl}kyT(lQ0+XBi!DL!@eF(x#j!yq z8}#vXE-?oAIOD01x&Pu<>$9XASD-d_XQ+t(=UK7wA+xq{K~U}4BP-c+HljGRpJphVTw1OfFP-xm z_jE}voS25T{+yBff13O9aHzZRZ@achNQG<_9{X-=gOWyD|1%_EHboL$X!2 zhcQN&5yl=uwk(6ORfFu4efK+h-}k!S^uH_9~;d+*~g-{F>x!pxGE!R{$t^6 zeqAA5TA^A)Hzq1ACfZXt!GQ0TCr5hfKGCTx+Z2tXd(D$M%R!i8hOq zk&EF5oeY}A(;V6G*09xhey2RS#_?kAqoT0-!XLQ^f(71bBdE;z-Hu+tml{G?U`I;I zXbH;{JG`T4{-VNbZAxsy^^UpwS!3ipreS=PurcncvbW8MHPIO9DsK#pYPk!YsWEOZ#p$^E#x3W>M6P_>&8zktxQJ4^lFVl3rCBzZ|J6r{Rs0&vQM~8 zJa>94b9spAZR+%PKII~AT^Znu#DRzU)H;NB^E9RCpdPAGGRzyxR(`)S*t1Z-c`X6! zge-$0u(u5x7C>d9w$@dXdMYy{``a5C)n)Z`6|oHP+Sx57tJbqQTLvcfJH$}gB}V!2 zzOKzi`#N0N2crj-r{URHqu$XZ0kwgt^z^av&U>31wU6{;EAQmX{uBl!C2(lwmH$jJ z@epiVl7I_g!`H)+r&+5DMTuDpa76ejKUaBN0p9rfo~gW+x?@q5^pcxi_HDZ{m3g>n zzN^r-j-C0aE(1rb&!h^E`xA@y^_x1c5j9ixEKEs(a>u=Yyl=+-0XiwDVgZcw;Xm`@ zDt8Q(86i5oY+kwEAcpgUAgfeXnabDnj?zco)q0vl<+{H2bu1e*J|}Y+l58SiqJ}eG ziROWotUTi$$WfWWont$*lQ+j#yV}uPtF|HyO&zi#Y^MkJ3cz>i;wb^UL@L$oW_#Xj zP|MNR(L{w{RA7`(Y*};Y!;}@KAW&kvJmYmkt{z7%Z_l+hUH-pog7 zClztwaSln}9DLO#waEh%%y+d5cMj?}T#95jrF7~$k?jyO*hZ5X{igLHL?1h%N@`#s z&*VJfFoqV5^{XzgE!MP6V%;3X9wL+9&gP?`IH%WM1elV%xsWH;wd_$^xNI+1ZzWo~ z&}48FLH>`m*riRB7*)r@nE|bOhGlT{>{+vDE{x8Ecw1CBkpQEnL29gWX{!Z8$M6#Z4igvGL+X1DkFKsls4GP~_s}%vV z)%pfnroprPV+Wg`7<+m0=0*yR!M+Bh1@I5qt4QVO0H=a^)t7G@PECB~|Jr{BHf}Nn&VtisG zVgNFoSm=9Gx{E{Q(v@orW@t|iiGV2Z6^Fht6vYeEmT@4d5xJ#L%^zHY7K>j{z+R#qq)@94@^WZKOLpz}{Qh_%)-ZF z-kKHa@ov|5GAmeb=qbL?tY<43=h_9K`r&(q++-Ltdq`!e2N-xsnfpwrDmN{@m0a(p ztC56@oOnm&Ge>7#!PsY#Ltp49KA|8z?oZxJ<$IDQ6uMnn))zU%k6r8%a9wTASUlmq zT0zhCnHTW%SC^vqOgy$Gx|x~m14z5Q$;)efWlWm3)qL-u zW&@QO>?X>6>UBP#2K+AJXImy3r!o=&haQ+QfYV}7X~A@FA=+b)=ciDxXzaSnhMM2{ z9&u^|*3%3pWzK6N`wG|8M<0fK6M_fE9gw&*d$GYFXhlQ(@`Ea`RgM%HyE{)!rkfBY z?NY1$T{A-mcy)H9r5YMLb=K!p_XrfAa6-FyO4jst!LnYZAYbhQ7n6f*o+iQxH7}MA zov}uxt-rx>8>{cW8(h&5^23@JtwExq0mM~4TTcIHEDi#?PLdZTfVfm5;~sZyKfYG* zxNY))ZPS?+UtyO(hXIv9ijmAp^3t_^6uLt4m$`h!c3n2P0`S&QNW@In9i7mr{|eVh zo84({-it%FV(T|99-WX+%py3kqZ)N!T0u6WOI?y)g~_M5-8-~2CjSlFrhsIO^kJ~lQEiOh@$*hvaIOu67y#DBG{?0?{!L5rx=lJ9@DR7$QSZ@$C zXW|4G$V=Z}WW!--@q6D}mEHq(J<)zh>U*IJdTsQQ%mP5%^IMPWNLRWA((ioOH*4gS zRlf1nlx+7;*Z-HO$n+;Ud1b6b96Jg-+rff+kL zgJ*T^;G(ETyzH*ko=^kn!_5xHJ;@Vg!l#2clO1s;jRpt)N|ymc$nK^)$-tRoyCB}JNiP3>K+gn zgU)B<9idR4K2WG@FG*ZqJW!}R)A^5RbL``RhU4^!l~Nd7wl<=(_s~pzAY#xTXyy-N zFT7s|FSg32GyaG+G{ay@uYi7kNddeOGTvx2bLhFiVGuRw&rx*iRJY%OieEC-@^>2w zss-RsBkV3WD8LEn$ls+r{_wZoV_i!L`k%gcCF~~*kc!2@Wy`>-$&D9oPZ93|qbg8q~dpUzZ)d21Htm;Ul7 z5g%xngepcGnj+vv6k^KyN2L|GLH{82$1g^ifdHBg)4g%XP5ys1qbt6(DM~)Bd3UiP z4&Hul13%gNQ35DJ)qFr{YOv}hU=@6la?yvx@ZW>5p-c5I8=z;~Lm_ZdM@Hc7JC&TC zZ$r1&W8U-$ww|0ov~dLvZ|a6lS<)~W1HXCqtX$=Y@m4jZVFIf}oxK|4?#C&32-R2wOe`9lt$n3g2DH6SSACwZ35BOdR zQ`sSKj&aB8eufc;Lzz*cNVpo?NLo{wQ$ToluoU$1S|*NC(8~ad-0jW75<8&4I@*U=aTZ6)#jxN&2}|hC%=ehHfbkJ z2oWk*brS@$Q@7WGNUi&?u4pDo&&{f6XMezO_T|4y;(Rc4yKyEm^WyhUAJiu1%9kY( z3y;h6Hyrjo?RwvbKJnXmMRcQ{r=c2EHF23dq>ddVx#Tpt>!{5jUhryVcpSg(Ii6v( z-ZXEXaitI5VBwtLYjfEGvny3wkuf5~u`(gD?YC>itx9ETWdX(OnYtFHEc|r%1v4os zGp}pu{yn_?=^6pYUS};^S=a210eJKHmo?(~5};7WL=F9^r;$7#4VjPIci#c2 zaXzBwLSmPMJ}Dz`@59*QAiAnI|E|WKS0~Imv^-MMXXxVQ_F~QA(q}8d*yc#KE9#tn z*Q+OU%b?(JqM7Q6+YR{R>$_*T;?0Pz?q=anA7VpF6GMAC-J;=mfi zwr`i4vuws5xz^qLdBIp3EvE81d>U+8aXZ1dowSnd_NzFj+Lf8g%>4fGrr;x{lQRjb zA+&ga`QlhG?Klx;@bQMt_BZ>^k&V+{9(szh=;B~Yt%Qo~biW(cIvkhhD^?Qpb31OA zbs)2BV{c}AHuQJX;e8ji*%Mpqd7VBhrj%(;oUpRe`bpuFWjkGjz@?0Pc9C6juxgUY zzm_fx;^$%P`SyXPNX@%dW}4+sHtCb)JYN83kHFU;Fi+i){GCd>Su0$ULv+vvIj)R_`egYy6N-Y?`I*-| z7bNZkln1Caz5FSrk}_Vo9(2b?ymPns$uHsK(@?D_e}7Z3XS#KIl3|GATCqi!_HtO5 zPE6#YV;SK(i=N^phLaK#50CzEM4a6di+KpBb?b!X-WLr$ya5X_>?%}+SToDPtmB!m zt~|huDdvxwi!V-?ZNA5-@Rv|gDDyP~oeP*E<)nvc?3 z5^$@YI>x*CgjcAcJ5f(ou~jx7_#-}B>T4HR_zXY&(00D_Rg;KfOSi??jn|90ezKa8 zzG%{R8+>kxH(h}5a@a~@t4zx1#L`y%wCfUyRX`|ME8cRV@Ae@E1*9t%Qs6m zLnn%Jh`0QtlGT0z!E^SkaK(M%R~E!XU!%~KyunZNz1_Pw^wo_YO_A(+U~lV6ttI7+ zpi>-YE?M1H;Rk6OL7?D6udXIB3VN$OUrU%JV8GWslg}QgAiv&{4_GRNc-L%LKDX>l zl&P1B=hMD~Wus~N#hi--+uz~MId=KxwlXv3<8I5m8R$PBO1~0wd!lV%(GEd}p7Aff z{_L2=i?YU*5A2NOt$`5ni$@@x;A2$B*~l~T(j@;p2Z6jEageiJD|r<-O`EL1(~CoH zOm4Jz-;auI*m`4hCNF#J?OnzNLZ+sP30lEt$n?IrU$MjBTEIOPRQgAoDU+|&np{Mb zY<>`&C@h?;qCF#hI*~ai+=u~vu0Q_)9DL|$D#9K&b9W>5x#hQ10WVr?#qr^d?ocGl zyaDrdgtu{y9<1DTBENZAH$^tGx4`J`4ah9NdU#SiQ_g${N_dwI<*R!~< z{VQ92=S~?X?`)xZj(bPO8wJlYZmyFv)aks^W`EVYT{i2}h~cd4iNwqtFNdn3KCQ8l zhx*u|AtPpJzPYBahm%voJxFlo3GWQyt=C|i<+@b;5l1QRWoxZh5ji6bF^tTlY{~4bu)$umP0cq?V=>(eJY`P%j@zsDD#MC7`Chd# z5;z+qeM$KsY&|O>DR)1Rwy^E-^m|qutRX3f0fQ?a!1`C66}qnx{+c|fVISKpl4kD_l$oQRr+#BIg>|J1%{D z0WWPodN*MI2Lr3}$1)`Y?hI+jjKemqis^qr^JA#zj<)dXxszZo@Q@%VF3_U<^bxR@ zyPAfHcf7C8({b!}h_Q6so7GSUxqKdsqiFv}^_!bJWVlPZ?%orIp@1S@Z586#9Qa&b z&y-e|f^vNmqN;uJG1^2rQDuKizwmWGHAlr-e2-0sdS%O-FieGuaieQC(iZQuPnmab zPn{@4U?HEDLUOq`;4E`i>-Tg|C;P2oA2~0PTCBbe3oLD9M&AOtE7HoKTaNL^jQRBx zLBrdM>r9Oqam1Q^QI-9j2zPPH83BEbi<@2j$Bf?;w+tuFWBx2G5WYNIE6D;CnNT) zClBts0;2y*@vy^6PR;DQlsrR}X?hUh9#FtGF(T045cSZ{i%iw`w0H#_hz~YRbv_I| zvGYt*mXroVrVe_eBcAw@Bjj`@#@b}=X{RY9>}<_C-5u3cD|esXv+?a8C2#l)nLzW( zb=1rV?|6_K`R4u$AVrIxO+N_bq?~JV`M+!@$S}K}8y}tAL%%x1p`LDDKk4k)zTEJ# zY)PFi+^Z>c12uxIh5pSf?habt5`#K$bKIhbc~jeAlZF2FqH(3*>k#jRT-2a@fp5YR z?t~Eo(n{Q^iN@!nt=;AG5E303$)nzbJsCZ}FQ-gpw*j=D4ym=ie{= z826bo2lVyB7cEH~_~%2y4~3&b$tUnI+NZ42zugO#G7ofU=B)OGRe^6G{~l%T zm;rEy|B7@hU*sJZ9gh_4%~lW1OiZpjq#_-hGYTvk^qBi9LH<8Cek8y(0mC=Y>heJK z*i!~?5Q6Qe=7yZxSFtBU&Os=D-4@sQ`&HED9;it6@)urWj@#DGo^U+w?T_@h!0@+~ z1RdlY4&ux8)7}prIg!Rz&l!-H1dp)%V^?s%=pIKbE8PT=jDmgn1>wI>cgFc(oXSXA z8#TwkLIC*K$WKA<2KeI4?&W>?iq5^ZdvZsu$D;`TOa(UdRNI4nV-(Gz0Dl_lI@b%Y HJq-CDGsFzo literal 76451 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 CWR|`F diff --git a/modules/console/images/overview.png b/modules/console/images/overview.png index 740b83c3975828ce0896f0c3cf949870f8cfbca4..96042370c53e0160d8b3b53d76abd15a28cff27b 100644 GIT binary patch literal 98685 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

&Rr*eM2&Iq!8#l3Tlf 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

PplM#-LSLM=EW?7U-;28ELPgo)MJX2r1atr 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⪚LeY&SC6})T@mx`4TEZ`&QVF4` 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 diff --git a/modules/console/images/topic.png b/modules/console/images/topic.png index 05a2e23f3badded31eef245d97d3c14f0dc813f2..a9140964388ebe6526225d65535ed45c5fda7483 100644 GIT binary patch literal 98335 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%0D8rtlp1$pBZw+HK_lseH#_dw+TnJt@!+ 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 diff --git a/modules/console/images/user.png b/modules/console/images/user.png index 568a8c0922be403558a9b3c30599ffe63620c369..65b1046cec3fb8b744a2addc853e2949276e50f0 100644 GIT binary patch delta 50161 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 delta 50140 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 O! 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. -include::manage:kubernetes/troubleshooting/k-troubleshoot.adoc[tags=deployment,leveloffset=-1] +include::troubleshoot:partial$errors-and-solutions.adoc[tags=deployment,leveloffset=-1] For more troubleshooting steps, see xref:manage:kubernetes/troubleshooting/k-troubleshoot.adoc[Troubleshoot Redpanda in Kubernetes]. \ No newline at end of file diff --git a/modules/get-started/attachments/single-broker b/modules/get-started/attachments/single-broker new file mode 120000 index 000000000..f41c920cf --- /dev/null +++ b/modules/get-started/attachments/single-broker @@ -0,0 +1 @@ +../test-resources/single-broker \ No newline at end of file diff --git a/modules/get-started/attachments/three-brokers b/modules/get-started/attachments/three-brokers new file mode 120000 index 000000000..aac706a55 --- /dev/null +++ b/modules/get-started/attachments/three-brokers @@ -0,0 +1 @@ +../test-resources/three-brokers \ No newline at end of file diff --git a/modules/get-started/pages/install-beta.adoc b/modules/get-started/pages/install-beta.adoc index 07f22dd71..4cb70201b 100644 --- a/modules/get-started/pages/install-beta.adoc +++ b/modules/get-started/pages/install-beta.adoc @@ -2,7 +2,7 @@ :description: Learn how to install the beta version. :publish-only-during-beta: true -Redpanda beta versions provide users the opportunity to test and share feedback on new features before they're finalized in general availability. Beta versions, like `v{redpanda-beta-version}`, are published to `redpanda-unstable` as release candidate (RC) builds. RC builds are not recommended for production use. +Redpanda beta versions provide users the opportunity to test and share feedback on new features before they're finalized in general availability. Beta versions, like `{redpanda-beta-tag}`, are published to `redpanda-unstable` as release candidate (RC) builds. RC builds are not recommended for production use. To install the beta version, select your environment. @@ -16,7 +16,7 @@ Docker:: + [source,bash,subs="attributes+"] ---- -docker pull docker.redpanda.com/redpandadata/redpanda-unstable:v{redpanda-beta-version} +docker pull docker.redpanda.com/redpandadata/redpanda-unstable:{redpanda-beta-tag} ---- . Create a Docker Compose file with the beta version: @@ -59,7 +59,7 @@ services: - --mode dev-container # enable logs for debugging. - --default-log-level=debug - image: docker.redpanda.com/redpandadata/redpanda-unstable:v{redpanda-beta-version} + image: docker.redpanda.com/redpandadata/redpanda-unstable:{redpanda-beta-tag} container_name: redpanda-0 volumes: - redpanda-0:/var/lib/redpanda/data @@ -72,7 +72,7 @@ services: - 19644:9644 console: container_name: redpanda-console - image: docker.redpanda.com/redpandadata/console:v{latest-console-version} + image: docker.redpanda.com/redpandadata/console:{latest-console-tag} networks: - redpanda_network entrypoint: /bin/sh @@ -158,7 +158,7 @@ Install Redpanda with Helm from the RC build in https://hub.docker.com/r/redpand helm repo add redpanda https://charts.redpanda.com helm install redpanda redpanda/redpanda \ --namespace \ - --create-namespace --set image.repository=docker.redpanda.com/redpandadata/redpanda-unstable --set image.tag=v{redpanda-beta-version} + --create-namespace --set image.repository=docker.redpanda.com/redpandadata/redpanda-unstable --set image.tag={redpanda-beta-tag} ---- -- diff --git a/modules/get-started/pages/licensing/overview.adoc b/modules/get-started/pages/licensing/overview.adoc index 4dba69bd5..5aa89ea99 100644 --- a/modules/get-started/pages/licensing/overview.adoc +++ b/modules/get-started/pages/licensing/overview.adoc @@ -55,7 +55,7 @@ include::get-started:partial$licensing/enterprise-features.adoc[tag=connect] == How Redpanda Console handles licenses -If Redpanda Console cannot find a valid license either locally or in the connected Redpanda cluster, it shuts down. Redpanda Console tries to load a valid license for community or enterprise features at startup in the following order: +If Redpanda Console cannot find a valid license either locally or in the connected Redpanda cluster, it shuts down. Redpanda Console tries to load a valid license at startup in the following order: . From the local configuration file or environment variables. . From the connected Redpanda cluster (if available). diff --git a/modules/get-started/pages/quick-start.adoc b/modules/get-started/pages/quick-start.adoc index 0317142a7..e2e1c8684 100644 --- a/modules/get-started/pages/quick-start.adoc +++ b/modules/get-started/pages/quick-start.adoc @@ -1,8 +1,12 @@ = Redpanda Self-Managed Quickstart :description: Learn how to quickly start working with a local Redpanda cluster. -:page-aliases: install-upgrade:index.adoc, install-upgrade:index/index.adoc, install-upgrade:start-streaming.adoc, quickstart:console-installation, quickstart:quick-start-docker.adoc, quickstart:quick-start-linux.adoc, quickstart:quick-start-macos.adoc, quickstart:quick-start-windows.adoc, getting-started:quick-start-docker.adoc, getting-started:quick-start-linux.adoc, getting-started:quick-start-windows.adoc, getting-started:quick-start-macos.adoc, console:installation.adoc, get-started:quick-start/quick-start-console.adoc, get-started:quick-start/quick-start-macos.adoc, get-started:quick-start/quick-start-linux.adoc, get-started:quick-start/quick-start-docker.adoc, get-started:quickstarts/index.adoc +:page-aliases: install-upgrade:index.adoc, install-upgrade:index/index.adoc, install-upgrade:start-streaming.adoc, quickstart:console-installation, quickstart:quick-start-docker.adoc, quickstart:quick-start-linux.adoc, quickstart:quick-start-macos.adoc, quickstart:quick-start-windows.adoc, getting-started:quick-start-docker.adoc, getting-started:quick-start-linux.adoc, getting-started:quick-start-windows.adoc, getting-started:quick-start-macos.adoc, console:installation.adoc, get-started:quick-start/quick-start-console.adoc, get-started:quick-start/quick-start-macos.adoc, get-started:quick-start/quick-start-linux.adoc, get-started:quick-start/quick-start-docker.adoc :page-categories: Deployment, Development, rpk :env-docker: true +// ========================AUTOMATED TESTS=================================== +// The comments in this file are used to run automated tests of all the documented steps. Tests are run on each pull request to the upstream repository using GitHub Actions. For more details about the testing tool we use, see https://doc-detective.com/. + +// (test start {"id": "quickstart", "description": "Redpanda Self-Managed quickstart"}) {description} @@ -46,7 +50,7 @@ For production environments where you need more resilience, a three-broker setup Single Broker:: + -- -. xref:redpanda-labs:docker-compose:attachment$single-broker/docker-compose.yml[Download] the following `docker-compose.yml` file on your local file system. +. xref:get-started:attachment$single-broker/docker-compose.yml[Download] the following `docker-compose.yml` file on your local file system. + .Reveal the YAML content [%collapsible] @@ -54,10 +58,14 @@ Single Broker:: .`docker-compose.yml` [,yaml,subs="attributes+"] ---- -include::redpanda-labs:docker-compose:attachment$single-broker/docker-compose.yml[] +include::get-started:attachment$single-broker/docker-compose.yml[] ---- ==== +// (step {"action":"runShell", "command": "docker pull docker.redpanda.com/redpandadata/${REDPANDA_DOCKER_REPO:-redpanda}:${REDPANDA_VERSION:-latest} && docker pull docker.redpanda.com/redpandadata/${CONSOLE_DOCKER_REPO:-console}:${REDPANDA_CONSOLE_VERSION:-latest}", "workingDirectory": "../test-resources/single-broker", "timeout": 100000, "exitCodes": [0,1]}) +// (step {"action":"runShell", "command": "docker compose up -d --wait", "workingDirectory": "../test-resources/single-broker", "timeout": 50000, "exitCodes": [0,1]}) +// (step {"action":"wait", "duration": 10000}) + . Run the following in the directory where you saved the `docker-compose.yml` file: + ```bash @@ -77,7 +85,7 @@ Three Brokers:: + -- -. xref:redpanda-labs:docker-compose:attachment$three-brokers/docker-compose.yml[Download] the following `docker-compose.yml` file on your local file system. +. xref:get-started:attachment$three-brokers/docker-compose.yml[Download] the following `docker-compose.yml` file on your local file system. + .Reveal the YAML content [%collapsible] @@ -85,7 +93,7 @@ Three Brokers:: .`docker-compose.yml` [,yaml,subs="attributes+"] ---- -include::redpanda-labs:docker-compose:attachment$three-brokers/docker-compose.yml[] +include::get-started:attachment$three-brokers/docker-compose.yml[] ---- ==== @@ -125,6 +133,9 @@ To use `rpk` inside the Redpanda broker's Docker container: ```bash docker exec -it redpanda-0 rpk cluster info ``` +// (step {"action":"runShell", "command": "rpk profile create quickstart --from-profile rpk-profile.yaml", "workingDirectory": "../test-resources"}) +// (step {"action":"runShell", "command": "rpk cluster info", "workingDirectory": "../test-resources/single-broker"}) + . Create a topic called **chat-room**: + @@ -147,6 +158,7 @@ If you deployed three brokers, you can configure your topics with a replication docker exec -it redpanda-0 rpk topic create chat-room --replicas 3 ``` ==== +// (step {"action":"runShell", "command": "rpk topic create chat-room", "workingDirectory": "../test-resources/single-broker"}) . Produce a message to the topic: + @@ -166,6 +178,8 @@ Example output: ---- Produced to partition 0 at offset 0 with timestamp 1663282629789. ---- +// (step {"action":"runShell", "command": "echo 'Pandas are fabulous!' | rpk topic produce chat-room", "workingDirectory": "../test-resources/single-broker"}) + . Press kbd:[Ctrl + C] to finish producing messages to the topic. @@ -186,6 +200,8 @@ Your message is displayed along with its metadata: "offset": 0 } ``` +// (step {"action":"runShell", "command": "rpk topic consume chat-room --num 1", "output": "/Pandas are fabulous!/", "timeout": 10000}) + To test external connectivity using your local machine: @@ -295,6 +311,10 @@ To delete the volumes along with all your cluster data: docker compose down -v ``` +// (step {"action":"runShell", "command": "rpk profile delete quickstart"}) +// (step {"action":"runShell", "command": "docker compose down -v", "workingDirectory": "../test-resources/single-broker"}) +// (test end) + == Next steps - xref:redpanda-labs:ROOT:index.adoc[Try more examples in Redpanda Labs] diff --git a/modules/get-started/pages/quickstarts.adoc b/modules/get-started/pages/quickstarts.adoc new file mode 100644 index 000000000..c4f0e2204 --- /dev/null +++ b/modules/get-started/pages/quickstarts.adoc @@ -0,0 +1,3 @@ += Redpanda Quickstarts +:description: Get started with Redpanda using these hands-on tutorials. Explore features that demonstrate how Redpanda can power your streaming applications. +:page-layout: index \ No newline at end of file diff --git a/modules/get-started/pages/whats-new.adoc b/modules/get-started/pages/whats-new.adoc index 69df5ca9c..9c52336ee 100644 --- a/modules/get-started/pages/whats-new.adoc +++ b/modules/get-started/pages/whats-new.adoc @@ -15,6 +15,10 @@ For topics with Tiered Storage enabled, you can unmount a topic to safely detach For a Redpanda cluster deployed across multiple availability zones (AZs), xref:develop:produce-data/leader-pinning.adoc[leader pinning] ensures that a topic's partition leaders are geographically closer to clients. Leader pinning can lower networking costs and help guarantee lower latency by routing produce and consume requests to brokers located in certain AZs. +== Debug bundles in Redpanda Console + +You can now xref:troubleshoot:debug-bundle/index.adoc[generate a debug bundle] in Redpanda Console for comprehensive diagnostics. A debug bundle can help debug and diagnose issues with a Redpanda cluster, a broker, or the machines on which the brokers are running. You can use this file to debug issues yourself, or you can send it to the Redpanda support team to help resolve your issue. + == Declarative user and ACL management in Kubernetes Redpanda now supports declarative management of users and access control lists (ACLs) using the new User custom resource with the Redpanda Operator. This feature allows you to: @@ -37,7 +41,7 @@ This release includes several updates to xref:get-started:licensing/overview.ado - *Unified license management in Redpanda Console*: You can now upload and apply a single license key for both Redpanda Console and the connected Redpanda cluster through the Redpanda Console UI. Any existing license key is overridden by the new one. -== New commands +== New commands The following `rpk` commands are new in this version: diff --git a/modules/get-started/test-resources/rpk-profile.yaml b/modules/get-started/test-resources/rpk-profile.yaml new file mode 100644 index 000000000..47f52a08a --- /dev/null +++ b/modules/get-started/test-resources/rpk-profile.yaml @@ -0,0 +1,7 @@ +description: For use with the docker compose file +kafka_api: + brokers: + - 127.0.0.1:19092 +admin_api: + addresses: + - 127.0.0.1:19644 \ No newline at end of file diff --git a/modules/get-started/test-resources/single-broker/docker-compose.yml b/modules/get-started/test-resources/single-broker/docker-compose.yml new file mode 100644 index 000000000..61cae308b --- /dev/null +++ b/modules/get-started/test-resources/single-broker/docker-compose.yml @@ -0,0 +1,74 @@ +name: redpanda-quickstart +networks: + redpanda_network: + driver: bridge +volumes: + redpanda-0: null + redpanda-1: null + redpanda-2: null +services: + ################## + # Redpanda Brokers # + ################## + redpanda-0: + command: + - redpanda + - start + - --kafka-addr internal://0.0.0.0:9092,external://0.0.0.0:19092 + # Address the broker advertises to clients that connect to the Kafka API. + # Use the internal addresses to connect to the Redpanda brokers' + # from inside the same Docker network. + # Use the external addresses to connect to the Redpanda brokers' + # from outside the Docker network. + - --advertise-kafka-addr internal://redpanda-0:9092,external://localhost:19092 + - --pandaproxy-addr internal://0.0.0.0:8082,external://0.0.0.0:18082 + # Address the broker advertises to clients that connect to the HTTP Proxy. + - --advertise-pandaproxy-addr internal://redpanda-0:8082,external://localhost:18082 + - --schema-registry-addr internal://0.0.0.0:8081,external://0.0.0.0:18081 + # Redpanda brokers use the RPC API to communicate with each other internally. + - --rpc-addr redpanda-0:33145 + - --advertise-rpc-addr redpanda-0:33145 + # Mode dev-container uses well-known configuration properties for development in containers. + - --mode dev-container + # Tells Seastar (the framework Redpanda uses under the hood) to use 1 core on the system. + - --smp 1 + - --default-log-level=info + image: docker.redpanda.com/redpandadata/${REDPANDA_DOCKER_REPO:-redpanda}:${REDPANDA_VERSION:-latest} + container_name: redpanda-0 + volumes: + - redpanda-0:/var/lib/redpanda/data + networks: + - redpanda_network + ports: + - 18081:18081 + - 18082:18082 + - 19092:19092 + - 19644:9644 + #################### + # Redpanda Console # + #################### + console: + container_name: redpanda-console + image: docker.redpanda.com/redpandadata/${CONSOLE_DOCKER_REPO:-console}:${REDPANDA_CONSOLE_VERSION:-latest} + networks: + - redpanda_network + entrypoint: /bin/sh + command: -c 'echo "$$CONSOLE_CONFIG_FILE" > /tmp/config.yml; /app/console -config.filepath=${CONFIG_FILEPATH:-/tmp/config.yml}' + volumes: + - ./config:/tmp/config/ + environment: + CONFIG_FILEPATH: ${CONFIG_FILEPATH:-/tmp/config.yml} + CONSOLE_CONFIG_FILE: | + kafka: + brokers: ["redpanda-0:9092"] + schemaRegistry: + enabled: true + urls: ["http://redpanda-0:8081"] + redpanda: + adminApi: + enabled: true + urls: ["http://redpanda-0:9644"] + ports: + - 8080:8080 + depends_on: + - redpanda-0 diff --git a/modules/get-started/test-resources/three-brokers/docker-compose.yml b/modules/get-started/test-resources/three-brokers/docker-compose.yml new file mode 100644 index 000000000..3847ff27a --- /dev/null +++ b/modules/get-started/test-resources/three-brokers/docker-compose.yml @@ -0,0 +1,132 @@ +name: redpanda-quickstart +networks: + redpanda_network: + driver: bridge +volumes: + redpanda-0: null + redpanda-1: null + redpanda-2: null +services: + ################## + # Redpanda Brokers # + ################## + redpanda-0: + command: + - redpanda + - start + - --kafka-addr internal://0.0.0.0:9092,external://0.0.0.0:19092 + # Address the broker advertises to clients that connect to the Kafka API. + # Use the internal addresses to connect to the Redpanda brokers' + # from inside the same Docker network. + # Use the external addresses to connect to the Redpanda brokers' + # from outside the Docker network. + - --advertise-kafka-addr internal://redpanda-0:9092,external://localhost:19092 + - --pandaproxy-addr internal://0.0.0.0:8082,external://0.0.0.0:18082 + # Address the broker advertises to clients that connect to the HTTP Proxy. + - --advertise-pandaproxy-addr internal://redpanda-0:8082,external://localhost:18082 + - --schema-registry-addr internal://0.0.0.0:8081,external://0.0.0.0:18081 + # Redpanda brokers use the RPC API to communicate with each other internally. + - --rpc-addr redpanda-0:33145 + - --advertise-rpc-addr redpanda-0:33145 + # Mode dev-container uses well-known configuration properties for development in containers. + - --mode dev-container + # Tells Seastar (the framework Redpanda uses under the hood) to use 1 core on the system. + - --smp 1 + - --default-log-level=info + image: docker.redpanda.com/redpandadata/${REDPANDA_DOCKER_REPO:-redpanda}:${REDPANDA_VERSION:-latest} + container_name: redpanda-0 + volumes: + - redpanda-0:/var/lib/redpanda/data + networks: + - redpanda_network + ports: + - 18081:18081 + - 18082:18082 + - 19092:19092 + - 19644:9644 + redpanda-1: + command: + - redpanda + - start + - --kafka-addr internal://0.0.0.0:9092,external://0.0.0.0:29092 + - --advertise-kafka-addr internal://redpanda-1:9092,external://localhost:29092 + - --pandaproxy-addr internal://0.0.0.0:8082,external://0.0.0.0:28082 + - --advertise-pandaproxy-addr internal://redpanda-1:8082,external://localhost:28082 + - --schema-registry-addr internal://0.0.0.0:8081,external://0.0.0.0:28081 + - --rpc-addr redpanda-1:33145 + - --advertise-rpc-addr redpanda-1:33145 + - --mode dev-container + - --smp 1 + - --default-log-level=info + - --seeds redpanda-0:33145 + image: docker.redpanda.com/redpandadata/${REDPANDA_DOCKER_REPO:-redpanda}:${REDPANDA_VERSION:-latest} + container_name: redpanda-1 + volumes: + - redpanda-1:/var/lib/redpanda/data + networks: + - redpanda_network + ports: + - 28081:28081 + - 28082:28082 + - 29092:29092 + - 29644:9644 + depends_on: + - redpanda-0 + redpanda-2: + command: + - redpanda + - start + - --kafka-addr internal://0.0.0.0:9092,external://0.0.0.0:39092 + - --advertise-kafka-addr internal://redpanda-2:9092,external://localhost:39092 + - --pandaproxy-addr internal://0.0.0.0:8082,external://0.0.0.0:38082 + - --advertise-pandaproxy-addr internal://redpanda-2:8082,external://localhost:38082 + - --schema-registry-addr internal://0.0.0.0:8081,external://0.0.0.0:38081 + - --rpc-addr redpanda-2:33145 + - --advertise-rpc-addr redpanda-2:33145 + - --mode dev-container + - --smp 1 + - --default-log-level=info + - --seeds redpanda-0:33145 + image: docker.redpanda.com/redpandadata/${REDPANDA_DOCKER_REPO:-redpanda}:${REDPANDA_VERSION:?Set a Redpanda version} + container_name: redpanda-2 + volumes: + - redpanda-2:/var/lib/redpanda/data + networks: + - redpanda_network + ports: + - 38081:38081 + - 38082:38082 + - 39092:39092 + - 39644:9644 + depends_on: + - redpanda-0 + #################### + # Redpanda Console # + #################### + console: + container_name: redpanda-console + image: docker.redpanda.com/redpandadata/${CONSOLE_DOCKER_REPO:-console}:${REDPANDA_CONSOLE_VERSION:-latest} + networks: + - redpanda_network + entrypoint: /bin/sh + command: -c 'echo "$$CONSOLE_CONFIG_FILE" > /tmp/config.yml; /app/console -config.filepath=${CONFIG_FILEPATH:-/tmp/config.yml}' + volumes: + - ./config:/tmp/config/ + environment: + CONFIG_FILEPATH: ${CONFIG_FILEPATH:-/tmp/config.yml} + CONSOLE_CONFIG_FILE: | + kafka: + brokers: ["redpanda-0:9092", "redpanda-1:9092", "redpanda-2:9092"] + schemaRegistry: + enabled: true + urls: ["http://redpanda-0:8081", "http://redpanda-1:8081", "http://redpanda-2:8081"] + redpanda: + adminApi: + enabled: true + urls: ["http://redpanda-0:9644", "http://redpanda-1:9644", "http://redpanda-2:9644"] + ports: + - 8080:8080 + depends_on: + - redpanda-0 + - redpanda-1 + - redpanda-2 diff --git a/modules/manage/pages/cluster-maintenance/cluster-diagnostics.adoc b/modules/manage/pages/cluster-maintenance/cluster-diagnostics.adoc deleted file mode 100644 index 45b76d81c..000000000 --- a/modules/manage/pages/cluster-maintenance/cluster-diagnostics.adoc +++ /dev/null @@ -1,106 +0,0 @@ -= Cluster Diagnostics -:description: Use tools and tests to help diagnose and debug a Redpanda cluster. -:page-categories: Management, Troubleshooting - -This topic provides guides for using tools and tests to help diagnose and debug a Redpanda cluster. - -[[self-test]] -== Disk and network self-test benchmarks - -When anomalous behavior arises in a cluster and you're trying to figure out whether it's caused by faulty hardware (disks, NICs) of a cluster's machines, run xref:reference:rpk/rpk-cluster/rpk-cluster-self-test.adoc[rpk cluster self-test] (self-test) to characterize their performance and compare it with their expected, vendor-specified performance. - -Self-test runs a set of benchmarks to determine the maximum performance of a machine's disks and network connections. For disks, it runs throughput and latency tests by performing concurrent sequential operations. For networks, it selects unique pairs of Redpanda nodes as client/server pairs, then it runs throughput tests between them. Self-test runs each benchmark for a configurable duration, and it returns IOPS, throughput, and latency metrics. - -== Cloud storage tests - -If you use xref:manage:tiered-storage.adoc[Tiered Storage], run self-test to verify that you have configured your cloud storage accounts correctly. - -Self-test performs the following tests to validate cloud storage configuration: - -include::reference:partial$rpk-self-test-cloud-tests.adoc[] - -See the xref:reference:rpk/rpk-cluster/rpk-cluster-self-test-start.adoc[`rpk cluster self-test start`] reference for cloud storage test details. - -== Self-test command examples - -=== Start self-test - -To begin using self-test, run the `self-test start` command. - ----- -rpk cluster self-test start ----- - -For command help, run `rpk cluster self-test start -h`. For additional command flags, see the xref:reference:rpk/rpk-cluster/rpk-cluster-self-test-start.adoc[rpk cluster self-test start] reference. - -Before it starts, `self-test start` asks for your confirmation to run its potentially large workload. - -Example start output: - -[.no-copy] ----- -? Redpanda self-test will run benchmarks of disk and network hardware that will consume significant system resources. Do not start self-test if large workloads are already running on the system. (Y/n) -Redpanda self-test has started, test identifier: "031be460-246b-46af-98f2-5fc16f03aed3", To check the status run: -rpk cluster self-test status ----- - -The `self-test start` command returns immediately, and self-test runs its benchmarks asynchronously. - -=== Check self-test status - -To check on the status of self-test, run the `self-test status` command. - -[,bash] ----- -rpk cluster self-test status ----- - -For command help, run `rpk cluster self-test status -h`. For additional command flags, see the xref:reference:rpk/rpk-cluster/rpk-cluster-self-test-status.adoc[rpk cluster self-test status] reference. - -If benchmarks are currently running, `self-test status` returns a test-in-progress message. - -Example status output: - -[.no-copy] ----- -$ rpk cluster self-test status -Nodes [0 1 2] are still running jobs ----- - -[TIP] -==== -To automate checking the status of self-test, the `status` command can output its results in JSON format by using the `--format=json` option: - -[,bash] ----- -rpk cluster self-test status --format=json ----- - -==== - -If benchmarks have completed, `self-test status` returns their results. - -include::reference:partial$rpk-self-test-descriptions.adoc[] - -.Example status output: test results -include::reference:partial$rpk-self-test-status-output.adoc[] - -=== Stop self-test - -To stop a running self-test, run the `self-test stop` command. - ----- -rpk cluster self-test stop ----- - -Example stop output: - -[.no-copy] ----- -$ rpk cluster self-test stop -All self-test jobs have been stopped ----- - -For command help, run `rpk cluster self-test stop -h`. For additional command flags, see the xref:reference:rpk/rpk-cluster/rpk-cluster-self-test-stop.adoc[rpk cluster self-test stop] reference. - -For more details about self-test, including command flags, see xref:reference:rpk/rpk-cluster/rpk-cluster-self-test.adoc[rpk cluster self-test]. diff --git a/modules/manage/pages/kubernetes/security/authentication/k-authentication.adoc b/modules/manage/pages/kubernetes/security/authentication/k-authentication.adoc index 56df29cc2..1891906b5 100644 --- a/modules/manage/pages/kubernetes/security/authentication/k-authentication.adoc +++ b/modules/manage/pages/kubernetes/security/authentication/k-authentication.adoc @@ -12,7 +12,7 @@ include::manage:partial$authentication.adoc[] This section lists error messages and provides ways to diagnose and solve issues. For more troubleshooting steps, see xref:manage:kubernetes/troubleshooting/k-troubleshoot.adoc[Troubleshoot Redpanda in Kubernetes]. -include::manage:kubernetes/troubleshooting/k-troubleshoot.adoc[tags=sasl] +include::troubleshoot:partial$errors-and-solutions.adoc[tags=sasl] == Next steps diff --git a/modules/manage/pages/kubernetes/security/tls/k-cert-manager.adoc b/modules/manage/pages/kubernetes/security/tls/k-cert-manager.adoc index d76e1601b..9bdfaf44b 100644 --- a/modules/manage/pages/kubernetes/security/tls/k-cert-manager.adoc +++ b/modules/manage/pages/kubernetes/security/tls/k-cert-manager.adoc @@ -426,7 +426,7 @@ include::manage:partial$kubernetes/disable-tls.adoc[leveloffset=+1] Here are some common troubleshooting scenarios and their solutions. For more troubleshooting steps, see xref:manage:kubernetes/troubleshooting/k-troubleshoot.adoc[Troubleshoot Redpanda in Kubernetes]. -include::manage:kubernetes/troubleshooting/k-troubleshoot.adoc[tags=tls;networking] +include::troubleshoot:partial$errors-and-solutions.adoc[tags=tls;networking] == Next steps diff --git a/modules/manage/pages/kubernetes/security/tls/k-secrets.adoc b/modules/manage/pages/kubernetes/security/tls/k-secrets.adoc index ca16c3a99..d99ab3fc3 100644 --- a/modules/manage/pages/kubernetes/security/tls/k-secrets.adoc +++ b/modules/manage/pages/kubernetes/security/tls/k-secrets.adoc @@ -311,7 +311,7 @@ include::manage:partial$kubernetes/disable-tls.adoc[leveloffset=+1] Here are some common troubleshooting scenarios and their solutions. For more troubleshooting steps, see xref:manage:kubernetes/troubleshooting/k-troubleshoot.adoc[Troubleshoot Redpanda in Kubernetes]. -include::manage:kubernetes/troubleshooting/k-troubleshoot.adoc[tags=tls;networking] +include::troubleshoot:partial$errors-and-solutions.adoc[tags=tls;networking] == Next steps diff --git a/modules/manage/pages/kubernetes/troubleshooting/index.adoc b/modules/manage/pages/kubernetes/troubleshooting/index.adoc deleted file mode 100644 index ff6d3f9c0..000000000 --- a/modules/manage/pages/kubernetes/troubleshooting/index.adoc +++ /dev/null @@ -1,5 +0,0 @@ -= Troubleshooting Redpanda in Kubernetes -:description: Learn how to diagnose and troubleshoot problems with Redpanda in Kubernetes. -:page-layout: index -:page-categories: Management, Troubleshooting -:env-kubernetes: true diff --git a/modules/manage/partials/troubleshooting.adoc b/modules/manage/partials/troubleshooting.adoc deleted file mode 100644 index 192e73f15..000000000 --- a/modules/manage/partials/troubleshooting.adoc +++ /dev/null @@ -1,111 +0,0 @@ -//tag::deployment[] -=== A Redpanda Enterprise Edition license is required - -During a Redpanda upgrade, if enterprise features are enabled and a valid Enterprise Edition license is missing, Redpanda logs a warning and aborts the upgrade process on the affected broker. This issue prevents a successful upgrade. - -If you encounter this issue, follow these steps to recover: - -ifdef::env-kubernetes[] -. xref:upgrade:k-rolling-upgrade.adoc#roll-back[Roll back the affected broker to the original version]. -endif::[] -ifndef::env-kubernetes[] -. Roll back the affected broker to the original version. -endif::[] -. Do one of the following: -- xref:get-started:licensing/add-license-redpanda/index.adoc[Apply a valid Redpanda Enterprise Edition license] to the cluster. -- Disable enterprise features. -+ -If you do not have a valid license and want to proceed without using enterprise features, you can disable the enterprise features in your Redpanda configuration. - -. Retry the upgrade. - - -//end::deployment[] - -//tag::tls[] -=== Invalid large response size - -This error appears when your cluster is configured to use TLS, but you don't specify that you are connecting over TLS. - -[.no-copy] ----- -unable to request metadata: invalid large response size 352518912 > limit 104857600; the first three bytes received appear to be a tls alert record for TLS v1.2; is this a plaintext connection speaking to a tls endpoint? ----- - -If you're using rpk, ensure to add the `-X tls.enabled` flag, and any other necessary TLS flags such as the TLS certificate: - -[,bash] ----- -ifdef::env-kubernetes[kubectl exec -c redpanda --namespace -- \] -rpk cluster info -X tls.enabled=true ----- - -For all available flags, see the xref:reference:rpk/index.adoc[rpk command reference]. - -=== Malformed HTTP response - -This error appears when a cluster has TLS enabled, and you try to access the admin API without passing the required TLS parameters. - -[.no-copy] ----- -Retrying POST for error: Post "http://127.0.0.1:9644/v1/security/users": net/http: HTTP/1.x transport connection broken: malformed HTTP response "\x15\x03\x03\x00\x02\x02" ----- - -If you're using rpk, ensure to include the TLS flags. - -For all available flags, see the xref:reference:rpk/index.adoc[rpk command reference]. - -=== x509: certificate signed by unknown authority - -This error appears when the Certificate Authority (CA) that signed your certificates is not trusted by your system. - -Check the following: - -- Ensure you have installed the root CA certificate correctly on your local system. -- If using a self-signed certificate, ensure it is properly configured and included in your system's trust store. -- If you are using a certificate issued by a CA, ensure the issuing CA is included in your system's trust store. -ifdef::env-kubernetes[] -- If you are using cert-manager, ensure it is correctly configured and running properly. -endif::[] -- Check the validity of your certificates. They might have expired. - -=== x509: certificate is not valid for any names - -This error indicates that the certificate you are using is not valid for the specific domain or IP address you are trying to use it with. This error typically occurs when there is a mismatch between the certificate's Subject Alternative Name (SAN) or Common Name (CN) field and the name being used to access the broker. - -To fix this error, you may need to obtain a new certificate that is valid for the specific domain or IP address you are using. Ensure that the certificate's SAN or CN entry matches the name being used, and that the certificate is not expired or revoked. - -=== cannot validate certificate for 127.0.0.1 - -This error appears if you are using a CA certificate when you try to establish an internal connection using localhost. For example: - -``` -unable to request metadata: unable to dial: x509: cannot validate certificate for 127.0.0.1 because it doesn't contain any IP SANs -``` - -To fix this error, you must either specify the URL with a public domain or use self-signed certificates: - -[,bash] ----- -ifdef::env-kubernetes[kubectl exec redpanda-0 -c redpanda --namespace -- \] -rpk cluster info \ --X brokers=: \ --X tls.enabled=true ----- - -//end::tls[] - -//tag::sasl[] -=== Is SASL missing? - -This error appears when you try to interact with a cluster that has SASL enabled without passing a user's credentials. - -[.no-copy] ----- -unable to request metadata: broker closed the connection immediately after a request was issued, which happens when SASL is required but not provided: is SASL missing? ----- - -If you're using rpk, ensure to specify the `-X user`, `-X pass`, and `-X sasl.mechanism` flags. - -For all available flags, see the xref:reference:rpk/index.adoc[rpk command reference]. -//end::sasl[] \ No newline at end of file diff --git a/modules/reference/pages/rpk/rpk-container/rpk-container-start.adoc b/modules/reference/pages/rpk/rpk-container/rpk-container-start.adoc index dbd414930..4858fbdc7 100644 --- a/modules/reference/pages/rpk/rpk-container/rpk-container-start.adoc +++ b/modules/reference/pages/rpk/rpk-container/rpk-container-start.adoc @@ -73,7 +73,7 @@ rpk container start --admin-ports 9644,9645,9646 |-h, --help |- |Help for start. -|--image |string |An arbitrary container Redpanda image to use (default `redpandadata/redpanda:v{full-version}`). +|--image |string |An arbitrary container Redpanda image to use (default `redpandadata/redpanda:{latest-redpanda-tag}`). |--kafka-ports |strings |Kafka protocol ports to listen on; check help text for more information. diff --git a/modules/reference/pages/rpk/rpk-debug/rpk-debug-bundle.adoc b/modules/reference/pages/rpk/rpk-debug/rpk-debug-bundle.adoc index e631f3326..cb6d91316 100644 --- a/modules/reference/pages/rpk/rpk-debug/rpk-debug-bundle.adoc +++ b/modules/reference/pages/rpk/rpk-debug/rpk-debug-bundle.adoc @@ -153,13 +153,15 @@ The files and directories in the diagnostics bundle differ depending on the envi Linux:: + -- -include::reference:partial$bundle-contents-linux.adoc[] +include::reference:partial$bundle-contents.adoc[] -- Kubernetes:: + -- -include::reference:partial$bundle-contents-k8s.adoc[] +:env-kubernetes: true + +include::reference:partial$bundle-contents.adoc[] -- ==== diff --git a/modules/reference/partials/bundle-contents-k8s.adoc b/modules/reference/partials/bundle-contents-k8s.adoc deleted file mode 100644 index 7d51c7379..000000000 --- a/modules/reference/partials/bundle-contents-k8s.adoc +++ /dev/null @@ -1,52 +0,0 @@ -NOTE: Redpanda collects some data from the Kubernetes API. -To communicate with the Kubernetes API, Redpanda requires a ClusterRole attached to the default ServiceAccount for the Pods. -The files and directories that are generated only when the ClusterRole exists are labeled *Requires ClusterRole*. - -|=== -| File or Directory | Description - -| `/admin` -| Cluster and broker configurations, cluster health data, and license key information. + -*Requires ClusterRole*. - -| `/controller` -| Binary-encoded replicated logs that contain the history of configuration changes as well as internal settings. + -Redpanda can replay the events that took place in the cluster to arrive at a similar state. - -| `data-dir.txt` -| Metadata for the Redpanda data directory of the broker on which the `rpk debug bundle` command was executed. - -| `du.txt` -| The disk usage of the data directory of the broker on which the `rpk debug bundle` command was executed, as output by the `du` command. - -| `/k8s` -| Kubernetes manifests for all resources in the given Kubernetes namespace. + -*Requires ClusterRole*. - -| `kafka.json` -| Kafka metadata, such as broker configuration, topic configuration, offsets, groups, and group commits. - -| `/logs` -| Logs of each Pod in the given Kubernetes namespace. + -If `--logs-since` is passed, only the logs within the given timeframe are included. + -*Requires ClusterRole*. - -| `/metrics` -| Prometheus metrics from both the `/metrics` endpoint and the `public_metrics` endpoint. + -One directory for each broker's metrics. + -*Requires ClusterRole*. - -| `ntp.txt` -| The NTP clock delta (using https://www.ntppool.org/en/[`ntppool`] as a reference) and round trip time of the broker on which the `rpk debug bundle` command was executed. - -| `/proc` -| CPU details of the broker on which the `rpk debug bundle` command was executed. + -The directory includes a `cpuinfo` file with CPU information such as processor model, core count, cache size, frequency, as well as an `interrupts` file that contains IRQ distribution across CPU cores. - -| `redpanda.yaml` -| The Redpanda configuration file of the broker on which the `rpk debug bundle` command was executed. + -Sensitive data is removed and replaced with `(REDACTED)`. - -| `resource-usage.json` -| Redpanda resource usage data, such as CPU usage and free memory available. -|=== diff --git a/modules/reference/partials/bundle-contents-linux.adoc b/modules/reference/partials/bundle-contents-linux.adoc deleted file mode 100644 index e7c450886..000000000 --- a/modules/reference/partials/bundle-contents-linux.adoc +++ /dev/null @@ -1,60 +0,0 @@ -NOTE: For some data, Redpanda requires the `rpk debug bundle` command to be run with root privileges. -The names of the files or directories that are generated only with root privileges are labeled *Requires root privileges*. - -[cols="1,1", options="header"] -|=== -|File or Directory |Description - -|`data-dir.txt` -|Metadata for the Redpanda data directory of the broker on which the `rpk debug bundle` command was executed. - -|`dig.txt` -|The DNS information, as output by the `dig` command, using the hosts in the `/etc/resolv.conf` file. - -|`dmidecode.txt` -|The contents of the DMI table (system management BIOS or SMBIOS). + -*Requires root privileges* - -|`du.txt` -|The disk usage of the data directory of the broker on which the `rpk debug bundle` command was executed, as output by the `du` command. - -|`ip.txt` -|Network configuration, as output by the `ip addr` command. - -|`kafka.json` -|Kafka metadata, such as broker configuration, topic configuration, offsets, groups, and group commits. - -|`lspci.txt` -|PCI buses and the devices connected to them. - -|`ntp.txt` -|The NTP clock delta (using https://www.ntppool.org/en/[`ntppool`] as a reference) and round trip time of the broker on which the `rpk debug bundle` command was executed. - -|`/proc` -|CPU details of the broker on which the `rpk debug bundle` command was executed. + -The directory includes a `cpuinfo` file with CPU information such as processor model, core count, cache size, and frequency, as well as an `interrupts` file that contains IRQ distribution across CPU cores. - -|`redpanda.log` -|The Redpanda logs written to journald. If `--logs-since` and/or `--logs-until` are passed, then only the logs within the given timeframe are included. - -|`prometheus-metrics.txt` -|The local broker's Prometheus metrics, fetched through its admin API. - -|`redpanda.yaml` -|The Redpanda configuration file of the broker on which the `rpk debug bundle` command was executed.
Sensitive data is removed and replaced with `(REDACTED)`. - -|`resource-usage.json` -|Redpanda resource usage data, such as CPU usage and free memory available. - -|`ss.txt` -|Data about active sockets, as output by the `ss` command. - -|`syslog.txt` -|The kernel logs ring buffer, as output by the `syslog` command. - -|`top.txt` -|Information about the running processes, as output by the `top` command. Check system processes. - -|`vmstat.txt` -|Virtual memory statistics, as output by the `vmstat` command. -|=== diff --git a/modules/reference/partials/bundle-contents.adoc b/modules/reference/partials/bundle-contents.adoc new file mode 100644 index 000000000..591ca9c4e --- /dev/null +++ b/modules/reference/partials/bundle-contents.adoc @@ -0,0 +1,79 @@ +ifdef::env-kubernetes[] +NOTE: Redpanda collects some data from the Kubernetes API. +To communicate with the Kubernetes API, Redpanda requires a ClusterRole attached to the default ServiceAccount for the Pods. +The files and directories that are generated only when the ClusterRole exists are labeled *Requires ClusterRole*. +endif::[] + +|=== +| File or Directory | Description + +| `/admin` +| Cluster and broker configurations, cluster health data, and license key information. + +ifdef::env-kubernetes[] +*Requires ClusterRole*. +endif::[] + +| `/controller` +| Binary-encoded replicated logs that contain the history of configuration changes as well as internal settings. + +Redpanda can replay the events that took place in the cluster to arrive at a similar state. + +| `data-dir.txt` +| Metadata for the Redpanda data directory of the broker on which the `rpk debug bundle` command was executed. + +ifdef::env-kubernetes[] +| `/k8s` +| Kubernetes manifests for all resources in the given Kubernetes namespace. + +*Requires ClusterRole*. +endif::[] + +| `kafka.json` +| Kafka metadata, such as broker configuration, topic configuration, offsets, groups, and group commits. + +ifndef::env-kubernetes[] +| `redpanda.log` +|Redpanda logs for the broker. + +If `--logs-since` is passed, only the logs within the given timeframe are included. + +endif::[] + +ifdef::env-kubernetes[] +| `/logs` +|Logs from the Pods that run Redpanda in the given Kubernetes namespace. + +If `--logs-since` is passed, only the logs within the given timeframe are included. + +*Requires ClusterRole*. +endif::[] + +| `/metrics` +| Prometheus metrics from both the `/metrics` endpoint and the `public_metrics` endpoint. + +ifdef::env-kubernetes[] +*Requires ClusterRole*. +endif::[] + +| `/proc` +| CPU details of the broker on which the `rpk debug bundle` command was executed. + +The directory includes a `cpuinfo` file with CPU information such as processor model, core count, cache size, frequency, as well as an `interrupts` file that contains IRQ distribution across CPU cores. + +| `redpanda.yaml` +| The Redpanda configuration file of the broker on which the `rpk debug bundle` command was executed. + +Sensitive data is removed and replaced with `(REDACTED)`. + +| `resource-usage.json` +| Redpanda resource usage data, such as CPU usage and free memory available. + +| `/utils` +a| Data from the node on which the broker is running. This directory includes: + +- `du.txt`: The disk usage of the data directory of the broker on which the `rpk debug bundle` command was executed, as output by the `du` command. +- `ntp.txt`: The NTP clock delta (using https://www.ntppool.org/en/[`ntppool`] as a reference) and round trip time of the broker on which the `rpk debug bundle` command was executed. +- `uname.txt`: System information, such as the kernel version, hostname, and architecture, as output by the `uname` command. +ifndef::env-kubernetes[] +- `dig.txt`: The DNS resolution information for the node, as output by the `dig` command. +- `dmidecode.txt`: System hardware information from the node, as output by the the `dmidecode` command. *Requires root privileges*. +- `free.txt`: The amount of free and used memory on the node, as output by the `free` command. +- `ip.txt`: Network interface information, including IP addresses and network configuration, as output by the `ip` command. +- `lspci.txt`: Information about PCI devices on the node, as output by the `lspci` command. +- `ss.txt`: Active socket connections, as output by the `ss` command, showing network connections, listening ports, and more. +- `sysctl.txt`: Kernel parameters of the system, as output by the `sysctl` command. +- `top.txt`: The top processes by CPU and memory usage, as output by the `top` command. +- `vmstat.txt`: Virtual memory statistics, including CPU usage, memory, and IO operations, as output by the `vmstat` command. +endif::[] +|=== diff --git a/modules/shared/partials/enterprise-and-console.adoc b/modules/shared/partials/enterprise-and-console.adoc index 06c96248c..f1698b5e9 100644 --- a/modules/shared/partials/enterprise-and-console.adoc +++ b/modules/shared/partials/enterprise-and-console.adoc @@ -1 +1,3 @@ -This section pertains to Redpanda Console in a self-managed deployment, and this feature requires an xref:get-started:licenses.adoc[Enterprise license]. To upgrade, contact https://redpanda.com/try-redpanda?section=enterprise-trial[Redpanda sales^]. \ No newline at end of file +This section pertains to Redpanda Console in a self-managed deployment, and this feature requires an xref:get-started:licenses.adoc[Enterprise license]. To upgrade, contact https://redpanda.com/try-redpanda?section=enterprise-trial[Redpanda sales^]. + +If Redpanda Console has enterprise features enabled and it cannot find a valid license either in its xref:console:config/enterprise-license.adoc[local configuration] or in the xref:get-started:licensing/add-license-redpanda/index.adoc[connected Redpanda cluster], it shuts down. \ No newline at end of file diff --git a/modules/troubleshoot/pages/cluster-diagnostics/diagnose-issues.adoc b/modules/troubleshoot/pages/cluster-diagnostics/diagnose-issues.adoc new file mode 100644 index 000000000..afa5e0e8f --- /dev/null +++ b/modules/troubleshoot/pages/cluster-diagnostics/diagnose-issues.adoc @@ -0,0 +1,7 @@ += Run Cluster Diagnostics in Linux +:description: Use this guide to diagnose and troubleshoot issues in a Redpanda cluster running in Linux. +:page-aliases: manage:cluster-maintenance/cluster-diagnostics.adoc + +{description} + +include::troubleshoot:partial$cluster-diagnostics.adoc[] \ No newline at end of file diff --git a/modules/troubleshoot/pages/cluster-diagnostics/index.adoc b/modules/troubleshoot/pages/cluster-diagnostics/index.adoc new file mode 100644 index 000000000..9ac521e65 --- /dev/null +++ b/modules/troubleshoot/pages/cluster-diagnostics/index.adoc @@ -0,0 +1,5 @@ += Cluster Diagnostics +:description: Discover tools and tests to diagnose issues in Redpanda clusters across multiple environments. +:page-layout: index + +{description} \ No newline at end of file diff --git a/modules/troubleshoot/pages/cluster-diagnostics/k-diagnose-issues.adoc b/modules/troubleshoot/pages/cluster-diagnostics/k-diagnose-issues.adoc new file mode 100644 index 000000000..236845100 --- /dev/null +++ b/modules/troubleshoot/pages/cluster-diagnostics/k-diagnose-issues.adoc @@ -0,0 +1,7 @@ += Run Cluster Diagnostics in Kubernetes +:env-kubernetes: true +:description: Use this guide to diagnose and troubleshoot issues in a Redpanda cluster running in Kubernetes. + +{description} + +include::troubleshoot:partial$cluster-diagnostics.adoc[] \ No newline at end of file diff --git a/modules/troubleshoot/pages/debug-bundle/generate-debug-bundle.adoc b/modules/troubleshoot/pages/debug-bundle/generate-debug-bundle.adoc new file mode 100644 index 000000000..287804f5d --- /dev/null +++ b/modules/troubleshoot/pages/debug-bundle/generate-debug-bundle.adoc @@ -0,0 +1,7 @@ += Generate a Debug Bundle in Linux +:page-categories: Management, Troubleshooting +:description: pass:q[Use `rpk` or Redpanda Console to generate a debug bundle to diagnose issues yourself, or send it to the Redpanda support team to help resolve your issue.] + +{description} + +include::troubleshoot:partial$debug-bundle.adoc[] \ No newline at end of file diff --git a/modules/troubleshoot/pages/debug-bundle/index.adoc b/modules/troubleshoot/pages/debug-bundle/index.adoc new file mode 100644 index 000000000..5ea32ada3 --- /dev/null +++ b/modules/troubleshoot/pages/debug-bundle/index.adoc @@ -0,0 +1,5 @@ += Generate a Debug Bundle +:description: Generate a ZIP file with data that can help debug and diagnose issues with a Redpanda cluster, a broker, or the machines on which the brokers are running. +:page-layout: index + +{description} \ No newline at end of file diff --git a/modules/troubleshoot/pages/debug-bundle/k-generate-debug-bundle.adoc b/modules/troubleshoot/pages/debug-bundle/k-generate-debug-bundle.adoc new file mode 100644 index 000000000..7023eaa25 --- /dev/null +++ b/modules/troubleshoot/pages/debug-bundle/k-generate-debug-bundle.adoc @@ -0,0 +1,9 @@ += Generate a Debug Bundle in Kubernetes +:page-aliases: manage:kubernetes/troubleshooting/diagnostics-bundle.adoc, manage:kubernetes/troubleshooting/k-diagnostics-bundle.adoc +:page-categories: Management, Troubleshooting +:env-kubernetes: true +:description: pass:q[Use `rpk` or Redpanda Console to generate a debug bundle to diagnose issues yourself, or send it to the Redpanda support team to help resolve your issue.] + +{description} + +include::troubleshoot:partial$debug-bundle.adoc[] \ No newline at end of file diff --git a/modules/troubleshoot/pages/errors-solutions/index.adoc b/modules/troubleshoot/pages/errors-solutions/index.adoc new file mode 100644 index 000000000..23d960396 --- /dev/null +++ b/modules/troubleshoot/pages/errors-solutions/index.adoc @@ -0,0 +1,5 @@ += Error Messages and Solutions +:description: Find solutions to common Redpanda errors, including error messages, explanations, and troubleshooting steps for Linux and Kubernetes deployments. +:page-layout: index + +{description} diff --git a/modules/troubleshoot/pages/errors-solutions/k-resolve-errors.adoc b/modules/troubleshoot/pages/errors-solutions/k-resolve-errors.adoc new file mode 100644 index 000000000..b78a03cfd --- /dev/null +++ b/modules/troubleshoot/pages/errors-solutions/k-resolve-errors.adoc @@ -0,0 +1,12 @@ += Resolve Errors in Kubernetes +:description: This section describes errors or issues you might encounter while deploying Redpanda in Kubernetes and explains how to troubleshoot them. +:page-categories: Management, Troubleshooting +:page-aliases: manage:kubernetes/troubleshooting/troubleshoot.adoc, manage:kubernetes/troubleshooting/k-troubleshoot.adoc +:page-categories: Management, Troubleshooting +:env-kubernetes: true +:include-categories: true + +{description} + +include::troubleshoot:partial$errors-and-solutions.adoc[] + diff --git a/modules/troubleshoot/pages/errors-solutions/resolve-errors.adoc b/modules/troubleshoot/pages/errors-solutions/resolve-errors.adoc new file mode 100644 index 000000000..ef9793ff5 --- /dev/null +++ b/modules/troubleshoot/pages/errors-solutions/resolve-errors.adoc @@ -0,0 +1,8 @@ += Resolve Errors in Linux +:description: This section describes errors or issues you might encounter while deploying Redpanda in Linux and explains how to troubleshoot them. +:page-categories: Management, Troubleshooting +:include-categories: true + +{description} + +include::troubleshoot:partial$errors-and-solutions.adoc[] \ No newline at end of file diff --git a/modules/troubleshoot/pages/index.adoc b/modules/troubleshoot/pages/index.adoc new file mode 100644 index 000000000..3a6d892d7 --- /dev/null +++ b/modules/troubleshoot/pages/index.adoc @@ -0,0 +1,7 @@ += Troubleshoot Redpanda +:description: Find advice on diagnosing issues and handling errors when using Redpanda. +:page-layout: index +:page-categories: Management, Troubleshooting +:page-aliases: manage:kubernetes/troubleshooting/index.adoc + +Use these guides to troubleshoot Redpanda. Navigate through cluster diagnostics for specific environments or see the list of error messages and solutions. diff --git a/modules/troubleshoot/partials/cluster-diagnostics.adoc b/modules/troubleshoot/partials/cluster-diagnostics.adoc new file mode 100644 index 000000000..7c8f8bb81 --- /dev/null +++ b/modules/troubleshoot/partials/cluster-diagnostics.adoc @@ -0,0 +1,372 @@ +ifdef::env-kubernetes[] +:link-errors: troubleshoot:errors-solutions/k-resolve-errors.adoc +:link-bundle: troubleshoot:debug-bundle/k-generate-debug-bundle.adoc +endif::[] +ifndef::env-kubernetes[] +:link-errors: troubleshoot:errors-solutions/resolve-errors.adoc +:link-bundle: troubleshoot:debug-bundle/generate-debug-bundle.adoc +endif::[] + +ifdef::env-kubernetes[] +== Prerequisites + +Before troubleshooting Redpanda, ensure that Kubernetes isn't the cause of the issue. For information about debugging applications in a Kubernetes cluster, see the https://kubernetes.io/docs/tasks/debug/[Kubernetes documentation^]. +endif::[] + +== Collect all debugging data + +For a comprehensive diagnostic snapshot, generate a debug bundle that collects detailed data for cluster, broker, or node analysis. + +See xref:{link-bundle}[] for details on generating a debug bundle. + +ifdef::env-kubernetes[] +== View Helm chart configuration + +To check the overrides that were applied to your deployment: + +[,bash] +---- +helm get values --namespace +---- + +If you're using the Redpanda Operator, the chart name matches the name of your Redpanda resource. + +To check all the values that were set in the Redpanda Helm chart, including any overrides: + +[,bash] +---- +helm get values --namespace --all +---- + +== View recent events + +To understand the latest events that occurred in your Redpanda cluster's namespace, you can sort events by their creation timestamp: + +[,bash] +---- +kubectl get events --namespace --sort-by='.metadata.creationTimestamp' +---- + +== View Redpanda logs + +Logs are crucial for monitoring and troubleshooting your Redpanda clusters. Redpanda brokers output logs to STDOUT, making them accessible via `kubectl`. + +To access logs for a specific Pod: + +. List all Pods to find the names of those that are running Redpanda brokers: ++ +[source,bash] +---- +kubectl get pods --namespace +---- + +. View logs for a particular Pod by replacing `` with the name of your Pod: ++ +[source,bash] +---- +kubectl logs --namespace +---- ++ +[TIP] +==== +For a comprehensive overview, you can view aggregated logs from all Pods in the StatefulSet: + +[,bash] +---- +kubectl logs --namespace -l app.kubernetes.io/component=redpanda-statefulset +---- +==== + +=== Change the default log level + +To change the default log level for all Redpanda subsystems, use the `logging.logLevel` configuration. Valid values are `trace`, `debug`, `info`, `warn`, `error`. + +Changing the default log level to `debug` can provide more detailed logs for diagnostics. This logging level increases the volume of generated logs. + +NOTE: To set different log levels for individual subsystems, see <>. + +[tabs] +====== +Helm + Operator:: ++ +-- +Apply the new log level: + +.`redpanda-cluster.yaml` +[source,yaml] +---- +apiVersion: cluster.redpanda.com/v1alpha2 +kind: Redpanda +metadata: + name: redpanda +spec: + chartRef: {} + clusterSpec: + logging: + logLevel: debug +---- + +Then, apply this configuration: + +[source,bash] +---- +kubectl apply -f redpanda-cluster.yaml --namespace +---- +-- + +Helm:: ++ +-- +Choose between using a custom values file or setting values directly: +[tabs] +==== +--values:: ++ +Specify logging settings in `logging.yaml`, then upgrade: ++ +.`logging.yaml` +[source,yaml] +---- +logging: + logLevel: debug +---- ++ +[source,bash] +---- +helm upgrade --install redpanda redpanda/redpanda --namespace --create-namespace \ + --values logging.yaml --reuse-values +---- +--set:: ++ +Directly set the log level during upgrade: ++ +[source,bash] +---- +helm upgrade --install redpanda redpanda/redpanda --namespace --create-namespace \ + --set logging.logLevel=debug +---- +==== +-- +====== + +After applying these changes, verify the log level by <> for the Redpanda Pods. + +=== Override the default log level for Redpanda subsystems + +You can override the log levels for individual subsystems, such as `rpc` and `kafka`, for more detailed logging control. Overrides exist for the entire length of the running Redpanda process. + +TIP: To temporarily override the log level for individual subsystems, you can use the xref:reference:rpk/rpk-redpanda/rpk-redpanda-admin-config-log-level-set.adoc[`rpk redpanda admin config log-level set`] command. + +. List all available subsystem loggers: ++ +[source,bash] +---- +kubectl exec -it --namespace -c redpanda -- rpk redpanda start --help-loggers +---- + +. Set the log level for one or more subsystems. In this example, the `rpc` and `kafka` subsystem loggers are set to `debug`. ++ +[tabs] +====== +Helm + Operator:: ++ +-- +Apply the new log level: + +.`redpanda-cluster.yaml` +[source,yaml] +---- +apiVersion: cluster.redpanda.com/v1alpha2 +kind: Redpanda +metadata: + name: redpanda +spec: + chartRef: {} + clusterSpec: + statefulset: + additionalRedpandaCmdFlags: + - '--logger-log-level=rpc=debug:kafka=debug' +---- + +Then, apply this configuration: + +[source,bash] +---- +kubectl apply -f redpanda-cluster.yaml --namespace +---- +-- + +Helm:: ++ +-- +Choose between using a custom values file or setting values directly: +[tabs] +==== +--values:: ++ +Specify logging settings in `logging.yaml`, then upgrade: ++ +.`logging.yaml` +[source,yaml] +---- +statefulset: + additionalRedpandaCmdFlags: + - '--logger-log-level=rpc=debug:kafka=debug' +---- ++ +[source,bash] +---- +helm upgrade --install redpanda redpanda/redpanda --namespace --create-namespace \ + --values logging.yaml --reuse-values +---- +--set:: ++ +Directly set the log level during upgrade: ++ +[source,bash] +---- +helm upgrade --install redpanda redpanda/redpanda --namespace --create-namespace \ + --set statefulset.additionalRedpandaCmdFlags="{--logger-log-level=rpc=debug:kafka=debug}" +---- +==== +-- +====== + +Overriding the log levels for specific subsystems provides enhanced visibility into Redpanda's internal operations, facilitating better debugging and monitoring. + +== View Redpanda Operator logs + +To learn what's happening with the Redpanda Operator and the associated Redpanda resources, you can inspect a combination of Kubernetes events and the resource manifests. By monitoring these events and resources, you can troubleshoot any issues that arise during the lifecycle of a Redpanda deployment. + +[,bash] +---- +kubectl logs -l app.kubernetes.io/name=operator -c manager --namespace +---- + +=== Inspect Helm releases + +The Redpanda Operator uses Flux to deploy the Redpanda Helm chart. By inspecting the `helmreleases.helm.toolkit.fluxcd.io` resource, you can get detailed information about the Helm installation process for your Redpanda resource: + +[,bash] +---- +kubectl get helmreleases.helm.toolkit.fluxcd.io -o yaml --namespace +---- + +To check the Redpanda resource: + +[,bash] +---- +kubectl get redpandas.cluster.redpanda.com -o yaml --namespace +---- + +In both the HelmRelease and the Redpanda resource, the condition section reveals the ongoing status of the Helm installation. These conditions provide information on the success, failure, or pending status of various operations. +endif::[] + +[[self-test]] +== Self-test benchmarks + +When anomalous behavior arises in a cluster, you can determine if it's caused by issues with hardware, such as disk drives or network interfaces (NICs) by running xref:reference:rpk/rpk-cluster/rpk-cluster-self-test.adoc[`rpk cluster self-test`] to assess their performance and compare it to vendor specifications. + +The `rpk cluster self-test` command runs a set of benchmarks to gauge the maximum performance of a machine's disks and network connections: + +* **Disk tests**: Measures throughput and latency by performing concurrent sequential operations. +* **Network tests**: Selects unique pairs of Redpanda brokers as client/server pairs and runs throughput tests between them. + +Each benchmark runs for a configurable duration and returns IOPS, throughput, and latency metrics. This helps you determine if hardware performance aligns with expected vendor specifications. + +=== Cloud storage tests + +You can also use the self-test command to confirm your cloud storage is configured correctly for xref:manage:tiered-storage.adoc[Tiered Storage]. + +Self-test performs the following checks to validate cloud storage configuration: + +include::reference:partial$rpk-self-test-cloud-tests.adoc[] + +For more information on cloud storage test details, see the xref:reference:rpk/rpk-cluster/rpk-cluster-self-test-start.adoc[`rpk cluster self-test start`] reference. + +=== Start self-test + +To start using self-test, run the `self-test start` command. Only initiate `self-test start` when system resources are available, as this operation can be resource-intensive. + +[,bash] +---- +rpk cluster self-test start +---- + +For command help, run `rpk cluster self-test start -h`. For additional command flags, see the xref:reference:rpk/rpk-cluster/rpk-cluster-self-test-start.adoc[rpk cluster self-test start] reference. + +Before `self-test start` begins, it requests your confirmation to run its potentially large workload. + +Example start output: + +[.no-copy] +---- +? Redpanda self-test will run benchmarks of disk and network hardware that will consume significant system resources. Do not start self-test if large workloads are already running on the system. (Y/n) +Redpanda self-test has started, test identifier: "031be460-246b-46af-98f2-5fc16f03aed3", To check the status run: +rpk cluster self-test status +---- + +The `self-test start` command returns immediately, and self-test runs its benchmarks asynchronously. + +=== Check self-test status + +To check the status of self-test, run the `self-test status` command. + +[,bash] +---- +rpk cluster self-test status +---- + +For command help, run `rpk cluster self-test status -h`. For additional command flags, see the xref:reference:rpk/rpk-cluster/rpk-cluster-self-test-status.adoc[rpk cluster self-test status] reference. + +If benchmarks are currently running, `self-test status` returns a test-in-progress message. + +Example status output: + +[.no-copy] +---- +$ rpk cluster self-test status +Nodes [0 1 2] are still running jobs +---- + +[TIP] +==== +The `status` command can output results in JSON format for automated checks or script integration. Use the `--format=json` option: + +[,bash] +---- +rpk cluster self-test status --format=json +---- +==== + +If benchmarks have completed, `self-test status` returns their results. + +include::reference:partial$rpk-self-test-descriptions.adoc[] + +.Example status output: test results +include::reference:partial$rpk-self-test-status-output.adoc[] + +=== Stop self-test + +To stop a running self-test, run the `self-test stop` command. + +[,bash] +---- +rpk cluster self-test stop +---- + +Example stop output: + +[.no-copy] +---- +$ rpk cluster self-test stop +All self-test jobs have been stopped +---- + +For command help, run `rpk cluster self-test stop -h`. For additional command flags, see the xref:reference:rpk/rpk-cluster/rpk-cluster-self-test-stop.adoc[rpk cluster self-test stop] reference. + +For more details about self-test, including command flags, see xref:reference:rpk/rpk-cluster/rpk-cluster-self-test.adoc[rpk cluster self-test]. + +== Next steps + +Learn how to xref:{link-errors}[resolve common errors]. \ No newline at end of file diff --git a/modules/manage/pages/kubernetes/troubleshooting/k-diagnostics-bundle.adoc b/modules/troubleshoot/partials/debug-bundle.adoc similarity index 85% rename from modules/manage/pages/kubernetes/troubleshooting/k-diagnostics-bundle.adoc rename to modules/troubleshoot/partials/debug-bundle.adoc index cf9b40aee..a9c431414 100644 --- a/modules/manage/pages/kubernetes/troubleshooting/k-diagnostics-bundle.adoc +++ b/modules/troubleshoot/partials/debug-bundle.adoc @@ -1,20 +1,14 @@ -= Diagnostics Bundles in Kubernetes -:description: Use the diagnostics bundle to debug issues yourself, or you can send it to the Redpanda support team to help resolve your issue. -:tags: ["Kubernetes"] -:page-aliases: manage:kubernetes/troubleshooting/diagnostics-bundle.adoc -:page-categories: Management, Troubleshooting -:env-kubernetes: true - -A diagnostics bundle is a ZIP file with data that can help debug and diagnose issues with a Redpanda cluster, a broker, or the machines on which the brokers are running. You can use this file to debug issues yourself, or you can send it to the Redpanda support team to help resolve your issue. - +ifndef::env-kubernetes[] == Prerequisites -Most files in the diagnostics bundle are JSON files. To make it easier to read these files, this guide uses jq. To install jq, see the https://stedolan.github.io/jq/download/[jq downloads page^]. +You must have xref:get-started:rpk-install.adoc[`rpk` installed] on your host machine. +endif::[] -These examples use the default values in Helm chart. If you've customized the Helm chart, you may need to provide custom values and/or flags. +== Generate a debug bundle with `rpk` -== Generate a diagnostics bundle +To generate a debug bundle with `rpk`, you can run the xref:reference:rpk/rpk-debug/rpk-debug-bundle.adoc[`rpk debug bundle`] command on each broker in the cluster. +ifdef::env-kubernetes[] . Create a ClusterRole to allow Redpanda to collect information from the Kubernetes API: + [tabs] @@ -85,23 +79,37 @@ If you aren't using the Helm chart, you can create the ClusterRole manually: kubectl create clusterrolebinding redpanda --clusterrole=view --serviceaccount=redpanda:default ``` ==== +endif::[] -. Execute the xref:reference:rpk/rpk-debug/rpk-debug-bundle.adoc[`rpk debug bundle`] command inside a Pod container that's running a Redpanda broker. -+ -In this example, the command is executed on a Pod called `redpanda-0`. + +. Execute the xref:reference:rpk/rpk-debug/rpk-debug-bundle.adoc[`rpk debug bundle`] command on a broker: + -```bash -kubectl exec -it --namespace redpanda-0 -c redpanda -- rpk debug bundle -``` +[,bash] +---- +ifdef::env-kubernetes[] +kubectl exec -it --namespace redpanda-0 -c redpanda -- rpk debug bundle --namespace +endif::[] +ifndef::env-kubernetes[] +rpk debug bundle +endif::[] +---- + If you have an upload URL from the Redpanda support team, -provide it in the `--upload-url` flag to upload your diagnostics bundle to Redpanda. +provide it in the `--upload-url` flag to upload your debug bundle to Redpanda. + -```bash +[,bash] +---- +ifdef::env-kubernetes[] kubectl exec -it --namespace redpanda-0 -c redpanda -- rpk debug bundle \ --upload-url \ --namespace -``` +endif::[] +ifndef::env-kubernetes[] +rpk debug bundle \ + --upload-url +endif::[] + +---- + Example output: + @@ -112,45 +120,60 @@ Creating bundle file... Debug bundle saved to "/var/lib/redpanda/1675440652-bundle.zip" ---- -. On your host machine, make a directory in which to save the diagnostics bundle: + +. On your host machine, make a directory in which to save the debug bundle: + ```bash -mkdir diagnostics-bundle +mkdir debug-bundle ``` -. Copy the diagnostics bundle from the Pod to your host machine: +. Copy the debug bundle ZIP file to the `debug-bundle` directory on your host machine. +ifdef::env-kubernetes[] + Replace `` with the name of your ZIP file. + ```bash -kubectl cp redpanda/redpanda-0:/var/lib/redpanda/ diagnostics-bundle/ +kubectl cp /redpanda-0:/var/lib/redpanda/ debug-bundle/.zip ``` +endif::[] . Unzip the file on your host machine. + ```bash -cd diagnostics-bundle -unzip +cd debug-bundle +unzip .zip ``` -. Remove the diagnostics bundle from the Redpanda container: +. Remove the debug bundle from the Redpanda broker: + +[,bash] +---- +ifdef::env-kubernetes[] +kubectl exec redpanda-0 -c redpanda --namespace -- rm /var/lib/redpanda/.zip +endif::[] +ifndef::env-kubernetes[] +rm /var/lib/redpanda/.zip +endif::[] +---- + +When you've finished troubleshooting, remove the debug bundle from your host machine: + ```bash -kubectl exec redpanda-0 -c redpanda --namespace -- rm /var/lib/redpanda/ +rm -r debug-bundle ``` +For a description of the files and directories, see <>. -When you've finished troubleshooting, remove the diagnostics bundle from your host machine: +== Generate a debug bundle with Redpanda Console -```bash -rm -r diagnostics-bundle -``` +See xref:console:ui/generate-bundle.adoc[]. -For a description of the files and directories, see <>. +// tag::inspect[] +== Inspect the debug bundle -== Inspect the diagnostics bundle +After downloading the debug bundle files, you can inspect the contents to debug your cluster. This section provides some useful data points to check while troubleshooting. -This section provides some useful data points to check while troubleshooting. +Most files in the debug bundle are JSON files. To make it easier to read these files, this section uses jq. To install jq, see the https://stedolan.github.io/jq/download/[jq downloads page^]. === View the version of Redpanda on all brokers @@ -160,11 +183,11 @@ cat admin/brokers.json | jq '.[] | .version' Example output: -[,json,role=no-copy] +[,json,role=no-copy,subs=attributes+] ---- -"v23.1.1" -"v23.1.1" -"v23.1.1" +"{latest-redpanda-tag}" +"{latest-redpanda-tag}" +"{latest-redpanda-tag}" ---- === View the maintenance status of all brokers @@ -254,7 +277,7 @@ cat admin/cluster_config.json | jq ``` ==== -=== Check Enterprise license keys +=== Check Enterprise Edition license keys ```bash cat admin/license.json | jq @@ -282,7 +305,7 @@ cat admin/license.json | jq To check the size of the directories and look for anomalies: ```bash -cat du.txt +cat utils/du.txt ``` .Example output @@ -627,14 +650,21 @@ cat kafka.json | jq '.[1:]' === View the Redpanda logs +ifdef::env-kubernetes[] ```bash cat logs/redpanda-0.txt # logs/redpanda-1.txt logs/redpanda-2.txt ``` +endif::[] +ifndef::env-kubernetes[] +```bash +cat redpanda.log +``` +endif::[] === Check for clock drift ```bash -cat ntp.txt | jq +cat utils/ntp.txt | jq ``` Use the output to check for clock drift. For details about how NTP works, see the http://www.ntp.org/ntpfaq/NTP-s-algo.htm[NTP documentation^]. @@ -654,6 +684,7 @@ Use the output to check for clock drift. For details about how NTP works, see th ``` ==== +ifdef::env-kubernetes[] === View Kubernetes manifests ```bash @@ -678,11 +709,15 @@ k8s ``` ==== -== Contents of the diagnostics bundle +endif::[] + +// end::inspect[] + +== Contents of the debug bundle -The diagnostics bundle includes the following files and directories: +The debug bundle includes the following files and directories: -include::reference:partial$bundle-contents-k8s.adoc[] +include::reference:partial$bundle-contents.adoc[] include::shared:partial$suggested-reading.adoc[] diff --git a/modules/manage/pages/kubernetes/troubleshooting/k-troubleshoot.adoc b/modules/troubleshoot/partials/errors-and-solutions.adoc similarity index 68% rename from modules/manage/pages/kubernetes/troubleshooting/k-troubleshoot.adoc rename to modules/troubleshoot/partials/errors-and-solutions.adoc index 5fd9b21ec..8bc74eb67 100644 --- a/modules/manage/pages/kubernetes/troubleshooting/k-troubleshoot.adoc +++ b/modules/troubleshoot/partials/errors-and-solutions.adoc @@ -1,269 +1,12 @@ -= Troubleshoot Redpanda in Kubernetes -:description: Find advice on how to diagnose and troubleshoot issues while deploying Redpanda in Kubernetes. -:tags: ["Kubernetes"] -:page-aliases: manage:kubernetes/troubleshooting/troubleshoot.adoc -:page-categories: Management, Troubleshooting -:env-kubernetes: true +ifdef::env-kubernetes+include-categories[] +== Kubernetes-related issues -This topic provides guidance on how to diagnose and troubleshoot issues with Redpanda deployments in Kubernetes. - -== Prerequisites - -Before troubleshooting Redpanda, ensure that Kubernetes isn't the cause of the issue. For information about debugging applications in a Kubernetes cluster, see the https://kubernetes.io/docs/tasks/debug/[Kubernetes documentation^]. - -== Collect all debugging data - -If you're unsure of what is wrong, you can generate a diagnostics bundle that contains a wide range of data to help debug and diagnose a Redpanda cluster or the nodes on which the brokers are running. - -See xref:./k-diagnostics-bundle.adoc[Diagnostics Bundles in Kubernetes]. - -== View Helm chart configuration - -To check the overrides that were applied to your deployment: - -[,bash] ----- -helm get values --namespace ----- - -If you're using the Redpanda Operator, the chart name matches the name of your Redpanda resource. - -To check all the values that were set in the Redpanda Helm chart, including any overrides: - -[,bash] ----- -helm get values --namespace --all ----- - -== View recent events - -To understand the latest events that occurred in your Redpanda cluster's namespace, you can sort events by their creation timestamp: - -[,bash] ----- -kubectl get events --namespace --sort-by='.metadata.creationTimestamp' ----- - -== View Redpanda logs - -Logs are crucial for monitoring and troubleshooting your Redpanda clusters. Redpanda brokers output logs to STDOUT, making them accessible via `kubectl`. - -To access logs for a specific Pod: - -. List all Pods to find the names of those that are running Redpanda brokers: -+ -[source,bash] ----- -kubectl get pods --namespace ----- - -. View logs for a particular Pod by replacing `` with the name of your Pod: -+ -[source,bash] ----- -kubectl logs --namespace ----- -+ -[TIP] -==== -For a comprehensive overview, you can view aggregated logs from all Pods in the StatefulSet: - -[source,bash] ----- -kubectl logs --namespace -l app.kubernetes.io/component=redpanda-statefulset ----- -==== - -=== Change the default log level - -To change the default log level for all Redpanda subsystems, use the `logging.logLevel` configuration. Valid values are `trace`, `debug`, `info`, `warn`, `error`. - -Changing the default log level to `debug` can provide more detailed logs for diagnostics. This logging level increases the volume of generated logs. - -NOTE: To set different log levels for individual subsystems, see <>. - -[tabs] -====== -Helm + Operator:: -+ --- -Apply the new log level: - -.`redpanda-cluster.yaml` -[source,yaml] ----- -apiVersion: cluster.redpanda.com/v1alpha2 -kind: Redpanda -metadata: - name: redpanda -spec: - chartRef: {} - clusterSpec: - logging: - logLevel: debug ----- - -Then, apply this configuration: - -[source,bash] ----- -kubectl apply -f redpanda-cluster.yaml --namespace ----- --- - -Helm:: -+ --- -Choose between using a custom values file or setting values directly: -[tabs] -==== ---values:: -+ -Specify logging settings in `logging.yaml`, then upgrade: -+ -.`logging.yaml` -[source,yaml] ----- -logging: - logLevel: debug ----- -+ -[source,bash] ----- -helm upgrade --install redpanda redpanda/redpanda --namespace --create-namespace \ - --values logging.yaml --reuse-values ----- ---set:: -+ -Directly set the log level during upgrade: -+ -[source,bash] ----- -helm upgrade --install redpanda redpanda/redpanda --namespace --create-namespace \ - --set logging.logLevel=debug ----- -==== --- -====== - -After applying these changes, verify the log level by <> for the Redpanda Pods. - -=== Override the default log level for Redpanda subsystems - -You can override the log levels for individual subsystems, such as `rpc` and `kafka`, for more detailed logging control. Overrides exist for the entire length of the running Redpanda process. - -TIP: To temporarily override the log level for individual subsystems, you can use the xref:reference:rpk/rpk-redpanda/rpk-redpanda-admin-config-log-level-set.adoc[`rpk-redpanda-admin-config-log-level-set`] command. - -. List all available subsystem loggers: -+ -[source,bash] ----- -kubectl exec -it --namespace -c redpanda -- rpk redpanda start --help-loggers ----- - -. Set the log level for one or more subsystems. In this example, the `rpc` and `kafka` subsystem loggers are set to `debug`. -+ -[tabs] -====== -Helm + Operator:: -+ --- -Apply the new log level: - -.`redpanda-cluster.yaml` -[source,yaml] ----- -apiVersion: cluster.redpanda.com/v1alpha2 -kind: Redpanda -metadata: - name: redpanda -spec: - chartRef: {} - clusterSpec: - statefulset: - additionalRedpandaCmdFlags: - - '--logger-log-level=rpc=debug:kafka=debug' ----- - -Then, apply this configuration: - -[source,bash] ----- -kubectl apply -f redpanda-cluster.yaml --namespace ----- --- - -Helm:: -+ --- -Choose between using a custom values file or setting values directly: -[tabs] -==== ---values:: -+ -Specify logging settings in `logging.yaml`, then upgrade: -+ -.`logging.yaml` -[source,yaml] ----- -statefulset: - additionalRedpandaCmdFlags: - - '--logger-log-level=rpc=debug:kafka=debug' ----- -+ -[source,bash] ----- -helm upgrade --install redpanda redpanda/redpanda --namespace --create-namespace \ - --values logging.yaml --reuse-values ----- ---set:: -+ -Directly set the log level during upgrade: -+ -[source,bash] ----- -helm upgrade --install redpanda redpanda/redpanda --namespace --create-namespace \ - --set statefulset.additionalRedpandaCmdFlags="{--logger-log-level=rpc=debug:kafka=debug}" ----- -==== --- -====== - -Overriding the log levels for specific subsystems provides enhanced visibility into Redpanda's internal operations, facilitating better debugging and monitoring. - -== View Redpanda Operator logs - -To learn what's happening with the Redpanda Operator and the associated Redpanda resources, you can inspect a combination of Kubernetes events and the resource manifests. By monitoring these events and resources, you can troubleshoot any issues that arise during the lifecycle of a Redpanda deployment. - -[,bash] ----- -kubectl logs -l app.kubernetes.io/name=operator -c manager --namespace ----- - -=== Inspect Helm releases - -The Redpanda Operator uses Flux to deploy the Redpanda Helm chart. By inspecting the `helmreleases.helm.toolkit.fluxcd.io` resource, you can get detailed information about the Helm installation process for your Redpanda resource: - -[,bash] ----- -kubectl get helmreleases.helm.toolkit.fluxcd.io -o yaml --namespace ----- - -To check the Redpanda resource: - -[,bash] ----- -kubectl get redpandas.cluster.redpanda.com -o yaml --namespace ----- - -In both the HelmRelease and the Redpanda resource, the condition section reveals the ongoing status of the Helm installation. These conditions provide information on the success, failure, or pending status of various operations. - -== Troubleshoot known issues - -This section describes issues you might encounter while deploying Redpanda in Kubernetes and explains how to troubleshoot them. +This section addresses common issues that may occur when deploying Redpanda in a Kubernetes environment. +endif::[] //tag::deployment[] //tag::deployment-helm-release-not-ready[] +ifdef::env-kubernetes[] === HelmRelease is not ready If you are using the Redpanda Operator, you may see the following message while waiting for a Redpanda custom resource to be deployed: @@ -337,61 +80,6 @@ flux resume helmrelease --namespace ``` //end::deployment-retries-exhausted[] -//tag::crashloopbackoff[] -=== Crash loop backoffs - -If a broker crashes after startup, or gets stuck in a crash loop, it could produce progressively more stored state that uses additional disk space and takes more time for each restart to process. - -To prevent infinite crash loops, the Redpanda Helm chart sets the `crash_loop_limit` node property to 5. The crash loop limit is the number of consecutive crashes that can happen within one hour of each other. After Redpanda reaches this limit, it will not start until its internal consecutive crash counter is reset to zero. In Kubernetes, the Pod running Redpanda remains in a `CrashLoopBackoff` state until its internal consecutive crash counter is reset to zero. - -To troubleshoot a crash loop backoff: - -. Check the Redpanda logs from the most recent crashes: -+ -[,bash] ----- -kubectl logs --namespace ----- -+ -NOTE: Kubernetes retains logs only for the current and the previous instance of a container. This limitation makes it difficult to access logs from earlier crashes, which may contain vital clues about the root cause of the issue. Given these log retention limitations, setting up a centralized logging system is crucial. Systems such as https://grafana.com/docs/loki/latest/[Loki] or https://www.datadoghq.com/product/log-management/[Datadog] can capture and store logs from all containers, ensuring you have access to historical data. - -. Resolve the issue that led to the crash loop backoff. - -. Reset the crash counter to zero to allow Redpanda to restart. You can do any of the following to reset the counter: -+ -- Make changes to any of the following sections in the Redpanda Helm chart to trigger an update: -+ --- -* `config.node` -* `config.tunable` --- -+ -For example: -+ -```yaml -config: - node: - crash_loop_limit: -``` - -- Delete the `startup_log` file in the broker's data directory. -+ -[,bash] ----- -kubectl exec --namespace -- rm /var/lib/redpanda/data/startup_log ----- -+ -NOTE: It might be challenging to execute this command within a Pod that is in a `CrashLoopBackoff` state due to the limited time during which the Pod is available before it restarts. Wrapping the command in a loop might work. - -- Wait one hour since the last crash. The crash counter resets after one hour. - -To avoid future crash loop backoffs and manage the accumulation of small segments effectively: - -* xref:manage:kubernetes/monitoring/k-monitor-redpanda.adoc[Monitor] the size and number of segments regularly. -* Optimize your Redpanda configuration for segment management. -* Consider implementing xref:manage:kubernetes/storage/tiered-storage/k-tiered-storage.adoc[Tiered Storage] to manage data more efficiently. -//end::crashloopbackoff[] - //tag::deployment-pod-pending[] === StatefulSet never rolls out @@ -697,19 +385,104 @@ After clearing the `pending-rollback` state: * *Perform a rollback*: If you need to roll back to a previous release, use `helm rollback ` to revert to a specific, stable release version. //end::pending-rollback[] -include::manage:partial$troubleshooting.adoc[tags=deployment] -//end::deployment[] +endif::[] +ifdef::include-categories[] +== Deployment issues -//tag::tls[] -include::manage:partial$troubleshooting.adoc[tags=tls] +This section addresses common deployment issues encountered during Redpanda setup or upgrades. +endif::[] -=== Redpanda not applying TLS changes +//tag::crashloopbackoff[] +ifdef::env-kubernetes[] +=== Crash loop backoffs -include::manage:partial$kubernetes/tls-update-note.adoc[] +If a broker crashes after startup, or gets stuck in a crash loop, it could produce progressively more stored state that uses additional disk space and takes more time for each restart to process. + +To prevent infinite crash loops, the Redpanda Helm chart sets the `crash_loop_limit` node property to 5. The crash loop limit is the number of consecutive crashes that can happen within one hour of each other. After Redpanda reaches this limit, it will not start until its internal consecutive crash counter is reset to zero. In Kubernetes, the Pod running Redpanda remains in a `CrashLoopBackoff` state until its internal consecutive crash counter is reset to zero. + +To troubleshoot a crash loop backoff: + +. Check the Redpanda logs from the most recent crashes: ++ +[,bash] +---- +kubectl logs --namespace +---- ++ +NOTE: Kubernetes retains logs only for the current and the previous instance of a container. This limitation makes it difficult to access logs from earlier crashes, which may contain vital clues about the root cause of the issue. Given these log retention limitations, setting up a centralized logging system is crucial. Systems such as https://grafana.com/docs/loki/latest/[Loki] or https://www.datadoghq.com/product/log-management/[Datadog] can capture and store logs from all containers, ensuring you have access to historical data. + +. Resolve the issue that led to the crash loop backoff. + +. Reset the crash counter to zero to allow Redpanda to restart. You can do any of the following to reset the counter: ++ +- Make changes to any of the following sections in the Redpanda Helm chart to trigger an update: ++ +-- +* `config.node` +* `config.tunable` +-- ++ +For example: ++ +```yaml +config: + node: + crash_loop_limit: +``` + +- Delete the `startup_log` file in the broker's data directory. ++ +[,bash] +---- +kubectl exec --namespace -- rm /var/lib/redpanda/data/startup_log +---- ++ +NOTE: It might be challenging to execute this command within a Pod that is in a `CrashLoopBackoff` state due to the limited time during which the Pod is available before it restarts. Wrapping the command in a loop might work. + +- Wait one hour since the last crash. The crash counter resets after one hour. + +To avoid future crash loop backoffs and manage the accumulation of small segments effectively: + +* xref:manage:kubernetes/monitoring/k-monitor-redpanda.adoc[Monitor] the size and number of segments regularly. +* Optimize your Redpanda configuration for segment management. +* Consider implementing xref:manage:kubernetes/storage/tiered-storage/k-tiered-storage.adoc[Tiered Storage] to manage data more efficiently. + +endif::[] +//end::crashloopbackoff[] + +=== A Redpanda Enterprise Edition license is required + +During a Redpanda upgrade, if enterprise features are enabled and a valid Enterprise Edition license is missing, Redpanda logs a warning and aborts the upgrade process on the affected broker. This issue prevents a successful upgrade. + +If you encounter this issue, follow these steps to recover: + +ifdef::env-kubernetes[] +. xref:upgrade:k-rolling-upgrade.adoc#roll-back[Roll back the affected broker to the original version]. +endif::[] +ifndef::env-kubernetes[] +. Roll back the affected broker to the original version. +endif::[] +. Do one of the following: +- xref:get-started:licensing/add-license-redpanda/index.adoc[Apply a valid Redpanda Enterprise Edition license] to the cluster. +- Disable enterprise features. ++ +If you do not have a valid license and want to proceed without using enterprise features, you can disable the enterprise features in your Redpanda configuration. + +. Retry the upgrade. + +//end::deployment[] + +ifdef::include-categories[] +ifdef::env-kubernetes[] +== Networking issues + +This section provides insights into diagnosing network-related errors, such as connection timeouts, DNS misconfigurations, and network stability. +endif::[] +endif::[] -//end::tls[] // tag::networking[] +ifdef::env-kubernetes[] === I/O timeout This error appears when your worker nodes are unreachable through the given address. @@ -719,11 +492,105 @@ Check the following: * The address and port are correct. * Your DNS records point to addresses that resolve to your worker nodes. +endif::[] //end::networking[] -//tag::sasl[] -include::manage:partial$troubleshooting.adoc[tags=sasl] +ifdef::include-categories[] +== TLS issues + +This section covers common TLS errors, their causes, and solutions, including certificate issues and correct client configuration. + +endif::[] + +//tag::tls[] +ifdef::env-kubernetes[] +=== Redpanda not applying TLS changes + +include::manage:partial$kubernetes/tls-update-note.adoc[] + +endif::[] + +=== Invalid large response size + +This error appears when your cluster is configured to use TLS, but you don't specify that you are connecting over TLS. + +[.no-copy] +---- +unable to request metadata: invalid large response size 352518912 > limit 104857600; the first three bytes received appear to be a tls alert record for TLS v1.2; is this a plaintext connection speaking to a tls endpoint? +---- + +If you're using `rpk`, ensure to add the `-X tls.enabled` flag, and any other necessary TLS flags such as the TLS certificate: +[,bash] +---- +ifdef::env-kubernetes[kubectl exec -c redpanda --namespace -- \] +rpk cluster info -X tls.enabled=true +---- + +For all available flags, see the xref:reference:rpk/rpk-x-options.adoc[`rpk` options reference]. + +=== Malformed HTTP response + +This error appears when a cluster has TLS enabled, and you try to access the admin API without passing the required TLS parameters. + +[.no-copy] +---- +Retrying POST for error: Post "http://127.0.0.1:9644/v1/security/users": net/http: HTTP/1.x transport connection broken: malformed HTTP response "\x15\x03\x03\x00\x02\x02" +---- + +If you're using `rpk`, ensure to include the TLS flags. + +For all available flags, see the xref:reference:rpk/rpk-x-options.adoc[`rpk` options reference]. + +=== x509: certificate signed by unknown authority + +This error appears when the Certificate Authority (CA) that signed your certificates is not trusted by your system. + +Check the following: + +- Ensure you have installed the root CA certificate correctly on your local system. +- If using a self-signed certificate, ensure it is properly configured and included in your system's trust store. +- If you are using a certificate issued by a CA, ensure the issuing CA is included in your system's trust store. +ifdef::env-kubernetes[] +- If you are using cert-manager, ensure it is correctly configured and running properly. +endif::[] +- Check the validity of your certificates. They might have expired. + +=== x509: certificate is not valid for any names + +This error indicates that the certificate you are using is not valid for the specific domain or IP address you are trying to use it with. This error typically occurs when there is a mismatch between the certificate's Subject Alternative Name (SAN) or Common Name (CN) field and the name being used to access the broker. + +To fix this error, you may need to obtain a new certificate that is valid for the specific domain or IP address you are using. Ensure that the certificate's SAN or CN entry matches the name being used, and that the certificate is not expired or revoked. + +=== cannot validate certificate for 127.0.0.1 + +This error appears if you are using a CA certificate when you try to establish an internal connection using localhost. For example: + +``` +unable to request metadata: unable to dial: x509: cannot validate certificate for 127.0.0.1 because it doesn't contain any IP SANs +``` + +To fix this error, you must either specify the URL with a public domain or use self-signed certificates: + +[,bash] +---- +ifdef::env-kubernetes[kubectl exec redpanda-0 -c redpanda --namespace -- \] +rpk cluster info \ +-X brokers=: \ +-X tls.enabled=true +---- + +//end::tls[] + +ifdef::include-categories[] +== SASL issues + +This section addresses errors related to SASL (Simple Authentication and Security Layer), focusing on connection and authentication problems. + +endif::[] + +//tag::sasl[] +ifdef::env-kubernetes[] === Unable to continue with update: Secret When you use a YAML list to specify superusers, the Helm chart creates a Secret using the value of `auth.sasl.secretRef` as the Secret's name, and stores those superusers in the Secret. If the Secret already exists in the namespace when you deploy Redpanda, the following error is displayed: @@ -737,4 +604,18 @@ To fix this error, ensure that you use only one of the following methods to crea - `auth.sasl.secretRef` - `auth.sasl.users` + +endif::[] +=== Is SASL missing? + +This error appears when you try to interact with a cluster that has SASL enabled without passing a user's credentials. + +[.no-copy] +---- +unable to request metadata: broker closed the connection immediately after a request was issued, which happens when SASL is required but not provided: is SASL missing? +---- + +If you're using `rpk`, ensure to specify the `-X user`, `-X pass`, and `-X sasl.mechanism` flags. + +For all available flags, see the xref:reference:rpk/rpk-x-options.adoc[`rpk` options reference]. //end::sasl[] diff --git a/modules/upgrade/pages/k-rolling-upgrade.adoc b/modules/upgrade/pages/k-rolling-upgrade.adoc index dbea62013..1d7cdc506 100644 --- a/modules/upgrade/pages/k-rolling-upgrade.adoc +++ b/modules/upgrade/pages/k-rolling-upgrade.adoc @@ -313,7 +313,7 @@ Leaderless partitions: [] == Troubleshooting -include::manage:kubernetes/troubleshooting/k-troubleshoot.adoc[tags=deployment] +include::troubleshoot:partial$errors-and-solutions.adoc[tags=deployment] include::shared:partial$suggested-reading.adoc[] diff --git a/modules/upgrade/pages/migrate/kubernetes/helm-to-operator.adoc b/modules/upgrade/pages/migrate/kubernetes/helm-to-operator.adoc index ff19b5a78..c1190f752 100644 --- a/modules/upgrade/pages/migrate/kubernetes/helm-to-operator.adoc +++ b/modules/upgrade/pages/migrate/kubernetes/helm-to-operator.adoc @@ -181,7 +181,7 @@ After completing these steps, the Redpanda Operator is no longer managing your H While the deployment process can sometimes take a few minutes, a prolonged 'not ready' status may indicate an issue. -include::manage:kubernetes/troubleshooting/k-troubleshoot.adoc[tags=deployment] +include::troubleshoot:partial$errors-and-solutions.adoc[tags=deployment] For more troubleshooting steps, see xref:manage:kubernetes/troubleshooting/k-troubleshoot.adoc[Troubleshoot Redpanda in Kubernetes]. diff --git a/modules/upgrade/pages/rolling-upgrade.adoc b/modules/upgrade/pages/rolling-upgrade.adoc index 322a461b9..55a232899 100644 --- a/modules/upgrade/pages/rolling-upgrade.adoc +++ b/modules/upgrade/pages/rolling-upgrade.adoc @@ -68,7 +68,7 @@ Example output: [,bash,subs="attributes+"] ---- -v{full-version} (rev {latest-release-commit}) +{latest-redpanda-tag} (rev {latest-release-commit}) ---- [NOTE] @@ -107,7 +107,7 @@ include::partial$rolling-upgrades/post-upgrade-tasks.adoc[] == Troubleshooting -include::manage:partial$troubleshooting.adoc[tags=deployment] +include::troubleshoot:partial$errors-and-solutions.adoc[tags=deployment] include::shared:partial$suggested-reading.adoc[] diff --git a/package.json b/package.json index 05cc1d704..8929c3254 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "serve": "wds --node-resolve --open / --watch --root-dir docs --port 5002", "start": "cross-env-shell LIVERELOAD=true npx gulp", "test-console-docs": "cd setup-tests && npx doc-detective runTests --input ../modules/console/pages/quickstart.adoc -l debug", + "test-get-started-docs": "cd setup-tests && npx doc-detective runTests --input ../modules/get-started/pages/quick-start.adoc -l debug", "test-docs": "cd setup-tests && npx doc-detective runTests --input ../modules -l debug" }, "dependencies": { diff --git a/setup-tests/fetch-versions-and-rpk.json b/setup-tests/fetch-versions-and-rpk.json index 5e0ee1efb..63b9d3932 100644 --- a/setup-tests/fetch-versions-and-rpk.json +++ b/setup-tests/fetch-versions-and-rpk.json @@ -14,7 +14,11 @@ "setVariables": [ { "name": "REDPANDA_CONSOLE_VERSION", - "regex": ".*" + "regex": "(?<=CONSOLE_VERSION=)(.*)" + }, + { + "name": "CONSOLE_DOCKER_REPO", + "regex": "(?<=CONSOLE_DOCKER_REPO=)(.*)" } ] }, @@ -24,7 +28,11 @@ "setVariables": [ { "name": "REDPANDA_VERSION", - "regex": ".*" + "regex": "(?<=REDPANDA_VERSION=)(.*)" + }, + { + "name": "REDPANDA_DOCKER_REPO", + "regex": "(?<=REDPANDA_DOCKER_REPO=)(.*)" } ] }, diff --git a/setup-tests/redpanda-versions/fetch-console.js b/setup-tests/redpanda-versions/fetch-console.js index 262a25acf..6cf759064 100644 --- a/setup-tests/redpanda-versions/fetch-console.js +++ b/setup-tests/redpanda-versions/fetch-console.js @@ -1,10 +1,32 @@ -const semver = require("semver"); +// Import the version fetcher module +const GetLatestConsoleVersion = require('../../node_modules/@redpanda-data/docs-extensions-and-macros/extensions/version-fetcher/get-latest-console-version.js'); +const yaml = require('../../node_modules/js-yaml/index.js'); +const fs = require('fs'); + const owner = 'redpanda-data'; const repo = 'console'; +const CONSOLE_DOCKER_REPO = 'console' + +function getPrereleaseFromAntora() { + try { + const fileContents = fs.readFileSync('../antora.yml', 'utf8'); + const antoraConfig = yaml.load(fileContents); + return antoraConfig.prerelease === true; + } catch (error) { + console.error("Error reading antora.yml:", error); + return false; + } +} + +// Set beta based on the prerelease field in antora.yml or fallback to environment variable +const beta = getPrereleaseFromAntora() +// GitHub Octokit initialization async function loadOctokit() { const { Octokit } = await import('@octokit/rest'); - if (!process.env.REDPANDA_GITHUB_TOKEN) return new Octokit() + if (!process.env.REDPANDA_GITHUB_TOKEN) { + return new Octokit(); + } return new Octokit({ auth: process.env.REDPANDA_GITHUB_TOKEN, }); @@ -13,28 +35,26 @@ async function loadOctokit() { (async () => { try { const github = await loadOctokit(); - // Fetch the latest 10 releases - const releases = await github.rest.repos.listReleases({ - owner, - repo, - per_page: 10, - }); - // Filter valid semver tags and sort them - const sortedReleases = releases.data - .map(release => release.tag_name.replace(/^v/, '')) - .filter(tag => semver.valid(tag)) - // Sort in descending order to get the highest version first - .sort(semver.rcompare); - - if (sortedReleases.length > 0) { - console.log(sortedReleases[0]); - } else { - console.log("No valid semver releases found."); - process.exit(1) + const results = await Promise.allSettled([ + GetLatestConsoleVersion(github, owner, repo), + ]); + const LatestConsoleVersion = results[0].status === 'fulfilled' ? results[0].value : null; + if (!LatestConsoleVersion) { + throw new Error('Failed to fetch the latest Redpanda version'); } + // Determine the release version based on the beta flag, with a fallback to stable release if RC is null + const latestConsoleReleaseVersion = beta + ? (LatestConsoleVersion.latestBetaRelease + ? LatestConsoleVersion.latestBetaRelease + : `${LatestConsoleVersion.latestStableRelease}`) + : `${LatestConsoleVersion.latestStableRelease}`; + + // Print both version and Docker repo for Doc Detective to capture + console.log(`CONSOLE_VERSION=${latestConsoleReleaseVersion}`); + console.log(`CONSOLE_DOCKER_REPO=${CONSOLE_DOCKER_REPO}`); } catch (error) { console.error(error); - process.exit(1) + process.exit(1); } -})() \ No newline at end of file +})(); \ No newline at end of file diff --git a/setup-tests/redpanda-versions/fetch-redpanda.js b/setup-tests/redpanda-versions/fetch-redpanda.js index 514d346d0..99fc5b0a0 100644 --- a/setup-tests/redpanda-versions/fetch-redpanda.js +++ b/setup-tests/redpanda-versions/fetch-redpanda.js @@ -1,10 +1,36 @@ +// Import the version fetcher module +const GetLatestRedpandaVersion = require('../../node_modules/@redpanda-data/docs-extensions-and-macros/extensions/version-fetcher/get-latest-redpanda-version.js'); +const yaml = require('../../node_modules/js-yaml/index.js'); +const fs = require('fs'); + // Fetch the latest release version from GitHub const owner = 'redpanda-data'; +function getPrereleaseFromAntora() { + try { + const fileContents = fs.readFileSync('../antora.yml', 'utf8'); + const antoraConfig = yaml.load(fileContents); + return antoraConfig.prerelease === true; + } catch (error) { + console.error("Error reading antora.yml:", error); + return false; + } +} + +// Set beta based on the prerelease field in antora.yml or fallback to environment variable +const beta = getPrereleaseFromAntora() +// Conditionally set DOCKER_REPO for subsequent test steps such as the Docker Compose file +if (beta) { + REDPANDA_DOCKER_REPO = 'redpanda-unstable'; +} else { + REDPANDA_DOCKER_REPO = 'redpanda'; +} const repo = 'redpanda'; async function loadOctokit() { const { Octokit } = await import('@octokit/rest'); - if (!process.env.REDPANDA_GITHUB_TOKEN) return new Octokit() + if (!process.env.REDPANDA_GITHUB_TOKEN) { + return new Octokit(); + } return new Octokit({ auth: process.env.REDPANDA_GITHUB_TOKEN, }); @@ -13,22 +39,29 @@ async function loadOctokit() { (async () => { try { const github = await loadOctokit(); - // Fetch the latest release - const release = await github.rest.repos.getLatestRelease({ owner, repo }); - const tag = release.data.tag_name; - latestRedpandaReleaseVersion = tag.replace('v', ''); + const results = await Promise.allSettled([ + GetLatestRedpandaVersion(github, owner, repo), + ]); + + const LatestRedpandaVersion = results[0].status === 'fulfilled' ? results[0].value : null; - // Get reference of the tag - const tagRef = await github.rest.git.getRef({ owner, repo, ref: `tags/${tag}` }); - const releaseSha = tagRef.data.object.sha; + if (!LatestRedpandaVersion) { + throw new Error('Failed to fetch the latest Redpanda version'); + } + // Determine the release version based on the beta flag, with a fallback to stable release if RC is null + const latestRedpandaReleaseVersion = beta + ? (LatestRedpandaVersion.latestRcRelease && LatestRedpandaVersion.latestRcRelease.version + ? LatestRedpandaVersion.latestRcRelease.version + : `${LatestRedpandaVersion.latestRedpandaRelease.version}`) + : `${LatestRedpandaVersion.latestRedpandaRelease.version}`; - // Get the tag object to extract the commit hash - const tagData = await github.rest.git.getTag({ owner, repo, tag_sha: releaseSha }); - latestRedpandaReleaseCommitHash = tagData.data.object.sha.substring(0, 7); + if (!LatestRedpandaVersion.latestRcRelease) REDPANDA_DOCKER_REPO = 'redpanda' - console.log(latestRedpandaReleaseVersion); + // Print both version and Docker repo for Doc Detective to capture + console.log(`REDPANDA_VERSION=${latestRedpandaReleaseVersion}`); + console.log(`REDPANDA_DOCKER_REPO=${REDPANDA_DOCKER_REPO}`); } catch (error) { console.error(error); - process.exit(1) + process.exit(1); } -})() \ No newline at end of file +})(); diff --git a/tools/add-caret-external-links.py b/tools/add-caret-external-links.py index 804d1bfb3..4910d5ef8 100644 --- a/tools/add-caret-external-links.py +++ b/tools/add-caret-external-links.py @@ -40,8 +40,7 @@ def replace_link(match): 'reference\\pages\\k-console-helm-spec.adoc', 'reference\\pages\\crd.adoc', 'reference\\pages\\k-redpanda-helm-spec.adoc', - 'reference\\partials\\bundle-contents-k8s.adoc', - 'reference\\partials\\bundle-contents-linux.adoc' + 'reference\\partials\\bundle-contents.adoc' ] # Function to process all .adoc files in a directory From 0b5d3d45b7ff1ca5f564cbfc0d1a9190a26a681b Mon Sep 17 00:00:00 2001 From: Paulo Borges Date: Tue, 12 Nov 2024 15:57:14 -0300 Subject: [PATCH 13/30] add Tombstone property (#847) --- .../pages/properties/cluster-properties.adoc | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/modules/reference/pages/properties/cluster-properties.adoc b/modules/reference/pages/properties/cluster-properties.adoc index d4a265ab1..70a0fb578 100644 --- a/modules/reference/pages/properties/cluster-properties.adoc +++ b/modules/reference/pages/properties/cluster-properties.adoc @@ -4858,6 +4858,26 @@ Transaction manager's synchronization timeout. Maximum time to wait for internal --- +=== tombstone_retention_ms + +The retention time for tombstone records in a compacted topic. Cannot be enabled at the same time as any of `cloud_storage_enabled`, `cloud_storage_enable_remote_read`, or `cloud_storage_enable_remote_write`. A typical default setting is `86400000`, or 24 hours. + +*Unit:* milliseconds + +*Requires restart:* No + +*Visibility:* `user` + +*Type:* integer + +*Accepted values:* [`1`, `17592186044415`] + +*Default:* `null` + +*Related topics:* xref:manage:cluster-maintenance/compaction-settings.adoc#tombstone-record-removal[Tombstone record removal] + +--- + === topic_fds_per_partition Required file handles per partition when creating topics. From 440bdd47dcb4af6d24db259ee526a0c28132bca1 Mon Sep 17 00:00:00 2001 From: Kat Batuigas <36839689+kbatuigas@users.noreply.github.com> Date: Tue, 12 Nov 2024 14:06:43 -0500 Subject: [PATCH 14/30] Tombstone retention (#829) Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com> --- modules/develop/pages/kafka-clients.adoc | 1 - modules/get-started/pages/whats-new.adoc | 5 ++ .../compaction-settings.adoc | 66 +++++++++++++++++-- .../pages/properties/topic-properties.adoc | 19 ++++++ 4 files changed, 83 insertions(+), 8 deletions(-) diff --git a/modules/develop/pages/kafka-clients.adoc b/modules/develop/pages/kafka-clients.adoc index c149222f8..7294e33e4 100644 --- a/modules/develop/pages/kafka-clients.adoc +++ b/modules/develop/pages/kafka-clients.adoc @@ -54,7 +54,6 @@ ifdef::env-cloud[] endif::[] ifndef::env-cloud[] + -* The `delete.retention.ms` topic configuration in Kafka is not supported. Tombstone markers are not removed for topics with a `compact` xref:develop:config-topics.adoc#change-the-cleanup-policy[cleanup policy]. Redpanda only deletes tombstone markers when topics with a cleanup policy of `compact,delete` have reached their xref:manage:cluster-maintenance/disk-utilization.adoc#configure-message-retention[retention limits]. * Quotas per user for bandwidth and API request rates. However, xref:manage:cluster-maintenance/manage-throughput.adoc#client-throughput-limits[quotas per client and per client group] using AlterClientQuotas and DescribeClientQuotas APIs are supported. endif::[] diff --git a/modules/get-started/pages/whats-new.adoc b/modules/get-started/pages/whats-new.adoc index 9c52336ee..7b974a62b 100644 --- a/modules/get-started/pages/whats-new.adoc +++ b/modules/get-started/pages/whats-new.adoc @@ -7,6 +7,10 @@ This topic includes new content added in version {page-component-version}. For a * xref:redpanda-cloud:get-started:whats-new-cloud.adoc[] * xref:redpanda-cloud:get-started:cloud-overview.adoc#redpanda-cloud-vs-self-managed-feature-compatibility[Redpanda Cloud vs Self-Managed feature compatibility] +== Tombstone removal + +Redpanda now supports the Kafka `delete.retention.ms` topic configuration. You can specify how long Redpanda keeps xref:manage:cluster-maintenance/compaction-settings.adoc#tombstone-record-removal[tombstone records] for compacted topics by setting `delete.retention.ms` at the topic level, or `tombstone_retention_ms` at the cluster level. + == Mountable topics For topics with Tiered Storage enabled, you can unmount a topic to safely detach it from a cluster and keep the topic data in the cluster's object storage bucket or container. You can mount the detached topic to either the same origin cluster, or a different one. This allows you to hibernate a topic and free up system resources taken up by the topic, or migrate a topic to a different cluster. See xref:manage:mountable-topics.adoc[Mountable topics] for details. @@ -58,3 +62,4 @@ The following cluster properties are new in this version: * xref:reference:properties/cluster-properties.adoc#default_leaders_preference[`default_leaders_preference`] * xref:reference:properties/cluster-properties.adoc#rpk_path[`rpk_path`] +* xref:reference:properties/cluster-properties.adoc#tombstone_retention_ms[`tombstone_retention_ms`] diff --git a/modules/manage/pages/cluster-maintenance/compaction-settings.adoc b/modules/manage/pages/cluster-maintenance/compaction-settings.adoc index f537c806a..0dfb0bc8f 100644 --- a/modules/manage/pages/cluster-maintenance/compaction-settings.adoc +++ b/modules/manage/pages/cluster-maintenance/compaction-settings.adoc @@ -6,15 +6,15 @@ Configure compaction for your cluster to optimize storage utilization. == Redpanda compaction overview -Compaction is an optional mechanism intended to reduce the storage needs of Redpanda topics. You can enable compaction through configuration of a cluster or topic's cleanup policy. When compaction is enabled as part of the cleanup policy, a background process executes on a pre-set interval to perform compaction operations. When triggered for a partition, the process purges older versions of messages for a given key and only retains the most recent message in that partition. This is done by analyzing closed segments in the partition, copying the most recent messages for each key into a new segment, then deleting the source segments. +Compaction is an optional mechanism intended to reduce the storage needs of Redpanda topics. You can enable compaction through configuration of a cluster or topic's cleanup policy. When compaction is enabled as part of the cleanup policy, a background process executes on a pre-set interval to perform compaction operations. When triggered for a partition, the process purges older versions of records for a given key and only retains the most recent record in that partition. This is done by analyzing closed segments in the partition, copying the most recent records for each key into a new segment, then deleting the source segments. image::shared:compaction-example.png[Example of topic compaction] -This diagram provides an illustration of a compacted topic. Imagine a remote sensor network that uses image recognition to track appearances of red pandas in a geographic area. The sensor network employs special devices that send messages to a topic when they detect one. You might enable compaction to reduce topic storage while still maintaining a record in the topic of the last time each device saw a red panda, perhaps to see if they stop frequenting a given area. The left side of the diagram shows all messages sent across the topic. The right side illustrates the results of compaction; older messages for certain keys are deleted from the message log. +This diagram illustrates a compacted topic. Imagine a remote sensor network that uses image recognition to track appearances of red pandas in a geographic area. The sensor network employs special devices that send records to a topic when they detect one. You might enable compaction to reduce topic storage while still maintaining a record in the topic of the last time each device saw a red panda, perhaps to see if they stop frequenting a given area. The left side of the diagram shows all records sent across the topic. The right side illustrates the results of compaction; older records for certain keys are deleted from the log. -NOTE: If your application requires consuming every message for a given key, consider using the `delete` xref:develop:config-topics#change-the-cleanup-policy.adoc[cleanup policy] instead. +NOTE: If your application requires consuming every record for a given key, consider using the `delete` xref:develop:config-topics#change-the-cleanup-policy.adoc[cleanup policy] instead. -IMPORTANT: When using Tiered Storage, compaction functions at the local storage level. As long as a segment remains in local storage, its messages are eligible for compaction. Once a segment is uploaded to tiered storage and removed from local storage it is not retrieved for further compaction operations. A key may therefore appear in multiple segments between Tiered Storage and local storage. +IMPORTANT: When using xref:manage:tiered-storage.adoc[Tiered Storage], compaction functions at the local storage level. As long as a segment remains in local storage, its records are eligible for compaction. Once a segment is uploaded to object storage and removed from local storage it is not retrieved for further compaction operations. A key may therefore appear in multiple segments between Tiered Storage and local storage. While compaction reduces storage needs, Redpanda's compaction (just like Kafka's) does not guarantee perfect de-duplication of a topic. It represents a best effort mechanism to reduce storage needs but duplicates of a key may still exist within a topic. Compaction is not a complete topic operation, either, since it operates on subsets of each partition within the topic. @@ -22,9 +22,61 @@ While compaction reduces storage needs, Redpanda's compaction (just like Kafka's Compaction policy may be applied to a cluster or to an individual topic. If both are set, the topic-level policy overrides the cluster-level policy. The cluster-level xref:reference:cluster-properties.adoc#log_cleanup_policy[`log_cleanup_policy`] and the topic-level xref:reference:topic-properties.adoc#cleanuppolicy[`cleanup.policy`] support the following three options: -* `delete`: Messages are deleted from the topic once the specified retention period (time and/or size allocations) is exceeded. This is the default mechanism and is analogous to disabling compaction. -* `compact`: This triggers only cleanup of messages with multiple versions. A message that represents the only version for a given key is not deleted. -* `compact,delete`: This combines both policies, deleting messages exceeding the retention period while compacting multiple versions of messages. +* `delete`: Records are deleted from the topic once the specified retention period (time and/or size allocations) is exceeded. This is the default mechanism and is analogous to disabling compaction. +* `compact`: This triggers only cleanup of records with multiple versions. A record that represents the only version for a given key is not deleted. +* `compact,delete`: This combines both policies, deleting records exceeding the retention period while compacting multiple versions of records. + +== Tombstone record removal + +Compaction also enables deletion of existing records through tombstones. For example, as data is deleted from a source system, clients produce a tombstone record to the log. A tombstone contains a key and the value `null`. Tombstones signal to brokers and consumers that records with the same key prior to it in the log should be deleted. + +You can specify how long Redpanda keeps these tombstones for compacted topics using both a cluster configuration property config_ref:tombstone_retention_ms,true,properties/cluster-properties[] and a topic configuration property xref:reference:properties/topic-properties.adoc#deleteretentionms[`delete.retention.ms`]. If both are set, the topic-level tombstone retention policy overrides the cluster-level policy. + +[NOTE] +==== +Redpanda does not currently remove tombstone records for compacted topics with Tiered Storage enabled. + +You cannot enable `tombstone_retention_ms` if you have enabled any of the Tiered Storage cluster properties `cloud_storage_enabled`, `cloud_storage_enable_remote_read`, and `cloud_storage_enable_remote_write`. + +On the topic level, you cannot enable `delete.retention.ms` at the same time as the Tiered Storage topic configuration properties `redpanda.remote.read` and `redpanda.remote.write`. +==== + +To set the cluster-level tombstone retention policy, run the command: + +[,bash] +---- +rpk cluster config set tombstone_retention_ms=100 +---- + +You can unset the tombstone retention policy for a topic so it inherits the cluster-wide default policy: + +[,bash] +---- +rpk topic alter-config --delete delete.retention.ms +---- + +To override the cluster-wide default for a specific topic: + +[,bash] +---- +rpk topic alter-config --set delete.retention.ms=5 +---- + +To disable tombstone removal for a specific topic: + +[,bash] +---- +rpk topic alter-config --set delete.retention.ms=-1 +---- + +Redpanda removes tombstones as follows: + +* For topics with a `compact` only cleanup policy: Tombstones are removed when the topic exceeds the tombstone retention limit. The `delete.retention.ms` or `tombstone_retention_ms` values therefore also set the time bound that a consumer has in order to see a complete view of the log with tombstones present before they are removed. +* For topics with a `compact,delete` cleanup policy: Both the tombstone retention policy and standard garbage collection can remove tombstone records. + +If obtaining a complete snapshot of the log, including tombstone records, is important to your consumers, set the tombstone retention value such that consumers have enough time for their reads to complete before tombstones are removed. Consumers may not see tombstones if their reads take longer than `delete.retention.ms` and `tombstone_retention_ms`. The trade-offs to ensuring tombstone visibility to consumers are increased disk usage and potentially slower compaction. + +On the other hand, if more frequent cleanup of tombstones is important for optimizing workloads and space management, consider setting a shorter tombstone retention, for example the typical default of 24 hours (86400000 ms). == Compaction policy settings diff --git a/modules/reference/pages/properties/topic-properties.adoc b/modules/reference/pages/properties/topic-properties.adoc index be409c2b9..320beb205 100644 --- a/modules/reference/pages/properties/topic-properties.adoc +++ b/modules/reference/pages/properties/topic-properties.adoc @@ -547,6 +547,25 @@ NOTE: Although `replication.factor` isn't returned or displayed by xref:referenc --- +[[deleteretentionms]] +==== delete.retention.ms + +The retention time for tombstone records in a compacted topic. Redpanda removes tombstone records after the retention limit is exceeded. + +If you have enabled Tiered Storage and set <> or <> for the topic, you cannot enable tombstone removal. + +If both `delete.retention.ms` and the cluster property config_ref:tombstone_retention_ms,true,properties/cluster-properties[] are set, `delete.retention.ms` overrides the cluster level tombstone retention for an individual topic. + +*Unit:* milliseconds + +**Default**: null + +**Related topics**: + +- xref:manage:cluster-maintenance/compaction-settings.adoc#tombstone-record-removal[Tombstone record removal] + +--- + == Related topics - xref:develop:produce-data/configure-producers.adoc[Configure Producers] From 2e4c81c8193d3f724fcf33cc41b9e68672cd0464 Mon Sep 17 00:00:00 2001 From: Joyce Fee <102751339+Feediver1@users.noreply.github.com> Date: Fri, 15 Nov 2024 14:28:00 -0600 Subject: [PATCH 15/30] Doc-476 - Backfill partitioning update (#842) Co-authored-by: Michele Cyran Co-authored-by: Jake Cahill <45230295+JakeSCahill@users.noreply.github.com> --- .../nodewise-partition-recovery.adoc | 54 ++++++++++++++----- 1 file changed, 41 insertions(+), 13 deletions(-) diff --git a/modules/manage/pages/cluster-maintenance/nodewise-partition-recovery.adoc b/modules/manage/pages/cluster-maintenance/nodewise-partition-recovery.adoc index b41ef526c..45aaa593d 100644 --- a/modules/manage/pages/cluster-maintenance/nodewise-partition-recovery.adoc +++ b/modules/manage/pages/cluster-maintenance/nodewise-partition-recovery.adoc @@ -1,28 +1,39 @@ = Node-wise Partition Recovery :description: Feature to recover partitions that have lost a majority of replicas. -Multi-node or entire-AZ failures (especially in cloud environments), and some forms of human error may result in ‘stuck’ partitions with fewer replicas than required to make a quorum. In such failure scenarios, some data loss may be unavoidable. This description of node-wise partition recovery helps admins understand what they can or cannot recover. +Multi-broker or entire glossterm:availability zones[,AZ] failures (especially in cloud environments), along with some forms of human error, can result in ‘stuck’ partitions where there are fewer replicas than required to make a quorum. In such failure scenarios, some data loss may be unavoidable. Node-wise partition recovery provides a way to unsafely recover at least a portion of your data using remaining replicas, which are moved off of target brokers and allocated to healthy ones. In one step, this process repairs partitions while draining the target brokers of all partition replicas. This topic helps admins understand what they can or cannot recover using node-wise partition recovery. -IMPORTANT: This is a last-ditch measure when all other recovery options have failed. In some cases, no remaining replicas may exist for the partitions on the dead nodes. This recovery method is intended for scenarios where you are already experiencing data loss - the goal is to stop the loss of additional data. - -Node-wise partition recovery allows you to unsafely recover at least a portion of your data using whatever replicas are remaining. All replicas are moved off the target nodes and allocated to healthy nodes. In one step, this process repairs partitions while draining the target nodes. +IMPORTANT: Only use this operation as a last-resort measure when all other recovery options have failed. In some cases, there may be no remaining replicas for the partitions on the dead brokers. This recovery method is intended for scenarios where you have already experienced data loss, with the goal being to stop the loss of additional data. == Perform the recovery operation -You perform node-wise partition recovery using the `rpk` command `rpk cluster partitions unsafe-recover`. This command includes an interactive prompt to confirm execution of the generated recovery plan as it is a destructive operation. When you trigger node-wise partition recovery, the partitions on the node are rebuilt in a best-effort basis. As a result of executing this operation, you may lose some data that has not yet been replicated to the surviving partition replicas. +To start node-wise partition recovery, run `rpk cluster partitions unsafe-recover`. For example: + +`rpk cluster partitions unsafe-recover --from-nodes 1,3,5` + +This command includes a prompt to confirm the generated recovery plan, as it is a destructive operation. When you run node-wise partition recovery, the partitions on the broker are rebuilt on a best-effort basis. When there are zero surviving partition replicas, such as a topic with a replication factor of 1 (`RF=1`), partition recovery rebuilds empty partitions with no data (although you may be able to recover the partition from Tiered Storage), allowing producers to continue writing to the partition even though no data can be recovered in such situations. + + +The `--from-nodes` flag accepts a comma-separated list of the brokers' node IDs you wish to recover the data from. This example performs recovery operations on nodes 1, 3, and 5. Redpanda assesses these brokers to identify which partitions lack a majority. It then creates a plan to recover the impacted partitions and prompts you for confirmation. You must respond `yes` to continue with recovery. + +The `--dry` flag performs a dry run and allows you to view the recovery plan with no risk to your cluster. -The syntax for this command is as follows: +[NOTE] +==== +When running node-wise partition recovery, it's possible that there may be more recent data (a higher offset) available in Tiered Storage if: - rpk cluster partitions unsafe-recover --from-nodes 1,3,5 +* Raft replication was stuck or slow before the node failure +* Zero live replicas remain in the cluster (because the partition had a replication factor of one, `RF=1`) -The `--from-nodes` parameter accepts a comma-delineated list of dead node IDs you wish to recover the data from. The above example would perform recovery operations on nodes 1, 3, and 5. Redpanda will assess these nodes to identify which partitions lack majority. It will then create a plan to recover the impacted partitions and prompt you to confirm it. You must respond `yes` to continue with recovery. +For topics configured to use Tiered Storage, Redpanda also attempts to recover partition data from object storage, recovering the latest offset available for a partition in either storage tier (local or object storage). This allows for the maximum amount of data to be recovered in all cases, even for topics with a replication factor of 1, where no replicas remain in local storage. +==== -You may also optionally add the `--dry` parameter to this command. This will perform a dry run and allow viewing the recovery plan with no risk to your cluster. +The recovery operation can take some time to complete, especially for a large amount of data. To monitor the status of the recovery operation in real-time, run: -Once the recovery operation is started, you may monitor the status of its execution using the `rpk cluster partitions balancer-status` command. The recovery operation can take some time to complete, especially when a lot of data is involved. This command allows you to monitor progress in real-time. +`rpk cluster partitions balancer-status` -== Example recovery operation -Here's an example of the recovery process in action. +== Example recovery operations +The following example shows the node-wise partition recovery process in action: ---- $ rpk cluster partitions unsafe-recover --from-nodes 1 @@ -37,4 +48,21 @@ Status: ready Seconds Since Last Tick: 26 Current Reassignment Count: 0 Partitions Pending Recovery (1): [kafka/bar/0] ----- \ No newline at end of file +---- + +The following example shows the status of moved partitions: + +---- +$ rpk cluster partitions move-status +PARTITION MOVEMENTS +=================== +NAMESPACE-TOPIC PARTITION MOVING-FROM MOVING-TO COMPLETION-% PARTITION-SIZE BYTES-MOVED BYTES-REMAINING +kafka/prod_tests 4 [045] [045] 0 56204032205 0 56204032205 +kafka/prod_tests 7 [045] [045] 0 64607340009 0 64607340009 +kafka/prod_tests 12 [014] [014] 0 29074311639 0 29074311639 +kafka/prod_tests 20 [014] [014] 0 29673620476 0 29673620476 +kafka/prod_tests 22 [045] [045] 0 28471089141 0 28471089141 +kafka/prod_tests 23 [045] [045] 0 29692435312 0 29692435312 +kafka/prod_tests 31 [014] [014] 0 66982232299 0 66982232299 +kafka/prod_tests 33 [014] [014] 0 46329276747 0 46329276747 +---- From c121ad3285b62900449b968f8012ab5a79601037 Mon Sep 17 00:00:00 2001 From: Joyce Fee <102751339+Feediver1@users.noreply.github.com> Date: Fri, 15 Nov 2024 15:31:54 -0600 Subject: [PATCH 16/30] Doc 2599 - Configure Redpanda with a Customer-Managed Key (#808) Co-authored-by: JakeSCahill Co-authored-by: Michele Cyran Co-authored-by: Jake Cahill <45230295+JakeSCahill@users.noreply.github.com> --- .../tiered-storage/k-tiered-storage.adoc | 5 +- modules/manage/partials/tiered-storage.adoc | 56 +++++++------ .../partials/tiered-storage/aws-kms-key.adoc | 71 +++++++++++++++++ .../partials/tiered-storage/gcp-kms-key.adoc | 78 +++++++++++++++++++ 4 files changed, 183 insertions(+), 27 deletions(-) create mode 100644 modules/manage/partials/tiered-storage/aws-kms-key.adoc create mode 100644 modules/manage/partials/tiered-storage/gcp-kms-key.adoc diff --git a/modules/manage/pages/kubernetes/tiered-storage/k-tiered-storage.adoc b/modules/manage/pages/kubernetes/tiered-storage/k-tiered-storage.adoc index f4f6eba1b..d21e4a8d6 100644 --- a/modules/manage/pages/kubernetes/tiered-storage/k-tiered-storage.adoc +++ b/modules/manage/pages/kubernetes/tiered-storage/k-tiered-storage.adoc @@ -1,10 +1,9 @@ = Use Tiered Storage in Kubernetes :description: Configure your Redpanda cluster to offload log segments to object storage and save storage costs. -:page-context-links: [{"name": "Linux", "to": "manage:tiered-storage.adoc" },{"name": "Kubernetes", "to": "manage:kubernetes/storage/tiered-storage/k-tiered-storage.adoc" } ] :page-categories: Management, High Availability, Data Replication :env-kubernetes: true -:tags: ["Kubernetes", "Helm configuration"] +:page-toclevels: 4 :page-aliases: manage:kubernetes/tiered-storage.adoc, manage:kubernetes/storage/tiered-storage.adoc, manage:kubernetes/data-archiving.adoc, manage:kubernetes/storage/data-archiving.adoc, manage:kubernetes/storage/tiered-storage/k-data-archiving.adoc, manage:kubernetes/storage/tiered-storage/k-tiered-storage.adoc -include::manage:partial$tiered-storage.adoc[] \ No newline at end of file +include::manage:partial$tiered-storage.adoc[] diff --git a/modules/manage/partials/tiered-storage.adoc b/modules/manage/partials/tiered-storage.adoc index 80697192b..61b024018 100644 --- a/modules/manage/partials/tiered-storage.adoc +++ b/modules/manage/partials/tiered-storage.adoc @@ -58,9 +58,12 @@ TIP: If deploying Redpanda on an AWS Auto-Scaling group (ASG), keep in mind that You can configure access to Amazon S3 with either an IAM role attached to the instance or with access keys. -===== Use IAM roles +[TIP] +==== +If you need to manage and store encryption keys separately from your cloud provider, you can <> instead of the default AWS S3-managed key (SSE-S3). This option enables you to segregate data from different teams or departments and remove that data at will by removing the encryption keys. +==== -To configure access to an S3 bucket with an IAM role: +===== **Configure access with an IAM role** . Configure an xref:manage:security/iam-roles.adoc#configuring-iam-roles[IAM role]. @@ -138,9 +141,7 @@ Replace the following placeholders: + CAUTION: Do not set an object storage property to an empty string `""` or to `null` as a way to reset it to its default value. -===== Use access keys - -To configure access to an S3 bucket with access keys instead of an IAM role: +===== **Configure access with access keys** . Grant an IAM user the following permissions to read and create objects in your buckets: - `GetObject` @@ -258,13 +259,13 @@ Replace the following placeholders: + CAUTION: Do not set an object storage property to an empty string `""` or to `null` as a way to reset it to its default value. -==== Google Cloud Storage +include::manage:partial$tiered-storage/aws-kms-key.adoc[leveloffset=+4] -You can configure access to Google Cloud Storage with either an IAM role attached to the instance or with access keys. +==== Google Cloud Storage -===== Use IAM roles +Configure access to Google Cloud Storage with either an IAM role attached to the instance, with access keys, or with customer-managed keys. -To configure access to Google Cloud Storage with an IAM role: +===== **Configure access with an IAM role** . Configure an xref:manage:security/iam-roles.adoc#configuring-iam-roles[IAM role]. . Override the following required cluster properties in the Helm chart: @@ -343,7 +344,7 @@ Replace the following placeholders: CAUTION: Do not set an object storage property to an empty string `""` or to `null` as a way to reset it to its default value. -===== Use access keys +===== **Configure access with access keys** To configure access to Google Cloud Storage with access keys instead of an IAM role: @@ -462,15 +463,15 @@ Replace the following placeholders: + CAUTION: Do not set an object storage property to an empty string `""` or to `null` as a way to reset it to its default value. +include::manage:partial$tiered-storage/gcp-kms-key.adoc[leveloffset=+4] + ==== Microsoft ABS/ADLS You can configure access to Azure Blob Storage with either account access keys or Azure's managed identities system to securely interact with Azure Blob Storage. Account access keys, as static credentials, require manual management and vigilant security practices to prevent breaches due to their unchanging nature. In contrast, managed identities provide a more secure and maintenance-free solution by automating credential management and rotation, though they are exclusive to the Azure ecosystem. include::manage:partial$azure-blob-limitations.adoc[] -===== Use managed identities - -To configure access to an Azure container with a managed identity in AKS: +===== **Configure access with a managed identity** . Configure an xref:manage:security/iam-roles.adoc#configuring-iam-roles[Azure managed identity]. . Override the following required cluster properties in the Helm chart: @@ -570,9 +571,7 @@ NOTE: The `serviceAccount` annotations and the `statefulset` Pod labels are esse CAUTION: Do not set an object storage property to an empty string `""` or to `null` as a way to reset it to its default value. -===== Use access keys - -To configure access to ABS/ADLS with account access keys: +===== **Configure access with account access keys** . Get an account access key for the Azure container that Redpanda will run on. For information on how to view your account access keys, see the https://learn.microsoft.com/en-us/azure/storage/common/storage-account-keys-manage?toc=%2Fazure%2Fstorage%2Fblobs%2Ftoc.json&bc=%2Fazure%2Fstorage%2Fblobs%2Fbreadcrumb%2Ftoc.json&tabs=azure-portal#view-account-access-keys[Azure documentation^]. . Create a Secret in which to store the access key. @@ -688,9 +687,14 @@ Amazon S3:: TIP: If deploying Redpanda on an AWS Auto-Scaling group (ASG), keep in mind that the ASG controller terminates nodes and spins up replacements if the nodes saturate and are unable to heartbeat the controller (based on the EC2 health check). For more information, see the https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html#types-of-instance-status-checks[AWS documentation^]. Redpanda recommends deploying on Linux or Kubernetes. For more information, see xref:deploy:deployment-option/self-hosted/index.adoc[Deploy Redpanda]. -Configure access to Amazon S3 with either an IAM role attached to the instance or with access keys. +Configure access to Amazon S3 with either an IAM role attached to the instance, with access keys, or with customer-managed keys. + +[TIP] +==== +If you need to manage and store encryption keys separately from your cloud provider, you can <> instead of the default AWS S3-managed key (SSE-S3). This option enables you to segregate data from different teams or departments and remove that data at will by removing the encryption keys. +==== -To configure access to an S3 bucket with an IAM role: +**Configure access with an IAM role** . Configure an xref:manage:security/iam-roles.adoc#configuring-iam-roles[IAM role]. . Run the `rpk cluster config edit` command, then edit the following required properties: @@ -707,7 +711,7 @@ Replace `` with your own values. CAUTION: Do not set an object storage property to an empty string `""` or to `null` as a way to reset it to its default value. To reset a property to its default value, run `rpk cluster config force-reset ` or remove that line from the cluster configuration with `rpk cluster config edit`. -To configure access to an S3 bucket with access keys instead of an IAM role: +**Configure access with access keys** . Grant a user the following permissions to read and create objects on the bucket to be used with the cluster (or on all buckets): `GetObject`, `DeleteObject`, `PutObject`, `PutObjectTagging`, `ListBucket`. . Copy the access key and secret key for the `cloud_storage_access_key` and `cloud_storage_secret_key` cluster properties. @@ -726,13 +730,15 @@ Replace `` with your own values. + CAUTION: Do not set an object storage property to an empty string `""` or to `null` as a way to reset it to its default value. To reset a property to its default value, run `rpk cluster config force-reset ` or remove that line from the cluster configuration with `rpk cluster config edit`. +include::manage:partial$tiered-storage/aws-kms-key.adoc[leveloffset=+3] + -- Google Cloud Storage:: + -- -Configure access to Google Cloud Storage with either an IAM role attached to the instance or with access keys. +Configure access to Google Cloud Storage with either an IAM role attached to the instance, with access keys, or with customer-managed keys. -To configure access to Google Cloud Storage with an IAM role: +**Configure access with an IAM role** . Configure an xref:manage:security/iam-roles.adoc#configuring-iam-roles[IAM role]. . Run the `rpk cluster config edit` command, then edit the following required properties: @@ -750,7 +756,7 @@ Replace `` with your own values. + CAUTION: Do not set an object storage property to an empty string `""` or to `null` as a way to reset it to its default value. To reset a property to its default value, run `rpk cluster config force-reset ` or remove that line from the cluster configuration with `rpk cluster config edit`. -To configure access to Google Cloud Storage with access keys instead of an IAM role: +**Configure access with access keys** . Choose a uniform access control when you create the bucket. . Use a Google-managed encryption key. @@ -772,6 +778,8 @@ Replace `` with your own values. + CAUTION: Do not set an object storage property to an empty string `""` or to `null` as a way to reset it to its default value. To reset a property to its default value, run `rpk cluster config force-reset ` or remove that line from the cluster configuration with `rpk cluster config edit`. +include::manage:partial$tiered-storage/gcp-kms-key.adoc[leveloffset=+3] + -- Microsoft ABS/ADLS:: + @@ -779,7 +787,7 @@ Microsoft ABS/ADLS:: include::manage:partial$azure-blob-limitations.adoc[] -To configure access to an Azure container with a managed identity: +**Configure access with managed identities** . Configure an xref:manage:security/iam-roles.adoc#azure-prerequisites[Azure managed identity]. + @@ -805,7 +813,7 @@ cloud_storage_azure_container: + Replace `` with your own values. -To configure access to Azure Blob Storage with account access keys: +**Configure access with account access keys** . Copy an account access key for the Azure container you want Redpanda to use and enter it in the `cloud_storage_azure_shared_key` property. For information on how to view your account access keys, see the https://learn.microsoft.com/en-us/azure/storage/common/storage-account-keys-manage?toc=%2Fazure%2Fstorage%2Fblobs%2Ftoc.json&bc=%2Fazure%2Fstorage%2Fblobs%2Fbreadcrumb%2Ftoc.json&tabs=azure-portal#view-account-access-keys[Azure documentation^]. . Run the `rpk cluster config edit` command, then edit the following required properties: diff --git a/modules/manage/partials/tiered-storage/aws-kms-key.adoc b/modules/manage/partials/tiered-storage/aws-kms-key.adoc new file mode 100644 index 000000000..a7b34787e --- /dev/null +++ b/modules/manage/partials/tiered-storage/aws-kms-key.adoc @@ -0,0 +1,71 @@ +ifndef::env-kubernetes[] +[discrete] +endif::[] += **Configure access with an AWS KMS key** + +When there are strict data compliance requirements and you must manage and store encryption keys separate from your cloud provider, you can configure an Amazon S3 bucket that Tiered Storage can use to leverage your customer-provided key (SSE-KMS) instead of the default AWS-managed key (SSE-S3). + +To convert an existing S3 bucket and its contents, you must: + +. Create a new KMS key. +. Configure the S3 bucket to use the new KMS key. +. (Optional) Re-encrypt existing objects to use the new KMS key. + +[NOTE] +==== +ifdef::env-cloud[] +You cannot configure a cloud-provider managed encryption key at the topic level or in Redpanda Cloud Dedicated clusters. +endif::[] +ifndef::env-cloud[] +You cannot configure a cloud provider-managed encryption key at the topic level. +endif::[] + +For topic-level control, each CLI Get or Put for a partition must use the correct key as configured on the topic. +==== + +ifndef::env-kubernetes[] +[discrete] +endif::[] +== **Prerequisites** + +- The user configuring S3 bucket encryption must be assigned the Key admin permission. Without this permission, the user is unable to re-encrypt existing bucket objects to use the KMS key. +- The S3 bucket must be assigned the Key user permission. Without this permission, Redpanda is unable to write new objects to Tiered Storage. +- If you intend to retroactively re-encrypt existing data with the new KMS key, store the ARN identifier of the key upon creation. It is required for AWS CLI commands. + +To create a new KMS key in the AWS Console: + +. In AWS Console, search for “Key Management Service”. +. Click **Create a key**. +. On the Configure key page, select the **Symmetric** key type, then select **Encrypt and decrypt**. +. Click the **Advanced options** tab and configure Key material origin and Regionality as needed. For example, if you are using xref:manage:remote-read-replicas.adoc[Remote Read Replicas] or have Redpanda spanning across regions, select **Multi-Region key**. +. Click **Next**. +. On the Add labels page, specify an alias name and description for the key. Do not include sensitive information in these fields. +. Click **Next**. +. On the Define key administrative permissions page, specify a user who can administer this key through the KMS API. +. Click **Next**. +. On the Define key usage permissions page, assign the S3 bucket as a Key user. This is required for the S3 bucket to encrypt and decrypt. +. Click **Next**. +. Review your KMS key configuration and click **Finish**. + +For more information, see the https://docs.aws.amazon.com/kms/latest/developerguide/create-symmetric-cmk.html[AWS documentation^]. + +To configure the S3 bucket to use the new KMS key (and reduce KMS costs through caching): + +. In AWS Console, search for "S3". +. Select the bucket used by Redpanda. +. Click the **Properties** tab. +. In Default encryption, click **Edit**. +. For Encryption type, select “Server-side encryption with AWS Key Management Service keys (SSE-KMS)”. +. Locate and select your AWS KMS key ARN identifier. +. Click **Save changes**. + +(Optional) To re-encrypt existing data using the new KMS key: + +Existing data in your S3 bucket continues to be read using the AWS-managed key, while new objects are encrypted using the new KMS key. If you wish to re-encrypt all S3 bucket data to use the KMS key, run: + +[,bash] +---- +aws s3 cp s3://{BUCKET_NAME}/ s3://{BUCKET_NAME}/ --recursive --sse-kms-key-id {KMS_KEY_ARN} --sse aws:kms +---- + +For more information, see the https://docs.aws.amazon.com/AmazonS3/latest/userguide/configuring-bucket-key.html[AWS documentation^]. \ No newline at end of file diff --git a/modules/manage/partials/tiered-storage/gcp-kms-key.adoc b/modules/manage/partials/tiered-storage/gcp-kms-key.adoc new file mode 100644 index 000000000..90c8bc777 --- /dev/null +++ b/modules/manage/partials/tiered-storage/gcp-kms-key.adoc @@ -0,0 +1,78 @@ +ifndef::env-kubernetes[] +[discrete] +endif::[] += **Configure access with a KMS key** + +To configure the Google Cloud bucket used by Redpanda Tiered Storage to leverage a customer-managed key using the Cloud Key Management Service API instead of the default Google-managed key, you must: + +. Create a KMS key. +. Configure the bucket to use the KMS key. +. Optionally, re-encrypt existing data with the new KMS key. + +To manage Google Cloud KMS using the command line, first install or upgrade to the latest version of https://cloud.google.com/sdk/docs/install[Google Cloud CLI^]. + +To create a KMS key: + +. In Google Cloud Console, search for "Cloud Key Managment Service API". Click **Enable** if the service is not already enabled. +. Using the Google Cloud CLI, create a new keyring in the https://cloud.google.com/kms/docs/locations^[region] where the bucket used by Redpanda is located. Note that region is case sensitive. ++ +[,bash, indent] +---- +gcloud kms keyrings create "redpanda-keyring" --location="{REGION}" +---- ++ +. Create a new key for the keyring in the same region as the bucket: ++ +[,bash, indent] +---- +gcloud kms keys create "redpanda-key" \ + --location="{REGION}" \ + --keyring="redpanda-keyring" \ + --purpose="encryption" +---- ++ +. Get the key identifier: ++ +[,bash] +---- +gcloud kms keys list \ + --location="REGION" \ + --keyring="redpanda-keyring" +---- ++ +The result should look like the following. Be sure to store the name, as this is used to assign and manage the key. Use this as the \{KEY_RESOURCE} placeholder in subsequent commands. ++ +[,bash] +---- +NAME PURPOSE ALGORITHM PROTECTION_LEVEL LABELS PRIMARY_ID PRIMARY_STATE +projects/{PROJECT_NAME}/locations/us/keyRings/redpanda-keyring/cryptoKeys/redpanda-key +ENCRYPT_DECRYPT GOOGLE_SYMMETRIC_ENCRYPTION SOFTWARE 1 ENABLED +---- + +To configure the GCP bucket to use the KMS key: + +. Assign the key to a service agent: ++ +[,bash] +---- +gcloud storage service-agent \ + --project={PROJECT_ID_STORING_OBJECTS} \ + --authorize-cmek={KEY_RESOURCE} +---- ++ +. Set the bucket default encryption key to the KMS key: ++ +[,bash] +---- +gcloud storage buckets update gs://{BUCKET_NAME} \ + --default-encryption-key={KEY_RESOURCE} +---- + +(Optional) To re-encrypt existing data using the new KMS key: + +Existing data in the bucket continues to be read using the Google-managed key, while new objects are encrypted using the new KMS key. If you wish to re-encrypt all data in the bucket to use the KMS key, run: +[,bash] +---- +gcloud storage objects update gs://{BUCKET_NAME}/ --recursive \ + --encryption-key={KEY_RESOURCE} +---- \ No newline at end of file From eedc7c27b1edb4c89b67c4eb5ce5955fa9be643d Mon Sep 17 00:00:00 2001 From: Michele Cyran Date: Mon, 18 Nov 2024 10:35:52 -0700 Subject: [PATCH 17/30] DOC-759 fix link (#866) --- modules/manage/partials/tiered-storage.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/manage/partials/tiered-storage.adoc b/modules/manage/partials/tiered-storage.adoc index 61b024018..614c0513f 100644 --- a/modules/manage/partials/tiered-storage.adoc +++ b/modules/manage/partials/tiered-storage.adoc @@ -60,7 +60,7 @@ You can configure access to Amazon S3 with either an IAM role attached to the in [TIP] ==== -If you need to manage and store encryption keys separately from your cloud provider, you can <> instead of the default AWS S3-managed key (SSE-S3). This option enables you to segregate data from different teams or departments and remove that data at will by removing the encryption keys. +If you need to manage and store encryption keys separately from your cloud provider, you can <> instead of the default AWS S3-managed key (SSE-S3). This option enables you to segregate data from different teams or departments and remove that data at will by removing the encryption keys. ==== ===== **Configure access with an IAM role** @@ -691,7 +691,7 @@ Configure access to Amazon S3 with either an IAM role attached to the instance, [TIP] ==== -If you need to manage and store encryption keys separately from your cloud provider, you can <> instead of the default AWS S3-managed key (SSE-S3). This option enables you to segregate data from different teams or departments and remove that data at will by removing the encryption keys. +If you need to manage and store encryption keys separately from your cloud provider, you can <> instead of the default AWS S3-managed key (SSE-S3). This option enables you to segregate data from different teams or departments and remove that data at will by removing the encryption keys. ==== **Configure access with an IAM role** From 332aeed4063fafc5b6b2260cb3dcd510f99d8431 Mon Sep 17 00:00:00 2001 From: Kat Batuigas <36839689+kbatuigas@users.noreply.github.com> Date: Tue, 19 Nov 2024 07:11:08 -0500 Subject: [PATCH 18/30] Change status of intra broker balancing from beta to GA (#855) --- .../cluster-maintenance/cluster-balancing.adoc | 15 +-------------- .../pages/kubernetes/k-manage-resources.adoc | 6 ------ 2 files changed, 1 insertion(+), 20 deletions(-) diff --git a/modules/manage/pages/cluster-maintenance/cluster-balancing.adoc b/modules/manage/pages/cluster-maintenance/cluster-balancing.adoc index 1fdc4aad4..9b4289d1c 100644 --- a/modules/manage/pages/cluster-maintenance/cluster-balancing.adoc +++ b/modules/manage/pages/cluster-maintenance/cluster-balancing.adoc @@ -118,22 +118,9 @@ This mode is not recommended for production clusters. Only set to `off` if you n == Intra-broker partition balancing -[NOTE] -==== -This is a beta feature for v24.2 and is not recommended for use for production clusters. The feature is disabled by default. To unlock this feature, run this command with a superuser: - -```bash -curl -X PUT -d '{"state": "active"}' http://127.0.0.1:9644/v1/features/node_local_core_assignment -``` - -xref:24.3@ROOT:upgrade:index.adoc[Upgrade to 24.3 or later] to use this feature for production clusters. -==== - In Redpanda, every partition replica is assigned to a CPU core on a broker. While Redpanda's default <> monitors cluster-level events, such as the addition of new brokers or broker failure to balance partition assignments, it does not account for the distribution of partitions _within_ an individual broker. -Starting in this version of Redpanda, topic-aware intra-broker partition balancing allows for dynamically reassigning partitions within a broker. Redpanda prioritizes an even distribution of a topic's partition replicas across all cores in a broker. If a broker's core count changes, when the broker starts back up, Redpanda can check partition assignments across the broker's cores and reassign partitions, so that a balanced assignment is maintained across all cores. Redpanda can also check partition assignments when partitions are added to or removed from a broker, and rebalance the remaining partitions between cores. - -NOTE: Decreasing the number of CPU cores in a running cluster requires that you enable the `node_local_core_assignment` feature flag. +Topic-aware intra-broker partition balancing allows for dynamically reassigning partitions within a broker. Redpanda prioritizes an even distribution of a topic's partition replicas across all cores in a broker. If a broker's core count changes, when the broker starts back up, Redpanda can check partition assignments across the broker's cores and reassign partitions, so that a balanced assignment is maintained across all cores. Redpanda can also check partition assignments when partitions are added to or removed from a broker, and rebalance the remaining partitions between cores. To determine when to use intra-broker partition balancing, use the public metrics for CPU usage described in the xref:manage:monitoring.adoc#cpu-usage[Monitoring] guide. diff --git a/modules/manage/pages/kubernetes/k-manage-resources.adoc b/modules/manage/pages/kubernetes/k-manage-resources.adoc index c1531cf74..cf1505a17 100644 --- a/modules/manage/pages/kubernetes/k-manage-resources.adoc +++ b/modules/manage/pages/kubernetes/k-manage-resources.adoc @@ -24,12 +24,6 @@ kubectl describe nodes - <>. This configuration prevents the operating system from paging out Redpanda's memory to disk, which can significantly impact performance. -== Limitations - -Decreasing the number of CPU cores in a production cluster is not supported in this version of Redpanda. However, you can enable xref:manage:cluster-maintenance/cluster-balancing.adoc#intra-broker-partition-balancing[intra-broker partition balancing] to reduce CPU cores in a development cluster. - -Starting from version 24.3, decreasing the number of CPU cores in a production cluster is supported. xref:24.3@ROOT:upgrade:index.adoc[Upgrade to version 24.3] or later to access this feature. - [[memory]] == Configure memory resources From fb335c4405bc8bd32a812e0a2c2987011d9556c3 Mon Sep 17 00:00:00 2001 From: Michele Cyran Date: Tue, 19 Nov 2024 12:30:01 -0700 Subject: [PATCH 19/30] DOC-758 Update What's New for 24.3 GA (#865) Co-authored-by: Jake Cahill <45230295+JakeSCahill@users.noreply.github.com> Co-authored-by: Kat Batuigas <36839689+kbatuigas@users.noreply.github.com> Co-authored-by: Paulo Borges --- modules/get-started/pages/whats-new.adoc | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/modules/get-started/pages/whats-new.adoc b/modules/get-started/pages/whats-new.adoc index 7b974a62b..ab1ebc84e 100644 --- a/modules/get-started/pages/whats-new.adoc +++ b/modules/get-started/pages/whats-new.adoc @@ -7,17 +7,21 @@ This topic includes new content added in version {page-component-version}. For a * xref:redpanda-cloud:get-started:whats-new-cloud.adoc[] * xref:redpanda-cloud:get-started:cloud-overview.adoc#redpanda-cloud-vs-self-managed-feature-compatibility[Redpanda Cloud vs Self-Managed feature compatibility] -== Tombstone removal +== Leader pinning -Redpanda now supports the Kafka `delete.retention.ms` topic configuration. You can specify how long Redpanda keeps xref:manage:cluster-maintenance/compaction-settings.adoc#tombstone-record-removal[tombstone records] for compacted topics by setting `delete.retention.ms` at the topic level, or `tombstone_retention_ms` at the cluster level. +For a Redpanda cluster deployed across multiple availability zones (AZs), xref:develop:produce-data/leader-pinning.adoc[leader pinning] ensures that a topic's partition leaders are geographically closer to clients. Leader pinning can lower networking costs and help guarantee lower latency by routing produce and consume requests to brokers located in certain AZs. == Mountable topics For topics with Tiered Storage enabled, you can unmount a topic to safely detach it from a cluster and keep the topic data in the cluster's object storage bucket or container. You can mount the detached topic to either the same origin cluster, or a different one. This allows you to hibernate a topic and free up system resources taken up by the topic, or migrate a topic to a different cluster. See xref:manage:mountable-topics.adoc[Mountable topics] for details. -== Leader pinning +== Intra-broker partition balancing -For a Redpanda cluster deployed across multiple availability zones (AZs), xref:develop:produce-data/leader-pinning.adoc[leader pinning] ensures that a topic's partition leaders are geographically closer to clients. Leader pinning can lower networking costs and help guarantee lower latency by routing produce and consume requests to brokers located in certain AZs. +xref:manage:cluster-maintenance/cluster-balancing.adoc#intra-broker-partition-balancing[Intra-broker partition balancing] has moved out of beta and is supported for production clusters. This dynamically balances partitions across cores within a Redpanda broker. You also can decrease the number of CPUs assigned to a broker. Existing partition replicas are reassigned to the remaining CPU cores when the broker restarts with fewer available cores. + +== Tombstone removal + +Redpanda now supports the Kafka `delete.retention.ms` topic configuration. You can specify how long Redpanda keeps xref:manage:cluster-maintenance/compaction-settings.adoc#tombstone-record-removal[tombstone records] for compacted topics by setting `delete.retention.ms` at the topic level, or `tombstone_retention_ms` at the cluster level. == Debug bundles in Redpanda Console @@ -33,6 +37,14 @@ Redpanda now supports declarative management of users and access control lists ( To learn more, see the xref:manage:kubernetes/security/authentication/k-user-controller.adoc[User custom resource documentation]. +== Backfill partitions + +When running xref:manage:cluster-maintenance/nodewise-partition-recovery.adoc[node-wise partition recovery], it's possible that there may be more recent data (a higher offset) available in Tiered Storage. Redpanda attempts to recover partition data from object storage, recovering the latest offset available for a partition in either storage tier (local or object storage). This allows for the maximum amount of data to be recovered in all cases, even for topics with a replication factor of 1, where no replicas remain in local storage. + +== Configure access to object storage with a KMS key + +Users on AWS or GCP with strict data compliance requirements can manage and store encryption keys separately from their cloud provider with a xref:manage:tiered-storage.adoc#configure-object-storage[customer-managed Key Management Service (KMS) key]. + == Licensing updates This release includes several updates to xref:get-started:licensing/overview.adoc[Redpanda's licensing system] to both improve transparency and make it easier to manage licenses across Redpanda clusters and Redpanda Console. @@ -45,6 +57,8 @@ This release includes several updates to xref:get-started:licensing/overview.ado - *Unified license management in Redpanda Console*: You can now upload and apply a single license key for both Redpanda Console and the connected Redpanda cluster through the Redpanda Console UI. Any existing license key is overridden by the new one. +- *30 day trial Enterprise license*: Starting with version 24.3, new Redpanda clusters automatically receive a trial license that's valid for 30 days, allowing unrestricted use of Enterprise features. This evaluation period begins when the cluster is created for the first time. After this period expires, inactive Enterprise features are disabled, and active features enter a restricted state. + == New commands The following `rpk` commands are new in this version: @@ -60,6 +74,8 @@ The following `rpk` commands are new in this version: The following cluster properties are new in this version: +* xref:reference:properties/cluster-properties.adoc#debug_bundle_auto_removal_seconds[`debug_bundle_auto_removal_seconds`] +* xref:reference:properties/cluster-properties.adoc#debug_bundle_storage_dir[`debug_bundle_storage_dir`] * xref:reference:properties/cluster-properties.adoc#default_leaders_preference[`default_leaders_preference`] * xref:reference:properties/cluster-properties.adoc#rpk_path[`rpk_path`] * xref:reference:properties/cluster-properties.adoc#tombstone_retention_ms[`tombstone_retention_ms`] From 62205f5aa8ad4cc7599be09e0212a9a16613befa Mon Sep 17 00:00:00 2001 From: Jake Cahill <45230295+JakeSCahill@users.noreply.github.com> Date: Wed, 20 Nov 2024 13:02:07 +0000 Subject: [PATCH 20/30] DOC-425 How to use the new debug bundle cluster configs (#862) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Paulo Borges Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com> Co-authored-by: Gellért Peresztegi-Nagy Co-authored-by: Angela Simms <102690377+asimms41@users.noreply.github.com> Co-authored-by: Kat Batuigas <36839689+kbatuigas@users.noreply.github.com> Co-authored-by: Michele Cyran --- modules/console/pages/ui/generate-bundle.adoc | 9 +- .../licensing/monitor-license-status.adoc | 17 +- .../troubleshoot/partials/debug-bundle.adoc | 702 +++++------------- .../troubleshoot/partials/inspect-bundle.adoc | 548 ++++++++++++++ 4 files changed, 767 insertions(+), 509 deletions(-) create mode 100644 modules/troubleshoot/partials/inspect-bundle.adoc diff --git a/modules/console/pages/ui/generate-bundle.adoc b/modules/console/pages/ui/generate-bundle.adoc index d02a74ddd..0fb13c3ff 100644 --- a/modules/console/pages/ui/generate-bundle.adoc +++ b/modules/console/pages/ui/generate-bundle.adoc @@ -15,7 +15,9 @@ include::shared:partial$enterprise-and-console.adoc[] == Generate a debug bundle -You can generate a debug bundle for all brokers in the cluster using Redpanda Console. After generating the bundle, download it onto your local computer for inspection. +You can generate a debug bundle for all brokers in the cluster and download it onto your local computer for inspection. + +NOTE: Only one debug bundle can exist at a time. If you generate a new debug bundle, any existing bundle from a previous run will be automatically deleted. . Log in as an admin user. . Click *Admin* in the sidebar. @@ -27,12 +29,11 @@ This option is visible only when you are logged in as an admin user. . Click *debug-bundle.zip* to download the bundle on your local computer. . Unzip the file to inspect the contents. -include::troubleshoot:partial$debug-bundle.adoc[tags=inspect] +include::troubleshoot:partial$inspect-bundle.adoc[] == Delete a debug bundle -To generate a new debug bundle, you must delete the existing one. - +To manually delete a debug bundle: . Log in as an admin user. . Click *Admin* in the sidebar. + diff --git a/modules/get-started/pages/licensing/monitor-license-status.adoc b/modules/get-started/pages/licensing/monitor-license-status.adoc index ee9dad3fe..d0dfa6d0e 100644 --- a/modules/get-started/pages/licensing/monitor-license-status.adoc +++ b/modules/get-started/pages/licensing/monitor-license-status.adoc @@ -6,7 +6,7 @@ To track license expiration and ensure compliance with xref:get-started:licensin [[rpk]] == Check the status of a license with `rpk` -To check the status of your current license, use the `rpk cluster license info` command. You can choose different output formats depending on your use case. +To check the status of your current license and information about in-use enterprise features, use the `rpk cluster license info` command. You can choose different output formats depending on your use case. . Make sure that xref:get-started:rpk-install.adoc[`rpk` is installed] and configured to connect to your cluster's Admin API endpoint. @@ -16,14 +16,15 @@ To check the status of your current license, use the `rpk cluster license info` rpk cluster license info ``` + -The output displays the following details: +The command displays the license information in a user-friendly format. The output includes: + ----- -Organization: Organization the license was generated for. -Type: Type of license. -Expires: Expiration date of the license. -Version: License schema version. ----- +-- +- *Organization*: The organization for which the license was issued. +- *Type*: The type of license (for example, enterprise or trial). +- *Expires*: The license expiration date. +- *Version*: The schema version of the license. +- *Enterprise features in use*: A list of enabled enterprise features. +-- + If the license is within 30 days of expiration, a warning is logged: + diff --git a/modules/troubleshoot/partials/debug-bundle.adoc b/modules/troubleshoot/partials/debug-bundle.adoc index a9c431414..9c8d2a1c0 100644 --- a/modules/troubleshoot/partials/debug-bundle.adoc +++ b/modules/troubleshoot/partials/debug-bundle.adoc @@ -155,6 +155,8 @@ ifndef::env-kubernetes[] rm /var/lib/redpanda/.zip endif::[] ---- ++ +TIP: To avoid manually deleting debug bundles, you can configure the `debug_bundle_auto_removal_seconds` property to automatically remove them after a period of time. See <>. When you've finished troubleshooting, remove the debug bundle from your host machine: @@ -168,550 +170,256 @@ For a description of the files and directories, see < +---- -[,json,role=no-copy,subs=attributes+] +For example, to retain debug bundles for 1 day: +[,bash] ---- -"{latest-redpanda-tag}" -"{latest-redpanda-tag}" -"{latest-redpanda-tag}" +rpk cluster config set debug_bundle_auto_removal_seconds 86400 ---- +endif::[] +ifdef::env-kubernetes[] +To set this property, use the `config.cluster.debug_bundle_auto_removal_seconds` field: -=== View the maintenance status of all brokers +[tabs] +====== +Helm + Operator:: ++ +-- +.`redpanda-cluster.yaml` +[,yaml] +---- +apiVersion: cluster.redpanda.com/v1alpha2 +kind: Redpanda +metadata: + name: redpanda +spec: + chartRef: {} + clusterSpec: + config: + cluster: + debug_bundle_auto_removal_seconds: +---- -```bash -cat admin/brokers.json | jq '.[] | .node_id, .maintenance_status' -``` +For example, to retain debug bundles for 1 day: -.Example output -[%collapsible] -==== -```json -0 -{ - "draining": false, - "finished": false, - "errors": false, - "partitions": 0, - "eligible": 0, - "transferring": 0, - "failed": 0 -} -1 -{ - "draining": false, - "finished": false, - "errors": false, - "partitions": 0, - "eligible": 0, - "transferring": 0, - "failed": 0 -} -2 -{ - "draining": false, - "finished": false, - "errors": false, - "partitions": 0, - "eligible": 0, - "transferring": 0, - "failed": 0 -} -``` -==== +.`redpanda-cluster.yaml` +[,yaml] +---- +apiVersion: cluster.redpanda.com/v1alpha2 +kind: Redpanda +metadata: + name: redpanda +spec: + chartRef: {} + clusterSpec: + config: + cluster: + debug_bundle_auto_removal_seconds: 86400 +---- -=== View the cluster configuration +Apply the changes with: ```bash -cat admin/cluster_config.json | jq -``` - -.Example output -[%collapsible] -==== -```json -{ - "abort_index_segment_size": 50000, - "abort_timed_out_transactions_interval_ms": 10000, - "admin_api_require_auth": false, - "aggregate_metrics": false, - "alter_topic_cfg_timeout_ms": 5000, - "append_chunk_size": 16384, - "auto_create_topics_enabled": false, - "cloud_storage_access_key": null, - "cloud_storage_api_endpoint": null, - "cloud_storage_api_endpoint_port": 443, - "cloud_storage_azure_container": null, - "cloud_storage_azure_shared_key": null, - "cloud_storage_azure_storage_account": null, - "cloud_storage_bucket": null, - ... - "target_quota_byte_rate": 2147483648, - "tm_sync_timeout_ms": 10000, - "topic_fds_per_partition": 5, - "topic_memory_per_partition": 1048576, - "topic_partitions_per_shard": 1000, - "topic_partitions_reserve_shard0": 2, - "transaction_coordinator_cleanup_policy": "delete", - "transaction_coordinator_delete_retention_ms": 604800000, - "transaction_coordinator_log_segment_size": 1073741824, - "transactional_id_expiration_ms": 604800000, - "tx_log_stats_interval_s": 10, - "tx_timeout_delay_ms": 1000, - "wait_for_leader_timeout_ms": 5000, - "zstd_decompress_workspace_bytes": 8388608 -} +kubectl apply -f redpanda-cluster.yaml --namespace ``` -==== -=== Check Enterprise Edition license keys +-- +Helm:: ++ +-- +Update the `values.yaml` file or use the `--set` flag to specify the property: +[tabs] +==== +--values:: ++ +.`cloud-storage.yaml` +[,yaml] +---- +config: + cluster: + debug_bundle_auto_removal_seconds: +---- ++ +For example, to retain debug bundles for 1 day: ++ +.`cloud-storage.yaml` +[,yaml] +---- +config: + cluster: + debug_bundle_auto_removal_seconds: 86400 +---- ++ +Apply the changes with: ++ ```bash -cat admin/license.json | jq +helm upgrade --install redpanda redpanda/redpanda --namespace --create-namespace \ + --values cloud-storage.yaml --reuse-values ``` -.Example output -[%collapsible] -==== -```json -{ - "loaded": false, - "license": { - "format_version": 0, - "org": "", - "type": "", - "expires": 0, - "sha256": "" - } -} +--set:: ++ +```bash +helm upgrade --install redpanda redpanda/redpanda --namespace --create-namespace \ + --set config.cluster.debug_bundle_auto_removal_seconds= ``` -==== - -=== View metadata about the Redpanda data directory - -To check the size of the directories and look for anomalies: - ++ +For example, to retain debug bundles for 1 day: ++ ```bash -cat utils/du.txt +helm upgrade --install redpanda redpanda/redpanda --namespace --create-namespace \ + --set config.cluster.debug_bundle_auto_removal_seconds=86400 ``` -.Example output -[%collapsible] -==== -``` -33M /var/lib/redpanda/data/redpanda/kvstore/0_0 -33M /var/lib/redpanda/data/redpanda/kvstore -33M /var/lib/redpanda/data/redpanda/controller/0_0 -33M /var/lib/redpanda/data/redpanda/controller -65M /var/lib/redpanda/data/redpanda -65M /var/lib/redpanda/data -``` ==== +-- +====== +endif::[] -To check the file permissions, file size, and last modification date of the files: - -```bash -cat data-dir.txt | jq -``` +== Choose where the debug bundle is saved -.Example output -[%collapsible] -==== -```json -{ - "/var/lib/redpanda/data": { - "size": "4.096kB", - "mode": "dgrwxrwxrwx", - "modified": "2023-02-02 15:21:12.430878371 +0000 UTC", - "user": "", - "group": "redpanda" - }, - "/var/lib/redpanda/data/config_cache.yaml": { - "size": "340B", - "mode": "-rw-r--r--", - "modified": "2023-02-02 15:21:22.434878593 +0000 UTC", - "user": "", - "group": "redpanda" - }, - "/var/lib/redpanda/data/pid.lock": { - "size": "2B", - "mode": "-rw-r--r--", - "modified": "2023-02-02 15:21:10.502878322 +0000 UTC", - "user": "", - "group": "redpanda" - }, - "/var/lib/redpanda/data/redpanda": { - "size": "4.096kB", - "mode": "dgrwxr-xr-x", - "modified": "2023-02-02 15:21:10.650878326 +0000 UTC", - "user": "", - "group": "redpanda" - }, - "/var/lib/redpanda/data/redpanda/controller": { - "size": "4.096kB", - "mode": "dgrwxr-xr-x", - "modified": "2023-02-02 15:21:10.650878326 +0000 UTC", - "user": "", - "group": "redpanda" - }, - "/var/lib/redpanda/data/redpanda/controller/0_0": { - "size": "4.096kB", - "mode": "dgrwxr-xr-x", - "modified": "2023-02-02 15:21:12.346878368 +0000 UTC", - "user": "", - "group": "redpanda" - }, - "/var/lib/redpanda/data/redpanda/controller/0_0/0-1-v1.log": { - "size": "4.096kB", - "mode": "-rw-r--r--", - "modified": "2023-02-02 15:21:32.450878771 +0000 UTC", - "user": "", - "group": "redpanda" - }, - "/var/lib/redpanda/data/redpanda/kvstore": { - "size": "4.096kB", - "mode": "dgrwxr-xr-x", - "modified": "2023-02-02 15:21:10.590878324 +0000 UTC", - "user": "", - "group": "redpanda" - }, - "/var/lib/redpanda/data/redpanda/kvstore/0_0": { - "size": "4.096kB", - "mode": "dgrwxr-xr-x", - "modified": "2023-02-02 15:21:10.602878325 +0000 UTC", - "user": "", - "group": "redpanda" - }, - "/var/lib/redpanda/data/redpanda/kvstore/0_0/0-0-v1.log": { - "size": "8.192kB", - "mode": "-rw-r--r--", - "modified": "2023-02-02 15:21:32.458878772 +0000 UTC", - "user": "", - "group": "redpanda" - }, - "/var/lib/redpanda/data/startup_log": { - "size": "26B", - "mode": "-rw-r--r--", - "modified": "2023-02-02 15:21:10.510878323 +0000 UTC", - "user": "", - "group": "redpanda" - } -} -``` -==== +The xref:reference:properties/cluster-properties.adoc#debug_bundle_storage_dir[`debug_bundle_storage_dir`] property allows you to specify a custom directory for storing debug bundles. By default, debug bundles are stored in the Redpanda data directory. Configuring a custom storage directory can help manage storage capacity and isolate debug data from operational data. -=== View cluster metadata +Changes to this property take effect immediately and do not require a cluster restart. -```bash -cat kafka.json | jq '.[0]' -``` +Before you change this property: -.Example output -[%collapsible] -==== -```json -{ - "Name": "metadata", - "Response": { - "Cluster": "redpanda.14a3f9b6-1c74-4ffd-806a-4ab48db78120", - "Controller": 0, - "Brokers": [ - { - "NodeID": 0, - "Port": 9093, - "Host": "redpanda-0.redpanda..svc.cluster.local.", - "Rack": null - }, - { - "NodeID": 1, - "Port": 9093, - "Host": "redpanda-1.redpanda..svc.cluster.local.", - "Rack": null - }, - { - "NodeID": 2, - "Port": 9093, - "Host": "redpanda-2.redpanda..svc.cluster.local.", - "Rack": null - } - ], - "Topics": {} - }, - "Error": null -} -``` -==== +* Ensure that your chosen directory has sufficient storage capacity to handle debug bundles. ++ +Factors such as the volume of logs can increase the bundle size. While it is difficult to define an exact storage requirement due to variability in bundle size, 200 MB should be sufficient for most cases. +* Verify the directory's permissions to ensure Redpanda can write to it. By default, Redpanda operates as the `redpanda` user within the `redpanda` group. -=== View topic and broker configurations +ifndef::env-kubernetes[] +To set a custom debug bundle storage directory, use the `rpk cluster config` command: -```bash -cat kafka.json | jq '.[1:]' -``` +[,bash] +---- +rpk cluster config set debug_bundle_storage_dir +---- -.Example output -[%collapsible] -==== -```json -[ - { - "Name": "topic_configs", - "Response": null, - "Error": null - }, - { - "Name": "broker_configs", - "Response": [ - { - "Name": "0", - "Configs": [ - { - "Key": "listeners", - "Value": "internal://0.0.0.0:9093,default://0.0.0.0:9094", - "Sensitive": false, - "Source": "STATIC_BROKER_CONFIG", - "Synonyms": [ - { - "Key": "kafka_api", - "Value": "internal://0.0.0.0:9093,default://0.0.0.0:9094", - "Source": "STATIC_BROKER_CONFIG" - }, - { - "Key": "kafka_api", - "Value": "plain://127.0.0.1:9092", - "Source": "DEFAULT_CONFIG" - } - ] - }, - { - "Key": "advertised.listeners", - "Value": "internal://redpanda-0.redpanda..svc.cluster.local.:9093,default://203.0.113.3:31092", - "Sensitive": false, - "Source": "STATIC_BROKER_CONFIG", - "Synonyms": [ - { - "Key": "advertised_kafka_api", - "Value": "internal://redpanda-0.redpanda..svc.cluster.local.:9093,default://203.0.113.3:31092", - "Source": "STATIC_BROKER_CONFIG" - }, - { - "Key": "advertised_kafka_api", - "Value": "", - "Source": "DEFAULT_CONFIG" - } - ] - }, - { - "Key": "log.segment.bytes", - "Value": "134217728", - "Sensitive": false, - "Source": "DEFAULT_CONFIG", - "Synonyms": [ - { - "Key": "log_segment_size", - "Value": "134217728", - "Source": "DEFAULT_CONFIG" - } - ] - }, - { - "Key": "log.retention.bytes", - "Value": "18446744073709551615", - "Sensitive": false, - "Source": "DEFAULT_CONFIG", - "Synonyms": [ - { - "Key": "retention_bytes", - "Value": "18446744073709551615", - "Source": "DEFAULT_CONFIG" - } - ] - }, - { - "Key": "log.retention.ms", - "Value": "604800000", - "Sensitive": false, - "Source": "DEFAULT_CONFIG", - "Synonyms": [ - { - "Key": "delete_retention_ms", - "Value": "604800000", - "Source": "DEFAULT_CONFIG" - } - ] - }, - { - "Key": "num.partitions", - "Value": "1", - "Sensitive": false, - "Source": "DEFAULT_CONFIG", - "Synonyms": [ - { - "Key": "default_topic_partitions", - "Value": "1", - "Source": "DEFAULT_CONFIG" - } - ] - }, - { - "Key": "default.replication.factor", - "Value": "1", - "Sensitive": false, - "Source": "DEFAULT_CONFIG", - "Synonyms": [ - { - "Key": "default_topic_replications", - "Value": "1", - "Source": "DEFAULT_CONFIG" - } - ] - }, - { - "Key": "log.dirs", - "Value": "/var/lib/redpanda/data", - "Sensitive": false, - "Source": "STATIC_BROKER_CONFIG", - "Synonyms": [ - { - "Key": "data_directory", - "Value": "/var/lib/redpanda/data", - "Source": "STATIC_BROKER_CONFIG" - } - ] - }, - { - "Key": "auto.create.topics.enable", - "Value": "false", - "Sensitive": false, - "Source": "DEFAULT_CONFIG", - "Synonyms": [ - { - "Key": "auto_create_topics_enabled", - "Value": "false", - "Source": "DEFAULT_CONFIG" - } - ] - } - ], - "Err": null - }, - { - "Name": "1", - "Configs": [ - ... - ] - ... - }, - { - "Name": "1", - "Configs": [ - ... - ] - ... - }, - ], - "Error": null - }, - { - "Name": "log_start_offsets", - "Response": {}, - "Error": null - }, - { - "Name": "last_stable_offsets", - "Response": {}, - "Error": null - }, - { - "Name": "high_watermarks", - "Response": {}, - "Error": null - }, - { - "Name": "groups", - "Response": null, - "Error": null - } -] -``` -==== +For example, to store debug bundles in `/var/log/redpanda/debug_bundles`: -=== View the Redpanda logs +[,bash] +---- +rpk cluster config set debug_bundle_storage_dir /var/log/redpanda/debug_bundles +---- +endif::[] ifdef::env-kubernetes[] -```bash -cat logs/redpanda-0.txt # logs/redpanda-1.txt logs/redpanda-2.txt -``` -endif::[] -ifndef::env-kubernetes[] -```bash -cat redpanda.log -``` -endif::[] +To set this property, use the `config.cluster.debug_bundle_storage_dir` field: + +[tabs] +====== +Helm + Operator:: ++ +-- +.`redpanda-cluster.yaml` +[,yaml] +---- +apiVersion: cluster.redpanda.com/v1alpha2 +kind: Redpanda +metadata: + name: redpanda +spec: + chartRef: {} + clusterSpec: + config: + cluster: + debug_bundle_storage_dir: +---- -=== Check for clock drift +For example: -```bash -cat utils/ntp.txt | jq -``` +[,yaml] +---- +apiVersion: cluster.redpanda.com/v1alpha2 +kind: Redpanda +metadata: + name: redpanda +spec: + chartRef: {} + clusterSpec: + config: + cluster: + debug_bundle_storage_dir: /var/log/redpanda/debug_bundles +---- -Use the output to check for clock drift. For details about how NTP works, see the http://www.ntp.org/ntpfaq/NTP-s-algo.htm[NTP documentation^]. +Apply the changes with: -.Example output -[%collapsible] -==== -```json -{ - "host": "pool.ntp.org", - "roundTripTimeMs": 3, - "remoteTimeUTC": "2023-02-02T15:22:51.763175934Z", - "localTimeUTC": "2023-02-02T15:22:51.698044603Z", - "precisionMs": 0, - "offset": -458273 -} -``` -==== +[,bash] +---- +kubectl apply -f redpanda-cluster.yaml --namespace +---- -ifdef::env-kubernetes[] -=== View Kubernetes manifests +-- +Helm:: ++ +-- -```bash -tree k8s -``` +Update the `values.yaml` file or use the `--set` flag to specify the property: -.Example output -[%collapsible] +[tabs] ==== +--values:: ++ +[,yaml] +---- +config: + cluster: + debug_bundle_storage_dir: +---- ++ +For example, to store debug bundles in `/var/log/redpanda/debug_bundles`: ++ +[,yaml] +---- +config: + cluster: + debug_bundle_storage_dir: /var/log/redpanda/debug_bundles +---- ++ +Apply the changes with: ++ +[,bash] +---- +helm upgrade --install redpanda redpanda/redpanda --namespace --create-namespace \ + --values values.yaml --reuse-values +---- + +--set:: ++ +```bash +helm upgrade --install redpanda redpanda/redpanda --namespace --create-namespace \ + --set config.cluster.debug_bundle_storage_dir= ``` -k8s -├── configmaps.json -├── endpoints.json -├── events.json -├── limitranges.json -├── persistentvolumeclaims.json -├── pods.json -├── replicationcontrollers.json -├── resourcequotas.json -├── serviceaccounts.json -└── services.json ++ +For example: ++ +```bash +helm upgrade --install redpanda redpanda/redpanda --namespace --create-namespace \ + --set config.cluster.debug_bundle_storage_dir=/var/log/redpanda/debug_bundles ``` -==== -endif::[] +==== +-- +====== -// end::inspect[] +include::troubleshoot:partial$inspect-bundle.adoc[] == Contents of the debug bundle diff --git a/modules/troubleshoot/partials/inspect-bundle.adoc b/modules/troubleshoot/partials/inspect-bundle.adoc new file mode 100644 index 000000000..541d929f2 --- /dev/null +++ b/modules/troubleshoot/partials/inspect-bundle.adoc @@ -0,0 +1,548 @@ +== Inspect the debug bundle + +After downloading the debug bundle files, you can inspect the contents to debug your cluster. This section provides some useful data points to check while troubleshooting. + +Most files in the debug bundle are JSON files. To make it easier to read these files, this section uses jq. To install jq, see the https://stedolan.github.io/jq/download/[jq downloads page^]. + +=== View the version of Redpanda on all brokers + +```bash +cat admin/brokers.json | jq '.[] | .version' +``` + +Example output: + +[,json,role=no-copy,subs=attributes+] +---- +"{latest-redpanda-tag}" +"{latest-redpanda-tag}" +"{latest-redpanda-tag}" +---- + +=== View the maintenance status of all brokers + +```bash +cat admin/brokers.json | jq '.[] | .node_id, .maintenance_status' +``` + +.Example output +[%collapsible] +==== +```json +0 +{ + "draining": false, + "finished": false, + "errors": false, + "partitions": 0, + "eligible": 0, + "transferring": 0, + "failed": 0 +} +1 +{ + "draining": false, + "finished": false, + "errors": false, + "partitions": 0, + "eligible": 0, + "transferring": 0, + "failed": 0 +} +2 +{ + "draining": false, + "finished": false, + "errors": false, + "partitions": 0, + "eligible": 0, + "transferring": 0, + "failed": 0 +} +``` +==== + +=== View the cluster configuration + +```bash +cat admin/cluster_config.json | jq +``` + +.Example output +[%collapsible] +==== +```json +{ + "abort_index_segment_size": 50000, + "abort_timed_out_transactions_interval_ms": 10000, + "admin_api_require_auth": false, + "aggregate_metrics": false, + "alter_topic_cfg_timeout_ms": 5000, + "append_chunk_size": 16384, + "auto_create_topics_enabled": false, + "cloud_storage_access_key": null, + "cloud_storage_api_endpoint": null, + "cloud_storage_api_endpoint_port": 443, + "cloud_storage_azure_container": null, + "cloud_storage_azure_shared_key": null, + "cloud_storage_azure_storage_account": null, + "cloud_storage_bucket": null, + ... + "target_quota_byte_rate": 2147483648, + "tm_sync_timeout_ms": 10000, + "topic_fds_per_partition": 5, + "topic_memory_per_partition": 1048576, + "topic_partitions_per_shard": 1000, + "topic_partitions_reserve_shard0": 2, + "transaction_coordinator_cleanup_policy": "delete", + "transaction_coordinator_delete_retention_ms": 604800000, + "transaction_coordinator_log_segment_size": 1073741824, + "transactional_id_expiration_ms": 604800000, + "tx_log_stats_interval_s": 10, + "tx_timeout_delay_ms": 1000, + "wait_for_leader_timeout_ms": 5000, + "zstd_decompress_workspace_bytes": 8388608 +} +``` +==== + +=== Check Enterprise Edition license keys + +```bash +cat admin/license.json | jq +``` + +.Example output +[%collapsible] +==== +```json +{ + "loaded": false, + "license": { + "format_version": 0, + "org": "", + "type": "", + "expires": 0, + "sha256": "" + } +} +``` +==== + +=== View metadata about the Redpanda data directory + +You can inspect the size of directories in the Redpanda data directory and identify anomalies using a pre-generated report. This is useful for troubleshooting issues such as imbalances in partition sizes or unexpected data growth. + +To check the size of the directories and look for anomalies: + +```bash +cat utils/du.txt +``` + +The `du.txt` file provides information about the size of each directory. Anomalies to look for include: + +- One partition of a topic being significantly larger than others. +- Directories containing more data than expected for a specific topic or partition. + +.Example output +[%collapsible] +==== +``` +33M /var/lib/redpanda/data/redpanda/kvstore/0_0 +33M /var/lib/redpanda/data/redpanda/kvstore +33M /var/lib/redpanda/data/redpanda/controller/0_0 +33M /var/lib/redpanda/data/redpanda/controller +65M /var/lib/redpanda/data/redpanda +65M /var/lib/redpanda/data +``` +==== + +To check the file permissions, file size, and last modification date of the files: + +```bash +cat data-dir.txt | jq +``` + +.Example output +[%collapsible] +==== +```json +{ + "/var/lib/redpanda/data": { + "size": "4.096kB", + "mode": "dgrwxrwxrwx", + "modified": "2023-02-02 15:21:12.430878371 +0000 UTC", + "user": "", + "group": "redpanda" + }, + "/var/lib/redpanda/data/config_cache.yaml": { + "size": "340B", + "mode": "-rw-r--r--", + "modified": "2023-02-02 15:21:22.434878593 +0000 UTC", + "user": "", + "group": "redpanda" + }, + "/var/lib/redpanda/data/pid.lock": { + "size": "2B", + "mode": "-rw-r--r--", + "modified": "2023-02-02 15:21:10.502878322 +0000 UTC", + "user": "", + "group": "redpanda" + }, + "/var/lib/redpanda/data/redpanda": { + "size": "4.096kB", + "mode": "dgrwxr-xr-x", + "modified": "2023-02-02 15:21:10.650878326 +0000 UTC", + "user": "", + "group": "redpanda" + }, + "/var/lib/redpanda/data/redpanda/controller": { + "size": "4.096kB", + "mode": "dgrwxr-xr-x", + "modified": "2023-02-02 15:21:10.650878326 +0000 UTC", + "user": "", + "group": "redpanda" + }, + "/var/lib/redpanda/data/redpanda/controller/0_0": { + "size": "4.096kB", + "mode": "dgrwxr-xr-x", + "modified": "2023-02-02 15:21:12.346878368 +0000 UTC", + "user": "", + "group": "redpanda" + }, + "/var/lib/redpanda/data/redpanda/controller/0_0/0-1-v1.log": { + "size": "4.096kB", + "mode": "-rw-r--r--", + "modified": "2023-02-02 15:21:32.450878771 +0000 UTC", + "user": "", + "group": "redpanda" + }, + "/var/lib/redpanda/data/redpanda/kvstore": { + "size": "4.096kB", + "mode": "dgrwxr-xr-x", + "modified": "2023-02-02 15:21:10.590878324 +0000 UTC", + "user": "", + "group": "redpanda" + }, + "/var/lib/redpanda/data/redpanda/kvstore/0_0": { + "size": "4.096kB", + "mode": "dgrwxr-xr-x", + "modified": "2023-02-02 15:21:10.602878325 +0000 UTC", + "user": "", + "group": "redpanda" + }, + "/var/lib/redpanda/data/redpanda/kvstore/0_0/0-0-v1.log": { + "size": "8.192kB", + "mode": "-rw-r--r--", + "modified": "2023-02-02 15:21:32.458878772 +0000 UTC", + "user": "", + "group": "redpanda" + }, + "/var/lib/redpanda/data/startup_log": { + "size": "26B", + "mode": "-rw-r--r--", + "modified": "2023-02-02 15:21:10.510878323 +0000 UTC", + "user": "", + "group": "redpanda" + } +} +``` +==== + +=== View cluster metadata + +```bash +cat kafka.json | jq '.[0]' +``` + +.Example output +[%collapsible] +==== +```json +{ + "Name": "metadata", + "Response": { + "Cluster": "redpanda.14a3f9b6-1c74-4ffd-806a-4ab48db78120", + "Controller": 0, + "Brokers": [ + { + "NodeID": 0, + "Port": 9093, + "Host": "redpanda-0.redpanda..svc.cluster.local.", + "Rack": null + }, + { + "NodeID": 1, + "Port": 9093, + "Host": "redpanda-1.redpanda..svc.cluster.local.", + "Rack": null + }, + { + "NodeID": 2, + "Port": 9093, + "Host": "redpanda-2.redpanda..svc.cluster.local.", + "Rack": null + } + ], + "Topics": {} + }, + "Error": null +} +``` +==== + +=== View topic and broker configurations + +```bash +cat kafka.json | jq '.[1:]' +``` + +.Example output +[%collapsible] +==== +```json +[ + { + "Name": "topic_configs", + "Response": null, + "Error": null + }, + { + "Name": "broker_configs", + "Response": [ + { + "Name": "0", + "Configs": [ + { + "Key": "listeners", + "Value": "internal://0.0.0.0:9093,default://0.0.0.0:9094", + "Sensitive": false, + "Source": "STATIC_BROKER_CONFIG", + "Synonyms": [ + { + "Key": "kafka_api", + "Value": "internal://0.0.0.0:9093,default://0.0.0.0:9094", + "Source": "STATIC_BROKER_CONFIG" + }, + { + "Key": "kafka_api", + "Value": "plain://127.0.0.1:9092", + "Source": "DEFAULT_CONFIG" + } + ] + }, + { + "Key": "advertised.listeners", + "Value": "internal://redpanda-0.redpanda..svc.cluster.local.:9093,default://203.0.113.3:31092", + "Sensitive": false, + "Source": "STATIC_BROKER_CONFIG", + "Synonyms": [ + { + "Key": "advertised_kafka_api", + "Value": "internal://redpanda-0.redpanda..svc.cluster.local.:9093,default://203.0.113.3:31092", + "Source": "STATIC_BROKER_CONFIG" + }, + { + "Key": "advertised_kafka_api", + "Value": "", + "Source": "DEFAULT_CONFIG" + } + ] + }, + { + "Key": "log.segment.bytes", + "Value": "134217728", + "Sensitive": false, + "Source": "DEFAULT_CONFIG", + "Synonyms": [ + { + "Key": "log_segment_size", + "Value": "134217728", + "Source": "DEFAULT_CONFIG" + } + ] + }, + { + "Key": "log.retention.bytes", + "Value": "18446744073709551615", + "Sensitive": false, + "Source": "DEFAULT_CONFIG", + "Synonyms": [ + { + "Key": "retention_bytes", + "Value": "18446744073709551615", + "Source": "DEFAULT_CONFIG" + } + ] + }, + { + "Key": "log.retention.ms", + "Value": "604800000", + "Sensitive": false, + "Source": "DEFAULT_CONFIG", + "Synonyms": [ + { + "Key": "delete_retention_ms", + "Value": "604800000", + "Source": "DEFAULT_CONFIG" + } + ] + }, + { + "Key": "num.partitions", + "Value": "1", + "Sensitive": false, + "Source": "DEFAULT_CONFIG", + "Synonyms": [ + { + "Key": "default_topic_partitions", + "Value": "1", + "Source": "DEFAULT_CONFIG" + } + ] + }, + { + "Key": "default.replication.factor", + "Value": "1", + "Sensitive": false, + "Source": "DEFAULT_CONFIG", + "Synonyms": [ + { + "Key": "default_topic_replications", + "Value": "1", + "Source": "DEFAULT_CONFIG" + } + ] + }, + { + "Key": "log.dirs", + "Value": "/var/lib/redpanda/data", + "Sensitive": false, + "Source": "STATIC_BROKER_CONFIG", + "Synonyms": [ + { + "Key": "data_directory", + "Value": "/var/lib/redpanda/data", + "Source": "STATIC_BROKER_CONFIG" + } + ] + }, + { + "Key": "auto.create.topics.enable", + "Value": "false", + "Sensitive": false, + "Source": "DEFAULT_CONFIG", + "Synonyms": [ + { + "Key": "auto_create_topics_enabled", + "Value": "false", + "Source": "DEFAULT_CONFIG" + } + ] + } + ], + "Err": null + }, + { + "Name": "1", + "Configs": [ + ... + ] + ... + }, + { + "Name": "1", + "Configs": [ + ... + ] + ... + }, + ], + "Error": null + }, + { + "Name": "log_start_offsets", + "Response": {}, + "Error": null + }, + { + "Name": "last_stable_offsets", + "Response": {}, + "Error": null + }, + { + "Name": "high_watermarks", + "Response": {}, + "Error": null + }, + { + "Name": "groups", + "Response": null, + "Error": null + } +] +``` +==== + +=== View the Redpanda logs + +ifdef::env-kubernetes[] +```bash +cat logs/redpanda-0.txt # logs/redpanda-1.txt logs/redpanda-2.txt +``` +endif::[] +ifndef::env-kubernetes[] +```bash +cat redpanda.log +``` +endif::[] + +=== Check for clock drift + +```bash +cat utils/ntp.txt | jq +``` + +Use the output to check for clock drift. For details about how NTP works, see the http://www.ntp.org/ntpfaq/NTP-s-algo.htm[NTP documentation^]. + +.Example output +[%collapsible] +==== +```json +{ + "host": "pool.ntp.org", + "roundTripTimeMs": 3, + "remoteTimeUTC": "2023-02-02T15:22:51.763175934Z", + "localTimeUTC": "2023-02-02T15:22:51.698044603Z", + "precisionMs": 0, + "offset": -458273 +} +``` +==== + +ifdef::env-kubernetes[] +=== View Kubernetes manifests + +```bash +tree k8s +``` + +.Example output +[%collapsible] +==== +``` +k8s +├── configmaps.json +├── endpoints.json +├── events.json +├── limitranges.json +├── persistentvolumeclaims.json +├── pods.json +├── replicationcontrollers.json +├── resourcequotas.json +├── serviceaccounts.json +└── services.json +``` +==== + +endif::[] \ No newline at end of file From 9954263532f80584440c8ca77ba34cd857d0a3fa Mon Sep 17 00:00:00 2001 From: Jake Cahill <45230295+JakeSCahill@users.noreply.github.com> Date: Fri, 22 Nov 2024 14:25:42 +0000 Subject: [PATCH 21/30] DOC-511 Schema CRD (#848) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Paulo Borges Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com> Co-authored-by: Gellért Peresztegi-Nagy Co-authored-by: Angela Simms <102690377+asimms41@users.noreply.github.com> Co-authored-by: Kat Batuigas <36839689+kbatuigas@users.noreply.github.com> Co-authored-by: Michele Cyran --- modules/ROOT/nav.adoc | 7 +- .../examples/kubernetes/schema-crds.feature | 106 +++++++ .../examples/kubernetes/topic-crds.feature | 27 ++ .../examples/kubernetes/user-crds.feature | 10 +- .../pages/kubernetes/k-schema-controller.adoc | 272 ++++++++++++++++++ .../authentication/k-user-controller.adoc | 4 +- .../pages/schema-reg/manage-schema-reg.adoc | 5 + 7 files changed, 422 insertions(+), 9 deletions(-) create mode 100644 modules/manage/examples/kubernetes/schema-crds.feature create mode 100644 modules/manage/examples/kubernetes/topic-crds.feature create mode 100644 modules/manage/pages/kubernetes/k-schema-controller.adoc create mode 100644 modules/manage/pages/schema-reg/manage-schema-reg.adoc diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index e6dc47758..96ff79daf 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -167,8 +167,11 @@ *** xref:manage:topic-recovery.adoc[Topic Recovery] *** xref:manage:whole-cluster-restore.adoc[Whole Cluster Restore] ** xref:manage:schema-reg/index.adoc[Schema Registry] -*** xref:manage:schema-reg/schema-reg-overview.adoc[] -*** xref:manage:schema-reg/schema-reg-api.adoc[] +*** xref:manage:schema-reg/schema-reg-overview.adoc[Overview] +*** xref:manage:schema-reg/manage-schema-reg.adoc[] +**** xref:manage:schema-reg/schema-reg-api.adoc[API] +**** xref:console:ui/schema-reg.adoc[Redpanda Console] +**** xref:manage:kubernetes/k-schema-controller.adoc[Kubernetes] *** xref:manage:schema-reg/schema-id-validation.adoc[] *** xref:console:ui/schema-reg.adoc[Manage in Redpanda Console] ** xref:manage:console/index.adoc[Redpanda Console] diff --git a/modules/manage/examples/kubernetes/schema-crds.feature b/modules/manage/examples/kubernetes/schema-crds.feature new file mode 100644 index 000000000..0ffe46a1e --- /dev/null +++ b/modules/manage/examples/kubernetes/schema-crds.feature @@ -0,0 +1,106 @@ +@cluster:basic +Feature: Schema CRDs + Background: Cluster available + Given cluster "basic" is available + + @skip:gke @skip:aks @skip:eks + Scenario: Manage customer profile schema (Avro) + Given there is no schema "customer-profile" in cluster "basic" + When I apply Kubernetes manifest: + """ +# tag::customer-profile-avro-schema-manifest[] + # This manifest creates an Avro schema named "customer-profile" in the "basic" cluster. + # The schema defines a record with fields for customer ID, name, and age. + --- + apiVersion: cluster.redpanda.com/v1alpha2 + kind: Schema + metadata: + name: customer-profile + spec: + cluster: + clusterRef: + name: basic + schemaType: avro + compatibilityLevel: Backward + text: | + { + "type": "record", + "name": "CustomerProfile", + "fields": [ + { "type": "string", "name": "customer_id" }, + { "type": "string", "name": "name" }, + { "type": "int", "name": "age" } + ] + } +# end::customer-profile-avro-schema-manifest[] + """ + And schema "customer-profile" is successfully synced + Then I should be able to check compatibility against "customer-profile" in cluster "basic" + + @skip:gke @skip:aks @skip:eks + Scenario: Manage product catalog schema (Protobuf) + Given there is no schema "product-catalog" in cluster "basic" + When I apply Kubernetes manifest: + """ +# tag::product-catalog-protobuf-schema-manifest[] + # This manifest creates a Protobuf schema named "product-catalog" in the "basic" cluster. + # The schema defines a message "Product" with fields for product ID, name, price, and category. + --- + apiVersion: cluster.redpanda.com/v1alpha2 + kind: Schema + metadata: + name: product-catalog + spec: + cluster: + clusterRef: + name: basic + schemaType: protobuf + compatibilityLevel: Backward + text: | + syntax = "proto3"; + + message Product { + int32 product_id = 1; + string product_name = 2; + double price = 3; + string category = 4; + } +# end::product-catalog-protobuf-schema-manifest[] + """ + And schema "product-catalog" is successfully synced + Then I should be able to check compatibility against "product-catalog" in cluster "basic" + + @skip:gke @skip:aks @skip:eks + Scenario: Manage order event schema (JSON) + Given there is no schema "order-event" in cluster "basic" + When I apply Kubernetes manifest: + """ +# tag::order-event-json-schema-manifest[] + # This manifest creates a JSON schema named "order-event" in the "basic" cluster. + # The schema requires an "order_id" (string) and a "total" (number) field, with no additional properties allowed. + --- + apiVersion: cluster.redpanda.com/v1alpha2 + kind: Schema + metadata: + name: order-event + spec: + cluster: + clusterRef: + name: basic + schemaType: json + compatibilityLevel: None + text: | + { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "order_id": { "type": "string" }, + "total": { "type": "number" } + }, + "required": ["order_id", "total"], + "additionalProperties": false + } +# end::order-event-json-schema-manifest[] + """ + And schema "order-event" is successfully synced + Then I should be able to check compatibility against "order-event" in cluster "basic" diff --git a/modules/manage/examples/kubernetes/topic-crds.feature b/modules/manage/examples/kubernetes/topic-crds.feature new file mode 100644 index 000000000..4b8218fb5 --- /dev/null +++ b/modules/manage/examples/kubernetes/topic-crds.feature @@ -0,0 +1,27 @@ +@cluster:basic +Feature: Topic CRDs + Background: Cluster available + Given cluster "basic" is available + + @skip:gke @skip:aks @skip:eks + Scenario: Manage topics + Given there is no topic "topic1" in cluster "basic" + When I apply Kubernetes manifest: + """ +# tag::basic-topic-example[] + # In this example manifest, a topic called "topic1" is created in a cluster called "basic". It has a replication factor of 1 and is distributed across a single partition. + --- + apiVersion: cluster.redpanda.com/v1alpha2 + kind: Topic + metadata: + name: topic1 + spec: + cluster: + clusterRef: + name: basic + partitions: 1 + replicationFactor: 1 +# end::basic-topic-example[] + """ + And topic "topic1" is successfully synced + Then I should be able to produce and consume from "topic1" in cluster "basic" \ No newline at end of file diff --git a/modules/manage/examples/kubernetes/user-crds.feature b/modules/manage/examples/kubernetes/user-crds.feature index 3712f6cb9..872b92845 100644 --- a/modules/manage/examples/kubernetes/user-crds.feature +++ b/modules/manage/examples/kubernetes/user-crds.feature @@ -25,7 +25,7 @@ Feature: User CRDs | jason | [{"type":"allow","resource":{"type":"cluster"},"operations":["Read"]}] | When I apply Kubernetes manifest: """ - # tag::manage-authn-only-manifest[] +# tag::manage-authn-only-manifest[] # In this example manifest, a user called "jason" is created in a cluster called "sasl". # The user's password is defined in a Secret called "jason-password". # This example assumes that you will create ACLs for this user separately. @@ -45,7 +45,7 @@ Feature: User CRDs secretKeyRef: name: jason-password key: password - # end::manage-authn-only-manifest[] +# end::manage-authn-only-manifest[] """ And user "jason" is successfully synced And I delete the CRD user "jason" @@ -58,7 +58,7 @@ Feature: User CRDs | travis | password | SCRAM-SHA-256 | When I apply Kubernetes manifest: """ - # tag::manage-authz-only-manifest[] +# tag::manage-authz-only-manifest[] # In this example manifest, an ACL called "travis" is created in a cluster called "sasl". # The ACL give an existing user called "travis" permissions to read from all topics whose names start with some-topic. # This example assumes that you already have a user called "travis" in your cluster. @@ -79,8 +79,8 @@ Feature: User CRDs name: some-topic patternType: prefixed operations: [Read] - # end::manage-authz-only-manifest[] +# end::manage-authz-only-manifest[] """ And user "travis" is successfully synced And I delete the CRD user "travis" - Then "travis" should be able to authenticate to the "sasl" cluster with password "password" and mechanism "SCRAM-SHA-256" + Then "travis" should be able to authenticate to the "sasl" cluster with password "password" and mechanism "SCRAM-SHA-256" \ No newline at end of file diff --git a/modules/manage/pages/kubernetes/k-schema-controller.adoc b/modules/manage/pages/kubernetes/k-schema-controller.adoc new file mode 100644 index 000000000..aaaa8606a --- /dev/null +++ b/modules/manage/pages/kubernetes/k-schema-controller.adoc @@ -0,0 +1,272 @@ += Manage Schemas with the Redpanda Operator +:description: Use the Schema resource to declaratively create and manage schemas as part of a Redpanda deployment in Kubernetes. +:page-categories: Management, Development +:env-kubernetes: true + +Use the Schema resource to declaratively create and manage schemas as part of a Redpanda deployment in Kubernetes. Each Schema resource maps to a schema in your Redpanda cluster, allowing you to define data structures, compatibility, and schema evolution in a declarative way. + +== Prerequisites + +Ensure you have the following: + +* *Kubectl*: Ensure the https://kubernetes.io/docs/tasks/tools/#kubectl[kubectl^] command-line tool is installed and configured to communicate with your cluster. +* *Redpanda cluster*: Ensure you have at least version v2.3.0-24.3.1 of the xref:deploy:deployment-option/self-hosted/kubernetes/k-production-deployment.adoc[Redpanda Operator] and a Redpanda resource deployed and accessible. + +== Create a schema + +. Define a schema using the Schema resource. Here's a basic example configuration that defines an Avro schema: ++ +.`schema.yaml` +[source,yaml] +---- +apiVersion: cluster.redpanda.com/v1alpha2 +kind: Schema +metadata: + name: example-schema + namespace: +spec: + cluster: + clusterRef: + name: + schemaType: avro + compatibilityLevel: Backward + text: | + { + "type": "record", + "name": "ExampleRecord", + "fields": [ + { "type": "string", "name": "field1" }, + { "type": "int", "name": "field2" } + ] + } +---- ++ +Replace the following placeholders: ++ +- ``: The namespace in which to deploy the Schema resource. The Schema resource must be deployed in the same namespace as the Redpanda resource defined in `clusterRef.name`. +- ``: The name of the Redpanda resource that defines the Redpanda cluster to which you want to upload the schema. + +. Apply the manifest: ++ +[source,bash] +---- +kubectl apply -f schema.yaml --namespace +---- ++ +When the manifest is applied, the schema will be created in your Redpanda cluster. + +. Check the status of the Schema resource using the following command: ++ +[,bash] +---- +kubect get schema example-schema --namespace +---- + +. Verify that the schema was created in Redpanda: ++ +[source,bash] +---- +kubectl exec -it --namespace -- curl https://...svc.cluster.local:8081/subjects -sS --cacert /etc/tls/certs/default/ca.crt -w '\n' +---- ++ +Replace `` with the name of a Pod that's running Redpanda. + +== Schema examples + +These examples demonstrate how to define schemas in Avro, Protobuf, and JSON Schema formats. + +=== Create an Avro schema + +.`avro-schema.yaml` +[,yaml,indent=0] +---- +include::manage:example$kubernetes/schema-crds.feature[tags=customer-profile-avro-schema-manifest,indent=0] +---- + +=== Create a Protobuf schema + +.`proto-schema.yaml` +[,yaml,indent=0] +---- +include::manage:example$kubernetes/schema-crds.feature[tags=product-catalog-protobuf-schema-manifest,indent=0] +---- + +=== Create a JSON schema + +.`json-schema.yaml` +[,yaml,indent=0] +---- +include::manage:example$kubernetes/schema-crds.feature[tags=order-event-json-schema-manifest,indent=0] +---- + +== Configuration + +The Schema resource in Redpanda offers various options to customize and control schema behavior. This section covers schema compatibility, schema references, and schema types, providing a detailed guide on using each of these features to maintain data integrity, manage dependencies, and facilitate schema evolution. + +You can find all configuration options for the Schema resource in the xref:reference:k-crd.adoc#k8s-api-github-com-redpanda-data-redpanda-operator-operator-api-redpanda-v1alpha2-schema[CRD reference]. + +.`schema.yaml` +[source,yaml] +---- +apiVersion: cluster.redpanda.com/v1alpha2 +kind: Schema +metadata: + name: <.> + namespace: <.> +spec: + cluster: + clusterRef: + name: <.> + schemaType: avro <.> + compatibilityLevel: Backward <.> + references: [] <.> + text: | <.> + { + "type": "record", + "name": "test", + "fields": [ + { "type": "string", "name": "field1" }, + { "type": "int", "name": "field2" } + ] + } +---- + +<.> *Subject name*: The name of the subject for the schema. When data formats are updated, a new version of the schema can be registered under the same subject, enabling backward and forward compatibility. +<.> *Namespace*: The namespace in which to deploy the Schema resource. The Schema resource must be deployed in the same namespace as the Redpanda resource defined in `clusterRef.name`. +<.> *Cluster name*: The name of the Redpanda resource that defines the Redpanda cluster to which you want to upload the schema. +<.> *Compatibility level*: Defines the compatibility level for the schema. Options are `Backward` (default), `BackwardTransitive`, `Forward`, `ForwardTransitive` `Full`, `FullTransitive`, or `None`. See <>. +<.> *Schema type*: Specifies the type of the schema. Options are `avro` (default) or `protobuf`. For JSON Schema, include `"$schema":` in the `text` to indicate the JSON Schema draft version. See <>. +<.> *References*: Any references you want to add to other schemas. If no references are needed, this can be an empty list (default). See <>. +<.> *Schema body*: The body of the schema, which defines the data structure. + +=== Choose a schema type + +Redpanda's Schema Registry supports the following schema types: + +* *Avro*: A widely used serialization format in event-driven architectures. +* *Protobuf*: Popular for defining data structures in gRPC APIs and efficient data serialization. +* *JSON Schema*: Dynamic, schema-based validation for JSON documents. + +If no type is specified, Redpanda defaults to Avro. + +=== Choose a compatibility mode + +Compatibility modes determine how schema versions within a subject can evolve without breaking existing data consumers. Redpanda supports the following compatibility levels: + +* `None`: Disables compatibility checks, allowing any schema change. +* `Backward`: Consumers using the new schema (for example, version 10) can read data from producers using the previous schema (for example, version 9). +* `BackwardTransitive`: Enforces backward compatibility across all versions, not just the latest. +* `Forward`: Consumers using the previous schema (for example, version 9) can read data from producers using the new schema (for example, version 10). +* `ForwardTransitive`: Ensures forward compatibility across all schema versions. +* `Full`: Combines backward and forward compatibility, requiring that changes maintain compatibility in both directions. A new schema and the previous schema (for example, versions 10 and 9) are both backward and forward-compatible with each other. +* `FullTransitive`: Enforces full compatibility across all schema versions. + +For example, to set full compatibility, configure the Schema resource with: + +[source,yaml] +---- +apiVersion: cluster.redpanda.com/v1alpha2 +kind: Schema +metadata: + name: fully-compatible-schema + namespace: redpanda +spec: + cluster: + clusterRef: + name: basic + schemaType: avro + compatibilityLevel: Full + text: | + { + "type": "record", + "name": "ExampleRecord", + "fields": [ + { "type": "string", "name": "field1" }, + { "type": "int", "name": "field2" } + ] + } +---- + +Compatibility settings are essential for maintaining data consistency, especially when updating schemas over time. + +=== Use schema references + +For complex data structures, you can define schema references that allow one schema to reference another, enabling modular and reusable schema components. Schema references are helpful for shared data structures across topics like product information or user profiles, reducing redundancy. + +NOTE: This feature is supported for Avro and Protobuf schemas. + +Define a schema reference using the `references` field. The reference includes the name, subject, and version of the referenced schema: + +[source,yaml] +---- +apiVersion: cluster.redpanda.com/v1alpha2 +kind: Schema +metadata: + name: order-schema + namespace: redpanda +spec: + cluster: + clusterRef: + name: basic + references: + - name: product-schema + subject: product + version: 1 + text: | + { + "type": "record", + "name": "Order", + "fields": [ + { "name": "product", "type": "Product" } + ] + } +---- + +== Update a schema + +To update a schema, modify the Schema resource and apply the changes: + +[source,bash] +---- +kubectl apply -f .yaml --namespace +---- + +== Check schema version + +Ensure the schema has been versioned by running: + +[source,bash] +---- +kubectl get schema --namespace +---- + +You can also check specific versions of the schema: + +[source,bash] +---- +kubectl exec -it --namespace -- curl https://...svc.cluster.local:8081/schemas/ids/1 -sS --cacert /etc/tls/certs/default/ca.crt -w '\n' +kubectl exec -it --namespace -- curl https://...svc.cluster.local:8081/schemas/ids/2 -sS --cacert /etc/tls/certs/default/ca.crt -w '\n' +---- + +== Delete a schema + +To delete a schema, use the following command: + +[source,bash] +---- +kubectl delete schema --namespace redpanda +---- + +Verify that the schema was deleted by checking the Redpanda Schema Registry: + +[source,bash] +---- +kubectl exec -it --namespace -- curl https://...svc.cluster.local:8081/subjects -sS --cacert /etc/tls/certs/default/ca.crt -w '\n' +---- + +== Suggested reading + +For more details on using schemas in Redpanda, see: + +* xref:manage:schema-reg/index.adoc[] + diff --git a/modules/manage/pages/kubernetes/security/authentication/k-user-controller.adoc b/modules/manage/pages/kubernetes/security/authentication/k-user-controller.adoc index 092a6d700..5c46594f1 100644 --- a/modules/manage/pages/kubernetes/security/authentication/k-user-controller.adoc +++ b/modules/manage/pages/kubernetes/security/authentication/k-user-controller.adoc @@ -91,9 +91,9 @@ spec: operations: [Read,Write] ---- -== Configuration best practices +== Configuration -The following sections provide guidance on setting up user authentication, managing secrets, and defining ACLs within your Kubernetes environment. These recommendations ensure proper user management while minimizing manual interventions and preventing potential security issues. By following these best practices, you can ensure that user access and permissions are correctly configured and maintained across your Redpanda cluster. +The following sections provide guidance on setting up user authentication, managing secrets, and defining ACLs within your Kubernetes environment. These recommendations ensure proper user management while minimizing manual interventions and preventing potential security issues. You can find all configuration options for the User resource in the xref:reference:k-crd.adoc#k8s-api-github-com-redpanda-data-redpanda-operator-operator-api-redpanda-v1alpha2-user[CRD reference]. diff --git a/modules/manage/pages/schema-reg/manage-schema-reg.adoc b/modules/manage/pages/schema-reg/manage-schema-reg.adoc new file mode 100644 index 000000000..b0c456ae0 --- /dev/null +++ b/modules/manage/pages/schema-reg/manage-schema-reg.adoc @@ -0,0 +1,5 @@ += Use Schema Registry +:page-layout: index +:description: Learn how to add, delete, and update schemas in Redpanda Self-Managed. + +{description} \ No newline at end of file From 4f3a993cb2a2c95fd671c21b8a7d73f40894ccb3 Mon Sep 17 00:00:00 2001 From: Jake Cahill <45230295+JakeSCahill@users.noreply.github.com> Date: Fri, 22 Nov 2024 20:32:59 +0000 Subject: [PATCH 22/30] DOC-546 Document the new `useFlux` flag (#859) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Paulo Borges Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com> Co-authored-by: Gellért Peresztegi-Nagy Co-authored-by: Angela Simms <102690377+asimms41@users.noreply.github.com> Co-authored-by: Kat Batuigas <36839689+kbatuigas@users.noreply.github.com> Co-authored-by: Michele Cyran --- .../kubernetes/k-deployment-overview.adoc | 116 ++++++++++-------- .../kubernetes/k-production-deployment.adoc | 8 +- modules/get-started/pages/whats-new.adoc | 48 ++++++-- 3 files changed, 106 insertions(+), 66 deletions(-) diff --git a/modules/deploy/pages/deployment-option/self-hosted/kubernetes/k-deployment-overview.adoc b/modules/deploy/pages/deployment-option/self-hosted/kubernetes/k-deployment-overview.adoc index 2673266fd..2f16e31e3 100644 --- a/modules/deploy/pages/deployment-option/self-hosted/kubernetes/k-deployment-overview.adoc +++ b/modules/deploy/pages/deployment-option/self-hosted/kubernetes/k-deployment-overview.adoc @@ -5,106 +5,120 @@ :env-kubernetes: true :page-categories: Deployment, GitOps -Kubernetes is a container orchestration tool that helps you manage Redpanda deployments using declarative configuration files called _manifests_. -Kubernetes provides a standardized way of achieving the following: +Kubernetes is a container orchestration tool that helps you manage Redpanda deployments using declarative configuration files called _manifests_. Kubernetes provides a standardized way of achieving the following: * High availability * Disaster recovery * Scalability -== Redpanda Helm chart vs Redpanda Operator +== Deployment tools -To deploy Redpanda in Kubernetes, you can choose to use Helm for its simplicity, or combine Helm with the Redpanda Operator to leverage custom resource definitions (CRDs) for a more GitOps-friendly deployment process. Redpanda Operator is the recommended deployment option. +To deploy Redpanda in Kubernetes, you can choose to use Helm for its simplicity or the Redpanda Operator to leverage custom resource definitions (CRDs) for a more GitOps-friendly deployment process. The Redpanda Operator is the recommended option for production deployments. |=== -| Feature | Helm | Helm + Redpanda Operator +| Feature | Helm | Redpanda Operator | *Version management* -| Directly supported through Helm, enabling updates and rollbacks. -| Managed through Helm. +| Supported through Helm, enabling updates and rollbacks. +| Managed through Redpanda custom resources, with optional integration with Flux for GitOps workflows. | *Multi-tenant Kubernetes clusters* -| Supported. Helm allows you to deploy multiple independent Redpanda clusters by defining different Helm release names. -| Supported. The Redpanda Operator enables a more declarative approach for managing multi-tenant clusters using the RedpandaList custom resource. +| Supported. Helm allows deployment of multiple independent Redpanda clusters by defining different Helm release names. +| Supported. The Redpanda Operator provides a declarative approach for managing multi-tenant clusters using the RedpandaList custom resource. | *Dependency and configuration management* -| Managed directly through the Redpanda Helm chart. -| Configurations defined in custom resources are passed to Helm, which then manages the dependencies and configurations. +| Managed through the Redpanda Helm chart. +| Configurations are defined in custom resources. |=== -TIP: If you are already using the Redpanda Helm chart and want to migrate to the latest Redpanda Operator to manage your deployment, see xref:upgrade:migrate/kubernetes/helm-to-operator.adoc[Migrate from the Redpanda Helm chart]. +TIP: If you are already using the Redpanda Helm chart and want to migrate to the latest Redpanda Operator for better lifecycle management, see xref:upgrade:migrate/kubernetes/helm-to-operator.adoc[Migrate from the Redpanda Helm chart]. === Helm -https://helm.sh/docs[Helm^] is a package manager for Kubernetes, which simplifies the process of defining, installing, and upgrading Kubernetes applications. Helm uses charts, a collection of files that describe a related set of Kubernetes resources, to deploy applications in a Kubernetes cluster. +https://helm.sh/docs[Helm^] is a package manager for Kubernetes that simplifies defining, installing, and upgrading Kubernetes applications. Helm uses charts, a collection of files describing Kubernetes resources, to deploy applications in a Kubernetes cluster. -The Redpanda Helm chart generates and applies all the manifest files you need for deploying Redpanda in Kubernetes, including: +The Redpanda Helm chart provides all the manifest files required to deploy Redpanda in Kubernetes, including: -- The StatefulSet to manage the Redpanda brokers. -- A Headless ClusterIP Service for internal communication with the Redpanda cluster. -- A NodePort Service for external communication with the Redpanda cluster. +- A StatefulSet to manage Redpanda brokers +- A Headless ClusterIP Service for internal communication with the Redpanda cluster +- A NodePort Service for external communication with the Redpanda cluster -The Redpanda Helm chart comes with default settings that enable a straightforward deployment out of the box. However, Helm also offers customization by allowing you to override these default values. -You can override the defaults in your own YAML files using the `--values` option or directly in the command line with the `--set` option. These changes in Helm chart values not only influence the configuration of the Redpanda cluster, but also determine what Kubernetes resources are deployed and how these resources are configured. +[[helm-and-redpanda-operator]] +=== Redpanda Operator -=== Helm and Redpanda Operator +The Redpanda Operator provides two deployment modes controlled by the `useFlux` flag. The modes differ in how reconciliation is handled: -The recommended option for deploying Redpanda in Kubernetes is a combination of <> and the Redpanda Operator. While the Helm chart facilitates the deployment of Redpanda, the Redpanda Operator manages the lifecycle of Redpanda clusters. The operator uses https://fluxcd.io/flux/concepts/[Flux^] to automate the deployment of the Redpanda Helm chart through the HelmRelease resource. +- *Flux-managed mode (`useFlux: true`)*: +When `useFlux` is set to `true` (default), the Redpanda Operator delegates reconciliation to https://fluxcd.io/flux/concepts/[Flux^] controllers. The workflow is as follows: ++ +. The Redpanda Operator defines the necessary CRDs for Redpanda. A Redpanda resource represents a Redpanda cluster, configured through the Redpanda Helm chart values. +. When the Redpanda Operator detects changes to Redpanda resources, it triggers Flux to reconcile the corresponding HelmRelease resource. +. Flux uses the HelmRelease resource to manage the lifecycle of the Redpanda Helm chart, applying updates as needed. -Flux, when integrated with the Redpanda Operator, uses the HelmRelease resource to manage the lifecycle of the Redpanda Helm chart in the Kubernetes cluster. This integration streamlines the creation and management of Redpanda clusters, ensuring they are always in the desired state as defined by the operator's custom resource definitions (CRDs). +- *Redpanda-managed mode (`useFlux: false`)*: +When `useFlux` is set to `false`, the Redpanda Operator manages and reconciles Redpanda resources directly, without involving Flux. This mode works as follows: ++ +. The Redpanda Operator creates both `HelmRelease` and `HelmRepository` resources but suspends them, keeping Flux inactive. ++ +NOTE: Although these resources are created in a suspended state, the operator still requires the Flux CRDs to be installed. +. The operator directly reconciles Redpanda resources, performing tasks such as installations, updates, and cleanup, normally handled by Flux. +. If `useFlux` is later re-enabled, the operator unsuspends the Flux resources, and Flux resumes lifecycle management. -image::shared:operator-flux-relationship.png[CRDs for the Redpanda Operator include Flux CRDs. Flux manages the Redpanda Helm chart through the HelmRelease resource.] - -Here's how it works with Flux: +Example configuration to specify the deployment mode in Redpanda's custom resource: -. The Redpanda Operator defines the necessary CRDs for Redpanda. The Redpanda resource represents a Redpanda cluster that's configured using values from the Redpanda Helm chart. -. When the Redpanda Operator detects changes to these Redpanda resources, it triggers Flux to reconcile the corresponding HelmRelease resource. -. Flux uses the HelmRelease resource to manage the lifecycle of the Redpanda Helm chart in the cluster. +[,yaml] +---- +apiVersion: cluster.redpanda.com/v1alpha2 +kind: Redpanda +metadata: + name: redpanda +spec: + clusterSpec: + useFlux: true # or false, depending on your desired deployment mode +---- -If you already have Flux installed in your environment, you can disable the Flux HelmReleaseController and SourceController in the Redpanda Operator to prevent redundant reconciliations of HelmRelease resources. For details, see xref:./k-production-deployment.adoc#config-operator[Deploy a Redpanda cluster]. +image::shared:operator-flux-relationship.png[CRDs for the Redpanda Operator include Flux CRDs. Flux manages the Redpanda Helm chart through the HelmRelease resource.] -== Managed vs bare-metal +== Kubernetes deployment environments -You can run Redpanda on managed Kubernetes services as well as in bare-metal environments. Managed Kubernetes services offer simpler deployment and maintenance, while bare-metal environments provide complete control and potential cost efficiencies. +You can run Redpanda on managed Kubernetes services as well as in bare-metal environments. Managed Kubernetes services offer simpler deployment and maintenance, while bare-metal environments provide complete control and cost efficiencies. === Managed Kubernetes -Managed Kubernetes services manage one or more components of a Kubernetes cluster for you. Several cloud computing vendors provide this service, such as Google Cloud's Google Kubernetes Engine (GKE) and Amazon Web Services' Elastic Kubernetes Service (EKS). - -Managed Kubernetes platforms provide the following benefits: +Managed Kubernetes services, such as Google Kubernetes Engine (GKE) and Amazon Elastic Kubernetes Service (EKS), handle core components of a Kubernetes cluster, offering benefits such as: -* *Ease of deployment*: Managed Kubernetes platforms allow you to provision cloud instances to serve as worker nodes. These instances are pre-configured with Kubernetes agent software and automatically join your Kubernetes cluster, making the process of deploying Redpanda simpler and more efficient. -* *Control plane maintenance*: The managed service provider maintains and updates the control plane software, ensuring that it remains secure, reliable, and up-to-date. -* *Health monitoring and repairs*: The health of the master nodes is continuously monitored, and repairs are made as necessary. This provides an additional level of confidence in the reliability of the platform. +* *Ease of deployment*: Pre-configured instances join your Kubernetes cluster automatically. +* *Control plane maintenance*: The provider maintains the control plane, ensuring security and reliability. +* *Health monitoring and repairs*: The provider monitors master nodes and repairs them as needed. -However, you are still responsible for deploying and maintaining your Redpanda instances on the worker nodes. +You remain responsible for deploying and maintaining Redpanda instances on worker nodes. === Bare-metal Kubernetes environments -Bare-metal Kubernetes environments refer to any deployments where you are responsible for both the control plane and the worker nodes. Running Redpanda on bare-metal environments offers several advantages: +Bare-metal Kubernetes environments give you complete control over both the control plane and the worker nodes, which can be advantageous when you want the following: -* *Complete control*: With bare-metal Kubernetes, you have full control over every aspect of the deployment. Bare-metal deployments may be beneficial when your needs aren't addressed by managed Kubernetes services. -* *Custom configuration*: Bare-metal allows for granular control over the Kubernetes configuration, meaning you can fine-tune the environment. -* *Cost efficiency*: Owning and operating your own hardware may prove to be more cost-effective. +* *Complete control*: Bare-metal Kubernetes offers control over every aspect of deployment, suited for highly customized environments. +* *Custom configurations*: You have granular control to fine-tune the Kubernetes setup. +* *Cost efficiency*: Owning and operating your hardware may be more economical over time. == Documentation conventions -The Kubernetes documentation follows these conventions: +This documentation follows conventions to help users easily identify Kubernetes resource types and Helm values: -* Resource names: Kubernetes resources names, such as Service or PersistentVolume, are distinguished by the use of Pascal case. These are the names of resources when specified as a kind in manifest files. -* Helm values: Helm values, such as `storage.persistentVolume.enabled`, are rendered in monospace font and written according to the JSON path specification. +* *Resource names*: Kubernetes resource names, such as Service or PersistentVolume, are capitalized and in Pascal case to match the manifest files. +* *Helm values*: Helm values, like `storage.persistentVolume.enabled`, are displayed in monospace font. == Next steps -Whether you're deploying locally or in the cloud, choose one of the following guides to get you started: +Whether you're deploying locally or in the cloud, choose one of the following guides to get started: -* xref:./local-guide.adoc[Local] (kind and minikube) -* xref:./aks-guide.adoc[Azure Kubernetes Service] (AKS) -* xref:./eks-guide.adoc[Elastic Kubernetes Service] (EKS) -* xref:./gke-guide.adoc[Google Kubernetes Engine] (GKE) +* xref:./local-guide.adoc[Local Deployment Guide] (kind and minikube) +* xref:./aks-guide.adoc[Azure Kubernetes Service Guide] (AKS) +* xref:./eks-guide.adoc[Elastic Kubernetes Service Guide] (EKS) +* xref:./gke-guide.adoc[Google Kubernetes Engine Guide] (GKE) -Or, you can explore our xref:./k-production-workflow.adoc[production workflow] to learn more about the requirements and best practices. +Or, explore our xref:./k-production-workflow.adoc[production workflow] to learn about requirements and best practices. include::shared:partial$suggested-reading.adoc[] diff --git a/modules/deploy/pages/deployment-option/self-hosted/kubernetes/k-production-deployment.adoc b/modules/deploy/pages/deployment-option/self-hosted/kubernetes/k-production-deployment.adoc index 77c32ad0f..948c74716 100644 --- a/modules/deploy/pages/deployment-option/self-hosted/kubernetes/k-production-deployment.adoc +++ b/modules/deploy/pages/deployment-option/self-hosted/kubernetes/k-production-deployment.adoc @@ -7,7 +7,7 @@ :env-kubernetes: true :page-categories: Deployment, GitOps -This topic describes how to configure and deploy one or more Redpanda clusters in Kubernetes. +This topic describes how to configure and deploy one or more Redpanda clusters and Redpanda Console in Kubernetes. == Prerequisites @@ -17,11 +17,9 @@ You must already have a ConfigMap that stores your `io-config.yaml` file. See xr == Deploy a Redpanda cluster -To deploy Redpanda, you can use the following methods. Regardless of the method you choose to deploy Redpanda, you'll deploy the Redpanda Helm chart, which includes Redpanda and Redpanda Console. Redpanda Console comes bundled as a subchart within the Redpanda Helm chart. +To deploy Redpanda and Redpanda Console, you can use the following tools: - *Helm and the Redpanda Operator*: The Redpanda Operator extends Kubernetes with custom resource definitions (CRDs), allowing you to define Redpanda clusters as native Kubernetes resources. The resource that the Redpanda Operator uses to represent a Redpanda cluster is the Redpanda resource. -+ -The Redpanda Operator handles the deployment and management of the Redpanda Helm chart for you by using https://fluxcd.io/flux/concepts/[Flux^]. When you deploy a Redpanda resource, the Redpanda Operator takes that configuration and passes it to Flux. Flux, in turn, interacts with Helm, by creating the necessary HelmRepository and HelmRelease resources to deploy and manage the Redpanda Helm chart. - *Helm*: https://helm.sh/docs[Helm^] is a package manager for Kubernetes, which simplifies the process of defining, installing, and upgrading Kubernetes applications. Helm uses charts, a collection of files that describe a related set of Kubernetes resources, to deploy applications in a Kubernetes cluster. TIP: For more details about the differences between these two methods, see xref:./k-deployment-overview.adoc[]. @@ -105,6 +103,7 @@ spec: chartRef: chartVersion: {latest-redpanda-helm-chart-version} clusterSpec: + #useFlux: true #enterprise: #licenseSecretRef: #name: @@ -125,6 +124,7 @@ spec: - xref:reference:k-crd.adoc#k8s-api-github-com-redpanda-data-redpanda-operator-api-redpanda-v1alpha2-chartref[`spec.chartRef`]: Information about the Helm chart that will be used to deploy Redpanda. - `spec.chartRef.chartVersion`: This field specifies the exact version of the Redpanda Helm chart to use for deployment. By setting this value, you <>, which prevents automatic updates that might introduce breaking changes or new features that have not been tested in your environment. - xref:reference:k-crd.adoc#k8s-api-github-com-redpanda-data-redpanda-operator-api-redpanda-v1alpha2-redpandaclusterspec[`spec.clusterSpec`]: This is where you can override default values in the Redpanda Helm chart. Here, you mount the <> to the Pods that run Redpanda. For other configuration details, see <>. +- `spec.clusterSpec.useFlux`: By default, the Redpanda Operator uses Flux controllers to deploy and manage the Redpanda resource. Set this to `false` to disable Flux and instead use the Redpanda Operator controllers. - `spec.clusterSpec.enterprise`: If you want to use enterprise features in Redpanda, uncomment this section and add the details of a Secret that stores your Enterprise Edition license key. For details, see xref:get-started:licenses.adoc[]. - `spec.clusterSpec.statefulset`: Here, you mount the <> to the Pods that run Redpanda. For other configuration details, see <>. diff --git a/modules/get-started/pages/whats-new.adoc b/modules/get-started/pages/whats-new.adoc index ab1ebc84e..0724b3b63 100644 --- a/modules/get-started/pages/whats-new.adoc +++ b/modules/get-started/pages/whats-new.adoc @@ -19,7 +19,7 @@ For topics with Tiered Storage enabled, you can unmount a topic to safely detach xref:manage:cluster-maintenance/cluster-balancing.adoc#intra-broker-partition-balancing[Intra-broker partition balancing] has moved out of beta and is supported for production clusters. This dynamically balances partitions across cores within a Redpanda broker. You also can decrease the number of CPUs assigned to a broker. Existing partition replicas are reassigned to the remaining CPU cores when the broker restarts with fewer available cores. -== Tombstone removal +== Tombstone removal Redpanda now supports the Kafka `delete.retention.ms` topic configuration. You can specify how long Redpanda keeps xref:manage:cluster-maintenance/compaction-settings.adoc#tombstone-record-removal[tombstone records] for compacted topics by setting `delete.retention.ms` at the topic level, or `tombstone_retention_ms` at the cluster level. @@ -27,16 +27,6 @@ Redpanda now supports the Kafka `delete.retention.ms` topic configuration. You c You can now xref:troubleshoot:debug-bundle/index.adoc[generate a debug bundle] in Redpanda Console for comprehensive diagnostics. A debug bundle can help debug and diagnose issues with a Redpanda cluster, a broker, or the machines on which the brokers are running. You can use this file to debug issues yourself, or you can send it to the Redpanda support team to help resolve your issue. -== Declarative user and ACL management in Kubernetes - -Redpanda now supports declarative management of users and access control lists (ACLs) using the new User custom resource with the Redpanda Operator. This feature allows you to: - -- Create and manage Redpanda users and their authentication settings. -- Define and manage ACLs to control access to Redpanda resources. -- Automatically reconcile changes to users and ACLs using the Redpanda Operator. - -To learn more, see the xref:manage:kubernetes/security/authentication/k-user-controller.adoc[User custom resource documentation]. - == Backfill partitions When running xref:manage:cluster-maintenance/nodewise-partition-recovery.adoc[node-wise partition recovery], it's possible that there may be more recent data (a higher offset) available in Tiered Storage. Redpanda attempts to recover partition data from object storage, recovering the latest offset available for a partition in either storage tier (local or object storage). This allows for the maximum amount of data to be recovered in all cases, even for topics with a replication factor of 1, where no replicas remain in local storage. @@ -59,6 +49,42 @@ This release includes several updates to xref:get-started:licensing/overview.ado - *30 day trial Enterprise license*: Starting with version 24.3, new Redpanda clusters automatically receive a trial license that's valid for 30 days, allowing unrestricted use of Enterprise features. This evaluation period begins when the cluster is created for the first time. After this period expires, inactive Enterprise features are disabled, and active features enter a restricted state. +== Declarative user and ACL management in Kubernetes + +The Redpanda Operator now supports declarative management of users and access control lists (ACLs) using the new User custom resource, starting in version v2.2.2-24.2.4. This feature allows you to: + +- Create and manage Redpanda users and their authentication settings. +- Define and manage ACLs to control access to Redpanda resources. +- Automatically reconcile changes to users and ACLs using the Redpanda Operator. + +To learn more, see the xref:manage:kubernetes/security/authentication/k-user-controller.adoc[User custom resource documentation]. + +== Declarative schema management in Kubernetes + +The Redpanda Operator now supports declarative schema management using the Schema custom resource, starting in version v2.3.0-24.3.1. This feature allows you to: + +- Define, create, and manage Avro, Protobuf, and JSON schemas declaratively. +- Enforce schema compatibility and evolution policies directly in Kubernetes. +- Automate schema lifecycle management alongside Redpanda deployments. + +To learn more, see the xref:manage:kubernetes/k-schema-controller.adoc[Schema custom resource documentation]. + +== Use Redpanda Operator without Flux + +The Redpanda Operator now supports the `useFlux` flag, giving you control over resource management, starting in version v2.3.0-24.3.1: + +- `useFlux: true` (default): Delegates Redpanda resource management to Flux controllers through HelmRelease resources. +- `useFlux: false`: Directly manages resources within the Redpanda Operator, bypassing Flux. + +Example: + +[,yaml] +---- +spec: + clusterSpec: + useFlux: false +---- + == New commands The following `rpk` commands are new in this version: From 1e54b6bca04efbd9ee37adbca9dab7ed95f14def Mon Sep 17 00:00:00 2001 From: Jake Cahill <45230295+JakeSCahill@users.noreply.github.com> Date: Sun, 24 Nov 2024 18:44:21 +0000 Subject: [PATCH 23/30] DOC-657 Add note about 30-day baked-in trial licenses for Redpanda 24.3 (#853) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Paulo Borges Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com> Co-authored-by: Gellért Peresztegi-Nagy Co-authored-by: Angela Simms <102690377+asimms41@users.noreply.github.com> Co-authored-by: Kat Batuigas <36839689+kbatuigas@users.noreply.github.com> Co-authored-by: Michele Cyran --- modules/ROOT/nav.adoc | 5 +- .../pages/config/enterprise-license.adoc | 2 +- .../pages/produce-data/leader-pinning.adoc | 31 +-- .../add-license-redpanda/kubernetes.adoc | 2 +- .../licensing/add-license-redpanda/linux.adoc | 2 +- .../disable-enterprise-features.adoc | 163 ++++++++++++++++ .../licensing/monitor-license-status.adoc | 176 +++++++++++------- .../get-started/pages/licensing/overview.adoc | 109 +++++++---- modules/get-started/pages/whats-new.adoc | 2 +- .../licensing/block-upgrades-note.adoc | 1 + .../partials/licensing/check-license.adoc | 7 +- .../licensing/enterprise-features.adoc | 19 -- .../cluster-balancing.adoc | 27 +-- .../pages/properties/topic-properties.adoc | 4 +- .../partials/enterprise-and-console.adoc | 2 +- .../shared/partials/enterprise-license.adoc | 4 +- .../partials/errors-and-solutions.adoc | 9 +- modules/upgrade/pages/k-rolling-upgrade.adoc | 8 +- 18 files changed, 413 insertions(+), 160 deletions(-) create mode 100644 modules/get-started/pages/licensing/disable-enterprise-features.adoc create mode 100644 modules/get-started/partials/licensing/block-upgrades-note.adoc delete mode 100644 modules/get-started/partials/licensing/enterprise-features.adoc diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index 96ff79daf..975de24c5 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -10,11 +10,12 @@ *** xref:console:quickstart.adoc[Redpanda Console] ** 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/index.adoc[Add License] **** xref:get-started:licensing/add-license-redpanda/linux.adoc[Linux] **** xref:get-started:licensing/add-license-redpanda/kubernetes.adoc[Kubernetes] **** xref:console:ui/add-license.adoc[Redpanda Console] -*** xref:get-started:licensing/monitor-license-status.adoc[Monitor Enterprise Licenses] +*** xref:get-started:licensing/monitor-license-status.adoc[Check Status] +*** xref:get-started:licensing/disable-enterprise-features.adoc[Disable Enterprise Features] ** xref:get-started:rpk/index.adoc[Redpanda CLI] *** xref:get-started:intro-to-rpk.adoc[Introduction to rpk] *** xref:get-started:rpk-install.adoc[] diff --git a/modules/console/pages/config/enterprise-license.adoc b/modules/console/pages/config/enterprise-license.adoc index c327dafe0..d2dca6c15 100644 --- a/modules/console/pages/config/enterprise-license.adoc +++ b/modules/console/pages/config/enterprise-license.adoc @@ -7,7 +7,7 @@ TIP: Redpanda Console can also load the license key from a connected Redpanda cl == Prerequisites -You must have an Enterprise Edition license. If you don't have a license yet, https://www.redpanda.com/contact[request one^]. +You must have an Enterprise Edition license. To get a trial license key or extend your trial period, https://redpanda.com/try-enterprise[generate a new trial license key^]. To purchase a license, contact https://redpanda.com/upgrade[Redpanda Sales^]. 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[]. diff --git a/modules/develop/pages/produce-data/leader-pinning.adoc b/modules/develop/pages/produce-data/leader-pinning.adoc index a855009e8..06dd7ebbd 100644 --- a/modules/develop/pages/produce-data/leader-pinning.adoc +++ b/modules/develop/pages/produce-data/leader-pinning.adoc @@ -1,44 +1,45 @@ = Leader Pinning // tag::single-source[] -:description: Learn about leader pinning and how to configure a preferred partition leader location based on cloud availability zones or regions. - -Produce requests that write data to Redpanda topics go through the topic partition leader, which syncs messages across its follower replicas. For a Redpanda cluster deployed across multiple availability zones (AZs), leader pinning ensures that a topic's partition leaders are geographically closer to clients, which helps decrease networking costs and guarantees lower latency. - -If consumers are located in the same preferred region or AZ for leader pinning, and you have not set up xref:develop:consume-data/follower-fetching.adoc[follower fetching], leader pinning can also help reduce networking costs on consume requests. - -== Prerequisites +:description: Learn about Leader Pinning and how to configure a preferred partition leader location based on cloud availability zones or regions. [NOTE] ==== include::shared:partial$enterprise-license.adoc[] ==== -Before you can enable leader pinning, you must xref:manage:rack-awareness.adoc#configure-rack-awareness[configure rack awareness] on the cluster. If the config_ref:enable_rack_awareness,true,properties/cluster-properties[] cluster configuration property is set to `false`, leader pinning is disabled across the cluster. +Produce requests that write data to Redpanda topics go through the topic partition leader, which syncs messages across its follower replicas. For a Redpanda cluster deployed across multiple availability zones (AZs), Leader Pinning ensures that a topic's partition leaders are geographically closer to clients, which helps decrease networking costs and guarantees lower latency. + +If consumers are located in the same preferred region or AZ for Leader Pinning, and you have not set up xref:develop:consume-data/follower-fetching.adoc[follower fetching], Leader Pinning can also help reduce networking costs on consume requests. + +== Prerequisites + +Before you can enable Leader Pinning, you must xref:manage:rack-awareness.adoc#configure-rack-awareness[configure rack awareness] on the cluster. If the config_ref:enable_rack_awareness,true,properties/cluster-properties[] cluster configuration property is set to `false`, Leader Pinning is disabled across the cluster. + +== Configure Leader Pinning -== Configure leader pinning +You can use both a topic configuration property and a cluster configuration property to configure Leader Pinning. -You can use both a topic configuration property and a cluster configuration property to configure leader pinning. +You can set the topic configuration property for individual topics only, or set the cluster-wide configuration property that will enable Leader Pinning by default for all topics. You can also use a combination in which a default setting applies across the cluster, and you toggle the setting on or off for specific topics. -You can set the topic configuration property for individual topics only, or set the cluster-wide configuration property that will enable leader pinning by default for all topics. You can also use a combination in which a default setting applies across the cluster, and you toggle the setting on or off for specific topics. This configuration is based on the following scenario: you have Redpanda deployed in a multi-AZ or multi-region cluster, and you have configured each broker so that the config_ref:rack,true,properties/broker-properties[] configuration property contains rack IDs corresponding to the AZ IDs: * Set the topic configuration property xref:reference:properties/topic-properties.adoc#redpandaleaderspreference[`redpanda.leaders.preference`]. The property accepts the following string values: + -- -** `none`: Opt out the topic from leader pinning. +** `none`: Opt out the topic from Leader Pinning. ** `racks:[,,...]`: Specify the preferred location (rack) of all topic partition leaders. The list can contain one or more rack IDs, and you can list the IDs in any order. Spaces in the list are ignored, for example: `racks:rack1,rack2` and `racks: rack1, rack2` are equivalent. You cannot specify empty rack IDs, for example: `racks: rack1,,rack2`. If you specify multiple IDs, Redpanda tries to distribute the partition leader locations equally across brokers in these racks. -- + This property inherits the default value from the cluster property `default_leaders_preference`. -* Set the cluster configuration property config_ref:default_leaders_preference,true,properties/cluster-properties[], which specifies the default leader pinning configuration for all topics that don’t have `redpanda.leaders.preference` explicitly set. It accepts values in the same format as `redpanda.leaders.preference`. Default: `none` +* Set the cluster configuration property config_ref:default_leaders_preference,true,properties/cluster-properties[], which specifies the default Leader Pinning configuration for all topics that don’t have `redpanda.leaders.preference` explicitly set. It accepts values in the same format as `redpanda.leaders.preference`. Default: `none` + This property also affects internal topics, such as `__consumer_offsets` and transaction coordinators. All offset tracking and transaction coordination requests get placed within the preferred regions or AZs for all clients, so you see end-to-end latency and networking cost benefits. -If there is more than one broker in the preferred AZ (or AZs), leader pinning distributes partition leaders uniformly across brokers in the AZ. +If there is more than one broker in the preferred AZ (or AZs), Leader Pinning distributes partition leaders uniformly across brokers in the AZ. -== Leader pinning failover across availability zones +== Leader Pinning failover across availability zones If there are three AZs: A, B, and C, and A becomes unavailable, the failover behavior is as follows: diff --git a/modules/get-started/pages/licensing/add-license-redpanda/kubernetes.adoc b/modules/get-started/pages/licensing/add-license-redpanda/kubernetes.adoc index f64dee904..6ec1546b8 100644 --- a/modules/get-started/pages/licensing/add-license-redpanda/kubernetes.adoc +++ b/modules/get-started/pages/licensing/add-license-redpanda/kubernetes.adoc @@ -6,7 +6,7 @@ To enable xref:get-started:licensing/overview.adoc[enterprise features for Redpa == Prerequisites -You must have an Enterprise Edition license. https://www.redpanda.com/contact[Request a license^] if you don't have one already. +You must have an Enterprise Edition license. To get a trial license key or extend your trial period, https://redpanda.com/try-enterprise[generate a new trial license key^]. To purchase a license, contact https://redpanda.com/upgrade[Redpanda Sales^]. == Add a new license diff --git a/modules/get-started/pages/licensing/add-license-redpanda/linux.adoc b/modules/get-started/pages/licensing/add-license-redpanda/linux.adoc index bd5d51b8d..936929208 100644 --- a/modules/get-started/pages/licensing/add-license-redpanda/linux.adoc +++ b/modules/get-started/pages/licensing/add-license-redpanda/linux.adoc @@ -7,7 +7,7 @@ To enable xref:get-started:licensing/overview.adoc[enterprise features for Redpa - You must have xref:get-started:rpk-install.adoc[`rpk` installed] and configured to connect to your Redpanda cluster. -- You must have an Enterprise Edition license. https://www.redpanda.com/contact[Request a license^] if you don't have one already. +- You must have an Enterprise Edition license. To get a trial license key or extend your trial period, https://redpanda.com/try-enterprise[generate a new trial license key^]. To purchase a license, contact https://redpanda.com/upgrade[Redpanda Sales^]. == Add a new license diff --git a/modules/get-started/pages/licensing/disable-enterprise-features.adoc b/modules/get-started/pages/licensing/disable-enterprise-features.adoc new file mode 100644 index 000000000..863e76d7c --- /dev/null +++ b/modules/get-started/pages/licensing/disable-enterprise-features.adoc @@ -0,0 +1,163 @@ += Disable Enterprise Features in Redpanda +:description: Disable specific enterprise features in Redpanda to ensure your cluster operates within the scope of the Community Edition without enterprise features. + +Enterprise features in Redpanda are available only in the Enterprise Edition and require a valid license. If your cluster has enterprise features enabled without a valid license, it is essential to either upload a valid license or disable these features to maintain compliance with Redpanda licensing terms. + +== Prerequisites + +Before you begin, consider the following: + +- Take a backup of your current configuration to allow rollback if needed. + +- Disabling enterprise features may affect cluster performance, security, or functionality. Test these changes in a staging environment before applying them to production. + +- If you need enterprise features, consider purchasing a valid license to continue using them. To get a trial license key or extend your trial period, https://redpanda.com/try-enterprise[generate a new trial license key^]. To purchase a license, contact https://redpanda.com/upgrade[Redpanda Sales^]. + +== Check for enterprise features in violation + +To check the status of your license, use the `rpk cluster license info` command. This command provides a detailed overview of your Redpanda license, including whether your cluster has enterprise features enabled without a valid license. + +[NOTE] +==== +This command reports license violations only if enterprise features in Redpanda are enabled without a valid license. It does not report license violations for enterprise features in xref:get-started:licensing/overview.adoc#connect[Redpanda Connect] or xref:get-started:licensing/overview.adoc#console[Redpanda Console]. +==== + +. Ensure that xref:get-started:rpk-install.adoc[`rpk` is installed] and configured to connect to your cluster's Admin API endpoint. + +. Get the details about your cluster's license: ++ +[,bash] +---- +rpk cluster license info +---- ++ +If the `license violation` status is `true`, you must either obtain a valid license or disable the enterprise features in use to ensure compliance. + +== Disable enterprise features + +To disable specific enterprise features, refer to the following table: + +[NOTE] +==== +These instructions apply to bare-metal deployments on Linux. If you are running Redpanda in a different environment, such as Kubernetes or Docker, the way you disable features may vary. +==== + +[cols="1a,1a"] +|=== +| Feature | Action to Disable + +| xref:manage:audit-logging.adoc[Audit Logging] +| +Set the cluster config `audit_enabled` to `false`: + +[,bash] +---- +rpk cluster config set audit_enabled false +---- + +| xref:manage:cluster-maintenance/continuous-data-balancing.adoc[Continuous Data Balancing] +| +Set the cluster config `partition_autobalancing_mode` to `node_add`: + +[,bash] +---- +rpk cluster config set partition_autobalancing_mode node_add +---- + +| xref:manage:cluster-maintenance/cluster-balancing.adoc#intra-broker-partition-balancing[Continuous Intra-Broker Partition Balancing] +(`core_balancing_continuous`) +| +Set the cluster config `core_balancing_continuous` to `false`: + +[,bash] +---- +rpk cluster config set core_balancing_continuous false +---- + +| xref:manage:security/fips-compliance.adoc[FIPS Compliance] +| +Set the node config `fips_mode` to `disabled`: + +[,bash] +---- +rpk node config set fips_mode disabled +---- + +| xref:manage:security/authentication.adoc#kerberos[Kerberos authentication] +| +Remove `GSSAPI` from the cluster config `sasl_mechanisms`: + +[,bash] +---- +rpk cluster config set sasl_mechanisms +---- + +| xref:manage:security/authentication.adoc#kerberos[Leader Pinning] +| +Set `default_leaders_preference` to `none`: + +[,bash] +---- +rpk cluster config set default_leaders_preference none +---- + +| xref:manage:security/authentication.adoc#oidc[OAUTHBEARER/OIDC authentication] +| +Remove `OIDC` from the cluster config `sasl_mechanisms` and `http_authentication`: +[,bash] +---- +rpk cluster config set sasl_mechanisms +rpk cluster config set http_authentication +---- + +| xref:manage:remote-read-replicas.adoc[Remote Read Replicas] +| +Set the cluster config `cloud_storage_enable_remote_read` to `false`: + +[,bash] +---- +rpk cluster config set cloud_storage_enable_remote_read false +---- + +| xref:manage:security/authorization/rbac.adoc[Role-Based Access Control (RBAC)] +| +Use `rpk security role delete` to delete all configured roles: + +[,bash] +---- +rpk security role list +rpk security role delete +---- + +| xref:manage:schema-reg/schema-id-validation.adoc[Server-Side Schema ID Validation] +| +Set the cluster config `enable_schema_id_validation` to `false`: + +[,bash] +---- +rpk cluster config set enable_schema_id_validation false +---- + +| xref:manage:tiered-storage.adoc[Tiered Storage] +| +Set the cluster config `cloud_storage_enabled` to `false`: + +[,bash] +---- +rpk cluster config set cloud_storage_enabled false +---- + +|=== + +== Verify the license status + +When all required changes are made, confirm that the `license violation` status is now `false`. + +[,bash] +---- +rpk cluster license info +---- + +== Suggested reading + +For more information about licensing, see xref:get-started:licensing/overview.adoc[]. diff --git a/modules/get-started/pages/licensing/monitor-license-status.adoc b/modules/get-started/pages/licensing/monitor-license-status.adoc index d0dfa6d0e..db3ac04af 100644 --- a/modules/get-started/pages/licensing/monitor-license-status.adoc +++ b/modules/get-started/pages/licensing/monitor-license-status.adoc @@ -1,12 +1,14 @@ -= Monitor the Status of an Enterprise Edition License += Check the Status of an Enterprise Edition License :description: pass:q[Learn how to monitor the status of your Redpanda Enterprise Edition license using `rpk`, the Redpanda Console, the Admin API, and observability tools such as logs and metrics.] -To track license expiration and ensure compliance with xref:get-started:licensing/overview.adoc[Redpanda licensing], you can monitor the status of your Enterprise Edition license using <>, the <>, <>, and observability tools such as <> and <>. +To track license expiration and ensure compliance with xref:get-started:licensing/overview.adoc[Redpanda licensing], you can monitor the status of your Enterprise Edition license using <>, <>, and observability tools such as <> and <>. [[rpk]] -== Check the status of a license with `rpk` +== Use `rpk` to check license status and feature usage -To check the status of your current license and information about in-use enterprise features, use the `rpk cluster license info` command. You can choose different output formats depending on your use case. +To check the status of your license, use the `rpk cluster license info` command. This command provides a detailed overview of your Redpanda license, including its status, expiration, and enterprise features currently in use. + +NOTE: Enterprise features in use are specific to Redpanda. They do not include enterprise features for xref:get-started:licensing/overview.adoc#connect[Redpanda Connect] or xref:get-started:licensing/overview.adoc#console[Redpanda Console]. . Make sure that xref:get-started:rpk-install.adoc[`rpk` is installed] and configured to connect to your cluster's Admin API endpoint. @@ -16,94 +18,135 @@ To check the status of your current license and information about in-use enterpr rpk cluster license info ``` + -The command displays the license information in a user-friendly format. The output includes: -+ --- -- *Organization*: The organization for which the license was issued. -- *Type*: The type of license (for example, enterprise or trial). -- *Expires*: The license expiration date. -- *Version*: The schema version of the license. -- *Enterprise features in use*: A list of enabled enterprise features. --- -+ -If the license is within 30 days of expiration, a warning is logged: +The command displays the license information in a user-friendly format. The output depends on the license status. It can include the following: + ----- -warning: your license will expire soon ----- +[cols="1,2a"] +|=== +|Field |Description -=== Change the output format +|License status +| +Indicates the current state of the license. Possible values include: -Different output formats can be useful depending on your scenario. The available formats include JSON, YAML, text, and wide (expanded). For example, if you are writing scripts or automating license monitoring, you may prefer the JSON format, as it's easily parsed by tools like `jq` or integrated into monitoring systems. +* `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. -To get the license information in another format, use the `--format` flag: +|License violation +| +A boolean value that indicates whether enterprise features are being used in violation of the licensing terms: -```bash -rpk cluster license info --format -``` +* `true`: Enterprise features are enabled without a valid license. +* `false`: No violations are detected. -Replace `` with one of the available formats. See xref:reference:rpk/rpk-cluster/rpk-cluster-license-info.adoc[]. +[NOTE] +==== +If the `license violation` status is `true`, you must either obtain a valid license or disable the enterprise features in use to ensure compliance. +For instructions, see xref:get-started:licensing/disable-enterprise-features.adoc[]. +==== + +|Organization +| +The organization for which the license was issued. Typically corresponds to the organization that purchased or activated the license. -For more details, including the SHA-256 checksum and Unix timestamp for expiration, use the `wide` format. This format is useful when you need a deeper level of detail about the license for troubleshooting or verification. For example: +|Type +| +The type of license applied to the cluster: +* `enterprise`: A full-featured enterprise license. +* `trial`: A time-limited trial license. + +|Expires +| +The expiration date of the current license. After this date, the license status changes to `expired`. + +|Enterprise features in use +| +A list of enabled enterprise features in the cluster, such as `tiered_storage`, `audit_logging`, and `partition_auto_balancing_continuous`. +|=== + +If the license is within 30 days of expiration, a warning is logged. `rpk` displays warnings when you execute `rpk` commands that use the Admin API in the following scenarios: + +- *License violation*: When enterprise features are enabled without a valid license. + +- *Trial expiration*: When enterprise features are enabled and a trial license expires in less than 15 days. + +- *Enterprise expiration*: When enterprise features are enabled and an Enterprise license is expired. + +=== Examples + +This section provides examples of what `rpk` reports depending on the license status. + +Valid license: + +[.no-copy] ---- LICENSE INFORMATION -Organization: Your Organization -Type: enterprise -Expires: Jan 1 2025 -License Expired: false -Checksum: 3d2e5b4d07d294534d9b7e90d8f73e91d34f7b4a62c45b6dc1c1e6f9d0a12bcf -ExpiresUnix: 1735689600 +=================== +License status: valid +License violation: false +Enterprise features in use: [partition_auto_balancing_continuous] +Organization: Devex +Type: enterprise +Expires: Oct 11 2025 ---- -[[admin]] -== Check the status of a license with the Admin API - -You can retrieve the license status and information about in-use enterprise features using the Redpanda Admin API. This API provides JSON-formatted responses and is useful for programmatic access to the license details and feature status. +Without a valid license: -To get the license status and features in use, make a `GET` request to the `/v1/features/enterprise` endpoint. For example: - -[,bash] +[.no-copy] ---- -curl -X GET http://:/v1/features/enterprise +LICENSE INFORMATION +=================== +License status: not_present +License violation: false +Enterprise features in use: [partition_auto_balancing_continuous] ---- -Example response: +Expired license: -[,json] +[.no-copy] ---- -{ - "license_status": "valid", - "violation": false, - "features": [ - { - "name": "audit_logging", - "enabled": true - }, - { - "name": "tiered_storage", - "enabled": false - } - ] -} +WARNING: The following enterprise features are being used in your Redpanda cluster: [partition_auto_balancing_continuous]. These features require a license. +LICENSE INFORMATION +=================== +License status: expired +License violation: true +Enterprise features in use: [partition_auto_balancing_continuous] ---- -- `license_status`: The status of the license. Possible values are: -** `valid`: The license is valid. -** `expired`: The license has expired. -** `not_present`: No license is present. +=== Change the output format + +Different output formats can be useful depending on your scenario. For example, if you are writing scripts or automating license monitoring, you may prefer the JSON format, as it's easily parsed by tools like `jq` or integrated into monitoring systems. -- `violation`: A boolean value that indicates whether there is a violation. For example, the license is not valid and one or more enterprise features are enabled. +To get the license information in another format, use the `--format` flag: -- `features`: An array of enterprise features that lists each feature by name and whether it is enabled (`true`) or not (`false`). +```bash +rpk cluster license info --format +``` -NOTE: The returned enterprise features are specific to Redpanda Enterprise Edition. They do not include xref:get-started:licensing/overview.adoc#connect[enterprise features for Redpanda Connect] or xref:get-started:licensing/overview.adoc#console[enterprise features in Redpanda Console]. +Replace `` with one of the available formats. See xref:reference:rpk/rpk-cluster/rpk-cluster-license-info.adoc[]. [[console]] -== Check the status of a license in Redpanda Console +== Use Redpanda Console to check license status You can also check the status of your license in the Redpanda Console UI. See xref:console:ui/add-license.adoc[]. +If Redpanda Console cannot find a valid license either locally or in the connected Redpanda cluster, it shuts down. Redpanda Console tries to load a valid license at startup in the following order: + +. From the local configuration file or environment variables. +. From the connected Redpanda cluster (if available). + +Redpanda Console displays warnings in the following scenarios: + +- *Upcoming license expiration*: Redpanda Console checks the license status at startup. If the license expires within 30 days, a warning is displayed in the UI. Redpanda Console also logs the license details at startup, including the expiration date. For example: ++ +[,json] +---- +{"level":"info","msg":"successfully loaded Redpanda Enterprise license","license_org":"redpanda","license_type":"enterprise","expires_at":"Oct 12 2024"} +---- + +- *Redpanda Self-Managed enterprise features are in use without a valid license*: If the Redpanda cluster is using enterprise features without a valid license, Redpanda Console displays a warning specifying the features in use without proper licensing. + [[logs]] == Monitor a license in the logs @@ -113,3 +156,8 @@ Logs are emitted on Redpanda brokers to help you understand how the license is b == Monitor a license using metrics The xref:reference:public-metrics-reference.adoc#redpanda_cluster_features_enterprise_license_expiry_sec[`redpanda_cluster_features_enterprise_license_expiry_sec`] metric tells you how many seconds remain until the license expires. Use this metric to set up alerts or dashboards to track the license expiration status and ensure timely renewal. + +== Next steps + +- xref:get-started:licensing/disable-enterprise-features.adoc[] + diff --git a/modules/get-started/pages/licensing/overview.adoc b/modules/get-started/pages/licensing/overview.adoc index 5aa89ea99..5667c9bdc 100644 --- a/modules/get-started/pages/licensing/overview.adoc +++ b/modules/get-started/pages/licensing/overview.adoc @@ -1,11 +1,11 @@ -= Redpanda Licenses, Editions, and Enterprise Features -:description: Learn about Redpanda licensing for Self-Managed, Console, and Connect, available in both Community and Enterprise editions. Understand licensing requirements and how to access enterprise features with a valid license key. += Redpanda Licenses and Enterprise Features +:description: Learn about Redpanda licensing for Redpanda, Redpanda Console, and Redpanda Connect, available in both Community and Enterprise editions. Understand licensing requirements and how to access enterprise features with a valid license key. :page-aliases: introduction:licenses.adoc, get-started:licenses.adoc -Redpanda Self-Managed, Redpanda Console, and Redpanda Connect are available in community and enterprise editions. Each product has a single binary that supports both editions. +Redpanda, Redpanda Console, and Redpanda Connect are available in community and enterprise editions. Each product has a single binary that supports both editions. * Redpanda Community Edition is free and source-available on GitHub: -** https://github.com/redpanda-data/redpanda[Redpanda Self-Managed^] +** https://github.com/redpanda-data/redpanda[Redpanda^] ** https://github.com/redpanda-data/console[Redpanda Console^] ** https://github.com/redpanda-data/connect[Redpanda Connect^] * Redpanda Enterprise Edition requires a license key and includes additional features. @@ -19,11 +19,10 @@ Redpanda Cloud is a managed deployment of Redpanda Enterprise Edition. To learn The Community Edition is licensed with the Redpanda https://github.com/redpanda-data/redpanda/blob/dev/licenses/bsl.md[Business Source License^] (BSL). These core features are free and source-available. -[NOTE] -==== +=== Restrictions and licensing terms + * Users cannot provide Redpanda as a commercial streaming or queuing service to others. * The BSL code converts to Apache 2.0 licensing four years after each code merge. -==== == Enterprise Edition @@ -31,49 +30,95 @@ The Enterprise Edition is licensed with the https://github.com/redpanda-data/red === License keys -Enterprise features require an Enterprise Edition license key, sometimes referred to as Enterprise license, license key, or license. You can evaluate enterprise features with a free 30-day trial. To request a trial license key, to extend your trial period, or to purchase a license, contact https://redpanda.com/try-redpanda?section=enterprise-trial[Redpanda Sales^]. +Enterprise features require an Enterprise Edition license key, sometimes referred to as Enterprise license, license key, or license. + +Starting with version 24.3, new Redpanda clusters automatically receive a trial license that's valid for 30 days, allowing unrestricted use of enterprise features. This evaluation period begins when the cluster is created for the first time. After this period expires, inactive enterprise features are disabled, and active features enter a restricted state. + +To get a trial license key or extend your trial period, https://redpanda.com/try-enterprise[generate a new trial license key]. + +To purchase a license, contact https://redpanda.com/upgrade[Redpanda Sales^]. + +[NOTE] +==== +include::get-started:partial$licensing/block-upgrades-note.adoc[] +==== [[self-managed]] -=== Enterprise features in Redpanda Self-Managed +=== Enterprise features in Redpanda -The following enterprise features for Redpanda Self-Managed are activated with a valid Enterprise Edition license key: +The following table lists the available Enterprise features for Redpanda, along with the restrictions applied if the Enterprise license is invalid or has expired. -include::get-started:partial$licensing/enterprise-features.adoc[tag=self-managed] +[cols="1a,2a,2a"] +|=== +| Feature | Description | Restrictions Without Valid License -[[console]] -=== Enterprise features in Redpanda Console +| xref:manage:audit-logging.adoc[Audit Logging] +| Records detailed logs of cluster activities for compliance and monitoring. +| Read access to the audit log topic is denied, but logging continues. -The following enterprise features for Redpanda Console are activated with a valid Enterprise Edition license key: +| xref:manage:cluster-maintenance/continuous-data-balancing.adoc[Continuous Data Balancing] +| Automatically balances partitions across a cluster to optimize resource use and performance. +| Continuous balancing is disabled, reverting to the default `node_add` setting that balances partitions only after a broker is added to the cluster. -include::get-started:partial$licensing/enterprise-features.adoc[tag=console] +| xref:manage:cluster-maintenance/cluster-balancing.adoc#intra-broker-partition-balancing[Continuous Intra-Broker Partition Balancing] +(`core_balancing_continuous`) +| Balances partition replicas across CPU cores in an individual broker to optimize disk space usage. +| Continuous Intra-Broker Partition Balancing is disabled. -[[connect]] -=== Enterprise features in Redpanda Connect +| xref:manage:security/fips-compliance.adoc[FIPS Compliance] +| Enables compliance with FIPS security standards for cryptography. +| None + +| xref:manage:security/authentication.adoc#kerberos[Kerberos authentication] +| Provides secure Kerberos-based authentication. +| None + +| xref:manage:security/authentication.adoc#kerberos[Leader Pinning] +| Specifies the set of availability zones where the leaders of partitions of a given topic should be located. +| Leader Pinning is disabled on all topics. + +| xref:manage:security/authentication.adoc#oidc[OAUTHBEARER/OIDC authentication] +| Allows for OAUTHBEARER and OpenID Connect (OIDC) authentication. +| None + +| xref:manage:remote-read-replicas.adoc[Remote Read Replicas] +| Enables remote clusters to read data stored in object storage for disaster recovery. +| Remote Read Replica topics cannot be created or modified. + +| xref:manage:security/authorization/rbac.adoc[Role-Based Access Control (RBAC)] +| Manages user roles and permissions within the cluster. +| Roles and ACLs associated with roles cannot be created or modified. Role deletion is allowed. +| xref:manage:schema-reg/schema-id-validation.adoc[Server-Side Schema ID Validation] +| Validates schema IDs server-side to ensure schema compatibility. With schema ID validation, records associated with unregistered schemas are detected and dropped by a broker rather than a consumer. +| Topics with schema validation settings cannot be created or modified. -include::get-started:partial$licensing/enterprise-features.adoc[tag=connect] +| xref:manage:tiered-storage.adoc[Tiered Storage] +| Enables storage of data in cloud object storage for long-term retention and retrieval. +| Topics cannot be created or modified to enable Tiered Storage features. Additional partitions cannot be added to topics that have any Tiered Storage properties enabled. -== How Redpanda Console handles licenses +|=== -If Redpanda Console cannot find a valid license either locally or in the connected Redpanda cluster, it shuts down. Redpanda Console tries to load a valid license at startup in the following order: +[[console]] +=== Enterprise features in Redpanda Console + +The following enterprise features for Redpanda Console are activated with a valid Enterprise Edition license key: -. From the local configuration file or environment variables. -. From the connected Redpanda cluster (if available). +* xref:console:config/security/authentication.adoc[Redpanda Console Authentication] +* xref:console:config/security/authorization.adoc[Redpanda Console Authorization (RBAC)] + +[[connect]] +=== Enterprise features in Redpanda Connect -Redpanda Console displays warnings in the following scenarios: +The Enterprise Edition of Redpanda Connect includes additional connectors. For a list of all available connectors, see xref:redpanda-connect:components:catalog.adoc[]. -- *Upcoming license expiration*: Redpanda Console checks the license status at startup. If the license expires within 30 days, a warning is displayed in the UI. Redpanda Console also logs the license details at startup, including the expiration date. For example: -+ -[,json] ----- -{"level":"info","msg":"successfully loaded Redpanda Enterprise license","license_org":"redpanda","license_type":"enterprise","expires_at":"Oct 12 2024"} ----- +== Manage licenses for Redpanda -- *Redpanda Self-Managed enterprise features are in use without a valid license*: If the Redpanda cluster is using enterprise features without a valid license, Redpanda Console displays a warning specifying the features in use without proper licensing. +Redpanda offers multiple ways to manage your license depending on your deployment method. Proper license management ensures access to advanced enterprise features and avoids restrictions when licenses are invalid or expired. -- *Redpanda Console enterprise features in use without a valid license*: If you configure enterprise features in Redpanda Console without a valid license, Redpanda Console shuts down and logs a warning. +See xref:get-started:licensing/add-license-redpanda/index.adoc[]. -=== Ways to manage licenses for Redpanda Console +== Manage licenses for Redpanda Console Redpanda Console offers two methods for applying or updating a license, depending on your setup: diff --git a/modules/get-started/pages/whats-new.adoc b/modules/get-started/pages/whats-new.adoc index 0724b3b63..4d18818c2 100644 --- a/modules/get-started/pages/whats-new.adoc +++ b/modules/get-started/pages/whats-new.adoc @@ -47,7 +47,7 @@ This release includes several updates to xref:get-started:licensing/overview.ado - *Unified license management in Redpanda Console*: You can now upload and apply a single license key for both Redpanda Console and the connected Redpanda cluster through the Redpanda Console UI. Any existing license key is overridden by the new one. -- *30 day trial Enterprise license*: Starting with version 24.3, new Redpanda clusters automatically receive a trial license that's valid for 30 days, allowing unrestricted use of Enterprise features. This evaluation period begins when the cluster is created for the first time. After this period expires, inactive Enterprise features are disabled, and active features enter a restricted state. +- *30-day trial Enterprise license*: Starting with version 24.3, new Redpanda clusters automatically receive a trial license that's valid for 30 days, allowing unrestricted use of Enterprise features. This evaluation period begins when the cluster is created for the first time. After this period expires, inactive Enterprise features are disabled, and active features enter a restricted state. == Declarative user and ACL management in Kubernetes diff --git a/modules/get-started/partials/licensing/block-upgrades-note.adoc b/modules/get-started/partials/licensing/block-upgrades-note.adoc new file mode 100644 index 000000000..6e49f06c5 --- /dev/null +++ b/modules/get-started/partials/licensing/block-upgrades-note.adoc @@ -0,0 +1 @@ +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. \ No newline at end of file diff --git a/modules/get-started/partials/licensing/check-license.adoc b/modules/get-started/partials/licensing/check-license.adoc index b87377337..fae76197a 100644 --- a/modules/get-started/partials/licensing/check-license.adoc +++ b/modules/get-started/partials/licensing/check-license.adoc @@ -12,7 +12,7 @@ rpk cluster license info ---- endif::[] -This command will display the current license details, including the expiration date. For example: +This command will display the current license details, including the expiration date and whether any enterprise features are active. For example: ---- LICENSE INFORMATION @@ -21,3 +21,8 @@ Organization: redpanda Type: enterprise Expires: Oct 24 2027 ---- + +[NOTE] +==== +include::get-started:partial$licensing/block-upgrades-note.adoc[] +==== diff --git a/modules/get-started/partials/licensing/enterprise-features.adoc b/modules/get-started/partials/licensing/enterprise-features.adoc deleted file mode 100644 index 80529f170..000000000 --- a/modules/get-started/partials/licensing/enterprise-features.adoc +++ /dev/null @@ -1,19 +0,0 @@ -// tag::self-managed[] -* xref:manage:tiered-storage.adoc[Tiered Storage] -* xref:manage:cluster-maintenance/continuous-data-balancing.adoc[Continuous Data Balancing] -* xref:manage:cluster-maintenance/cluster-balancing.adoc#intra-broker-partition-balancing[Intra-broker partition balancing (`core_balancing_continuous`)] -* xref:manage:remote-read-replicas.adoc[Remote Read Replicas] -* xref:manage:audit-logging.adoc[Audit Logging] -* xref:manage:security/fips-compliance.adoc[FIPS Compliance] -* xref:manage:schema-reg/schema-id-validation.adoc[Server-side Schema ID Validation] -* xref:manage:security/authentication.adoc#kerberos[Kerberos Authentication] -* xref:manage:security/authentication.adoc#oidc [OAUTHBEARER/OIDC Authentication] -* xref:manage:security/authorization/rbac.adoc[Redpanda Role-Based Access Control (RBAC)] -// end::self-managed[] -// tag::console[] -* xref:console:config/security/authorization.adoc[Redpanda Console Authorization (RBAC)] -* xref:console:config/security/authentication.adoc[Redpanda Console Authentication] -// end::console[] -// tag::connect[] -The Enterprise Edition of Redpanda Connect includes additional connectors. For a list of all available connectors, see xref:redpanda-connect:components:catalog.adoc[]. -// end::connect[] \ No newline at end of file diff --git a/modules/manage/pages/cluster-maintenance/cluster-balancing.adoc b/modules/manage/pages/cluster-maintenance/cluster-balancing.adoc index 9b4289d1c..308fd750b 100644 --- a/modules/manage/pages/cluster-maintenance/cluster-balancing.adoc +++ b/modules/manage/pages/cluster-maintenance/cluster-balancing.adoc @@ -10,30 +10,31 @@ Cluster balancing is crucial for optimal performance. Unbalanced clusters can sa | Topic-aware data balancer |Description | <> -| This balancer transfers the leadership of a broker's partitions to other replicas to avoid topic leadership hotspots on one or a few specific brokers in your cluster. - + - + +| +This balancer transfers the leadership of a broker's partitions to other replicas to avoid topic leadership hotspots on one or a few specific brokers in your cluster. ++ The partition leader regularly sends heartbeats to its followers. If a follower does not receive a heartbeat within a timeout, it triggers a new leader election. Redpanda also provides leadership balancing when brokers are added or decommissioned. | <> -| This balancer moves partition replicas to avoid topic replica hotspots on one or a few specific brokers in your cluster. - + - + +| +This balancer moves partition replicas to avoid topic replica hotspots on one or a few specific brokers in your cluster. ++ Redpanda prioritizes balancing a topic's partition replica count evenly across all brokers while it's balancing the cluster's overall partition count. Because different topics in a cluster can have vastly different load profiles, this better distributes the workload evenly across brokers. - + - + - ++ Redpanda provides partition replica balancing when brokers are added or decommissioned. | <> -| This balancer moves partition replicas across CPU cores in an individual broker. Redpanda maintains balanced partition replica assignments between cores to avoid topic hotspots on one or a few specific cores within a broker. +| +This balancer moves partition replicas across CPU cores in an individual broker. Redpanda maintains balanced partition replica assignments between cores to avoid topic hotspots on one or a few specific cores within a broker. ++ +Continuous Intra-Broker Partition Balancing (`core_balancing_continuous`) requires an xref:get-started:licenses.adoc#redpanda-enterprise-edition[Enterprise license]. | xref:manage:cluster-maintenance/continuous-data-balancing.adoc[Continuous Data Balancing] -| This balancer monitors broker and rack availability, as well as disk usage, to avoid topic hotspots when moving data off brokers with fuller disks. Continuous Data Balancing enables self-healing clusters that dynamically balance partitions. It also ensures adherence to rack-aware replica placement policy and self-heals after rack (or availability zone) failure or replacement. This balancer does not keep the relative fullness of each broker within a defined range, it just prevents hitting the fullness threshold of each individual broker. - + - + +| +This balancer monitors broker and rack availability, as well as disk usage, to avoid topic hotspots when moving data off brokers with fuller disks. Continuous Data Balancing enables self-healing clusters that dynamically balance partitions. It also ensures adherence to rack-aware replica placement policy and self-heals after rack (or availability zone) failure or replacement. This balancer does not keep the relative fullness of each broker within a defined range, it just prevents hitting the fullness threshold of each individual broker. ++ Continuous Data Balancing requires an xref:get-started:licenses.adoc#redpanda-enterprise-edition[Enterprise license]. |=== diff --git a/modules/reference/pages/properties/topic-properties.adoc b/modules/reference/pages/properties/topic-properties.adoc index 320beb205..7276488f2 100644 --- a/modules/reference/pages/properties/topic-properties.adoc +++ b/modules/reference/pages/properties/topic-properties.adoc @@ -515,13 +515,13 @@ The preferred location (rack) for partition leaders of a topic. This property inherits the value from the config_ref:default_leaders_preference,true,properties/cluster-properties[] cluster configuration property. You may override the cluster-wide setting by specifying the value for individual topics. -If the cluster configuration property config_ref:enable_rack_awareness,true,properties/cluster-properties[] is set to `false`, leader pinning is disabled across the cluster. +If the cluster configuration property config_ref:enable_rack_awareness,true,properties/cluster-properties[] is set to `false`, Leader Pinning is disabled across the cluster. **Default**: `none` **Values**: -- `none`: Opt out the topic from leader pinning. +- `none`: Opt out the topic from Leader Pinning. - `racks:[,,...]`: Specify the preferred location (rack) of all topic partition leaders. The list can contain one or more rack IDs. If you specify multiple IDs, Redpanda tries to distribute the partition leader locations equally across brokers in these racks. **Related topics**: diff --git a/modules/shared/partials/enterprise-and-console.adoc b/modules/shared/partials/enterprise-and-console.adoc index f1698b5e9..222527ee8 100644 --- a/modules/shared/partials/enterprise-and-console.adoc +++ b/modules/shared/partials/enterprise-and-console.adoc @@ -1,3 +1,3 @@ -This section pertains to Redpanda Console in a self-managed deployment, and this feature requires an xref:get-started:licenses.adoc[Enterprise license]. To upgrade, contact https://redpanda.com/try-redpanda?section=enterprise-trial[Redpanda sales^]. +This feature requires an xref:get-started:licenses.adoc[Enterprise license]. To get a trial license key or extend your trial period, https://redpanda.com/try-enterprise[generate a new trial license key^]. To purchase a license, contact https://redpanda.com/upgrade[Redpanda Sales^]. If Redpanda Console has enterprise features enabled and it cannot find a valid license either in its xref:console:config/enterprise-license.adoc[local configuration] or in the xref:get-started:licensing/add-license-redpanda/index.adoc[connected Redpanda cluster], it shuts down. \ No newline at end of file diff --git a/modules/shared/partials/enterprise-license.adoc b/modules/shared/partials/enterprise-license.adoc index ceb0a8952..1921f9480 100644 --- a/modules/shared/partials/enterprise-license.adoc +++ b/modules/shared/partials/enterprise-license.adoc @@ -1 +1,3 @@ -This feature requires an xref:get-started:licenses.adoc[Enterprise license] for self-managed deployments. To upgrade, contact https://redpanda.com/try-redpanda?section=enterprise-trial[Redpanda sales^]. +This feature requires an xref:get-started:licenses.adoc[Enterprise license]. To get a trial license key or extend your trial period, https://redpanda.com/try-enterprise[generate a new trial license key^]. To purchase a license, contact https://redpanda.com/upgrade[Redpanda Sales^]. + +If Redpanda has enterprise features enabled and it cannot find a valid license, xref:get-started:licenses.adoc#self-managed[restrictions] apply. diff --git a/modules/troubleshoot/partials/errors-and-solutions.adoc b/modules/troubleshoot/partials/errors-and-solutions.adoc index 8bc74eb67..3a02f505c 100644 --- a/modules/troubleshoot/partials/errors-and-solutions.adoc +++ b/modules/troubleshoot/partials/errors-and-solutions.adoc @@ -453,9 +453,14 @@ endif::[] === A Redpanda Enterprise Edition license is required -During a Redpanda upgrade, if enterprise features are enabled and a valid Enterprise Edition license is missing, Redpanda logs a warning and aborts the upgrade process on the affected broker. This issue prevents a successful upgrade. +During a Redpanda upgrade, if enterprise features are enabled and a valid Enterprise Edition license is missing, Redpanda logs a warning and aborts the upgrade process on the first broker. This issue prevents a successful upgrade. -If you encounter this issue, follow these steps to recover: +[.no-copy] +---- +A Redpanda Enterprise Edition license is required to use the currently enabled features. To apply your license, downgrade this broker to the pre-upgrade version and provide a valid license key via rpk using 'rpk cluster license set ', or via Redpanda Console. To request an Enterprise license, please visit . To try Redpanda Enterprise for 30 days, visit . For more information, see . +---- + +If you encounter this message, follow these steps to recover: ifdef::env-kubernetes[] . xref:upgrade:k-rolling-upgrade.adoc#roll-back[Roll back the affected broker to the original version]. diff --git a/modules/upgrade/pages/k-rolling-upgrade.adoc b/modules/upgrade/pages/k-rolling-upgrade.adoc index 1d7cdc506..f90f5db93 100644 --- a/modules/upgrade/pages/k-rolling-upgrade.adoc +++ b/modules/upgrade/pages/k-rolling-upgrade.adoc @@ -37,12 +37,12 @@ kubectl exec --namespace -c redpanda -- \ [%collapsible] ==== The Redpanda version for each broker is listed under `BROKER-VERSION`. -[.no-copy] +[role="no-copy",subs="attributes+"] ``` NODE-ID BROKER-VERSION -0 v22.2.10 -1 v22.2.10 -2 v22.2.10 +0 {latest-redpanda-tag} +1 {latest-redpanda-tag} +2 {latest-redpanda-tag} ``` ==== - xref:upgrade:k-compatibility.adoc[Review the Kubernetes compatibility matrix] to find out if you need to upgrade the Helm chart or the Redpanda Operator to use your chosen version of Redpanda. From 24c7ca91b2da77b6bc851d38f55bbb334a3d996d Mon Sep 17 00:00:00 2001 From: Jake Cahill <45230295+JakeSCahill@users.noreply.github.com> Date: Mon, 25 Nov 2024 16:22:26 +0000 Subject: [PATCH 24/30] Update generate-bundle.adoc --- modules/console/pages/ui/generate-bundle.adoc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/console/pages/ui/generate-bundle.adoc b/modules/console/pages/ui/generate-bundle.adoc index 0fb13c3ff..3f19863b4 100644 --- a/modules/console/pages/ui/generate-bundle.adoc +++ b/modules/console/pages/ui/generate-bundle.adoc @@ -22,7 +22,7 @@ NOTE: Only one debug bundle can exist at a time. If you generate a new debug bun . Log in as an admin user. . Click *Admin* in the sidebar. + -This option is visible only when you are logged in as an admin user. +This option is visible only when logged in as an admin user. . Go to *Debug bundle*. . Click *Generate new*. . Wait until the process is complete. @@ -34,10 +34,11 @@ include::troubleshoot:partial$inspect-bundle.adoc[] == Delete a debug bundle To manually delete a debug bundle: + . Log in as an admin user. . Click *Admin* in the sidebar. + -This option is visible only when you are logged in as an admin user. +This option is visible only when logged in as an admin user. . Go to *Debug bundle*. . Click the trash icon next to *debug-bundle.zip* to delete the bundle. From 8b65a2466a6728ea0a9ae2d3d5815f01d141d783 Mon Sep 17 00:00:00 2001 From: Jake Cahill <45230295+JakeSCahill@users.noreply.github.com> Date: Tue, 26 Nov 2024 17:03:29 +0000 Subject: [PATCH 25/30] Document support for PKCS#12 (#860) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Paulo Borges Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com> Co-authored-by: Gellért Peresztegi-Nagy Co-authored-by: Angela Simms <102690377+asimms41@users.noreply.github.com> Co-authored-by: Kat Batuigas <36839689+kbatuigas@users.noreply.github.com> Co-authored-by: Michele Cyran --- modules/get-started/pages/whats-new.adoc | 16 +- modules/manage/pages/security/encryption.adoc | 274 +++++++++++------- .../pages/security/fips-compliance.adoc | 12 +- 3 files changed, 185 insertions(+), 117 deletions(-) diff --git a/modules/get-started/pages/whats-new.adoc b/modules/get-started/pages/whats-new.adoc index 4d18818c2..07b32b759 100644 --- a/modules/get-started/pages/whats-new.adoc +++ b/modules/get-started/pages/whats-new.adoc @@ -49,7 +49,17 @@ This release includes several updates to xref:get-started:licensing/overview.ado - *30-day trial Enterprise license*: Starting with version 24.3, new Redpanda clusters automatically receive a trial license that's valid for 30 days, allowing unrestricted use of Enterprise features. This evaluation period begins when the cluster is created for the first time. After this period expires, inactive Enterprise features are disabled, and active features enter a restricted state. -== Declarative user and ACL management in Kubernetes +== PKCS#12 support for TLS listeners + +Redpanda now supports configuring TLS using PKCS#12 files, which allows you to manage both the certificate and private key in a single, password-protected file. + +For more details, see xref:manage:security/encryption.adoc[]. + +This feature is not yet available in Kubernetes deployments that use the Redpanda Helm chart or the Redpanda Operator. + +== New features in the Redpanda Operator + +=== Declarative user and ACL management The Redpanda Operator now supports declarative management of users and access control lists (ACLs) using the new User custom resource, starting in version v2.2.2-24.2.4. This feature allows you to: @@ -59,7 +69,7 @@ The Redpanda Operator now supports declarative management of users and access co To learn more, see the xref:manage:kubernetes/security/authentication/k-user-controller.adoc[User custom resource documentation]. -== Declarative schema management in Kubernetes +=== Declarative schema management The Redpanda Operator now supports declarative schema management using the Schema custom resource, starting in version v2.3.0-24.3.1. This feature allows you to: @@ -69,7 +79,7 @@ The Redpanda Operator now supports declarative schema management using the Schem To learn more, see the xref:manage:kubernetes/k-schema-controller.adoc[Schema custom resource documentation]. -== Use Redpanda Operator without Flux +=== Use Redpanda Operator without Flux The Redpanda Operator now supports the `useFlux` flag, giving you control over resource management, starting in version v2.3.0-24.3.1: diff --git a/modules/manage/pages/security/encryption.adoc b/modules/manage/pages/security/encryption.adoc index 7459dc6f6..d9b26378d 100644 --- a/modules/manage/pages/security/encryption.adoc +++ b/modules/manage/pages/security/encryption.adoc @@ -10,39 +10,57 @@ By default, Redpanda data is sent unencrypted. A security best practice is to en * Transport Layer Security (TLS), previously SSL, provides encryption for client-server communication. A server certificate prevents third parties from accessing data transferred between the client and server. By default, Redpanda clusters accept connections from clients using TLS version 1.2 or later, but <>. * mTLS, or 2-way TLS, is a protocol that authenticates both the server and the client. In addition to the server certificate required in TLS, mTLS also requires the client to give a certificate. This involves more overhead to implement, but it can be useful for environments that require additional security and only have a small number of verified clients. -For each Redpanda broker, you must specify the: +== Prerequisites -* key file (`broker.key`) -* certificate file (`broker.crt`) -* truststore file (`ca.crt`). +TLS certificates are required for encryption. You can use your own certificates, either self-signed or issued by a trusted CA. -Each broker has its own `broker.key` and `broker.crt`, but all brokers can have the same `ca.crt`. +You'll need the following files: +-- +- A private key file (`broker.key`) for each broker. +- A certificate file (`broker.crt`) for each broker. +- A truststore file (`ca.crt`). All brokers can have the same `ca.crt` file. +-- -If you enable TLS encryption, you can also specify a certificate revocation list (`ca.crl`) so that Redpanda can check and reject connections from entities using certificates already revoked by a certificate authority (CA). All brokers can have the same `ca.crl`. The file must contain a single, concatenated list of certificate revocation lists (CRLs) for all issuing certificates in the truststore file. +Ensure these files are readable by Redpanda and protected against unauthorized access: -== Prerequisites +[,bash] +---- +chmod 400 broker.key broker.crt ca.crt +chown redpanda:redpanda broker.key broker.crt ca.crt +---- -TLS certificates are necessary for encryption. You can use your own certificates, either self-signed or issued by a trusted CA. +For mTLS, client certificates signed by the same CA are also required. -=== Create a local CA for self-signed certificates +If you don't already have these files, you can learn how to generate them in <>. -NOTE: This step is required if you want to generate multiple certificates all signed by -the same root; for example, you want to use mTLS but issue different certificates -to multiple Redpanda brokers and clients. +If you enable TLS encryption, you can also specify a certificate revocation list (`ca.crl`) so that Redpanda can check and reject connections from entities using certificates already revoked by a certificate authority (CA). All brokers can have the same `ca.crl`. The file must contain a single, concatenated list of certificate revocation lists (CRLs) for all issuing certificates in the truststore file. -To generate a self-signed certificate in a single command: +[[gen-certs]] +== Generate certificate files -[,bash] ----- -openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -keyout broker.key -out broker.crt -subj "/CN=redpanda" -addext "subjectAltName = DNS:localhost, IP: 127.0.0.1" ----- +This section shows you how to generate self-signed certificate files for your Redpanda brokers. If you already have your own, you can skip this step. -==== 1. Create CA configuration file (ca.cnf) +NOTE: Self-signed certificates are useful if you want to generate multiple certificates all signed by the same root. For example, you want to use mTLS but issue different certificates to multiple Redpanda brokers and clients. -Edit the `distinguished_name` section with your own organization details. For `default_md`, `sha256` is the minimum message digest level. The `subjectAltName` must be accurate for the broker's certificate. +=== Create a local CA for self-signed certificates -.ca.cnf -[,ini] +. Create a self-signed certificate and private key for the CA: ++ +[source,bash] +---- +openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -keyout broker.key -out broker.crt -subj "/CN=redpanda" -addext "subjectAltName = DNS:localhost, IP:127.0.0.1" +---- ++ +Ensure that `subjectAltName` is accurate for your setup. ++ +This command generates: ++ +- `broker.key`: Private key +- `broker.crt`: Self-signed certificate + +. Create a configuration file for the CA, `ca.cnf`, and include your organization's details. Ensure the `subjectAltName` extension is set correctly for broker certificates. ++ +[source,ini] ---- [ ca ] default_ca = CA_default @@ -55,47 +73,42 @@ default_md = sha256 copy_extensions = copy unique_subject = no policy = signing_policy -[ signing_policy ] -organizationName = supplied -commonName = optional -# Used to create the CA certificate. [ req ] prompt = no distinguished_name = distinguished_name x509_extensions = extensions [ distinguished_name ] -organizationName = Redpanda -commonName = Redpanda CA +organizationName = +commonName = [ extensions ] keyUsage = critical,digitalSignature,nonRepudiation,keyEncipherment,keyCertSign basicConstraints = critical,CA:true,pathlen:1 -# Common policy for nodes and users. [ signing_policy ] organizationName = supplied commonName = optional ---- -Create a CA key to self-sign certificates: - -[,bash] +. Create a private key for the CA and set its permissions: ++ +[source,bash] ---- openssl genrsa -out ca.key 2048 chmod 400 ca.key ---- -Create a public certificate for the CA: - -[,bash] +. Use the CA configuration to generate a public certificate: ++ +[source,bash] ---- openssl req -new -x509 -config ca.cnf -key ca.key -days 365 -batch -out ca.crt ---- - ++ where: - ++ [cols=",",options="header",] |=== |Inputs |Description @@ -113,23 +126,21 @@ certificates (created above). |`-batch` |Batch mode, where certificates are certified automatically. |=== ++ +The output `ca.crt` is the CA's public certificate, which you'll use in the truststore. -[cols=",",options="header",] -|=== -|Output |Description -|`-out ca.crt` |The public key certificate of the CA. -|=== - -=== Create certificate signing requests +=== Create broker certificates and certificate signing requests (CSRs) -This step creates the certificate signing request for the CA to extend trust over the broker's certificates. - -==== 1. Create broker configuration file (broker.cnf) +To issue certificates for brokers, create a certificate signing request (CSR) and sign it with the CA. +. Define the broker's Subject Alternative Name (SAN) entries in `broker.cnf` under `alt_names`. ++ A subject alternative name (SAN) indicates all domain names and IP addresses secured by the certificate. Depending on the address the client uses to connect to Redpanda, you might need to create a CNF file for each broker to modify the `alt_names` section with organizational details. For production usage, edit `alt_names` with DNS resolutions and/or the IP addresses. - -.broker.cnf -[,ini] ++ +For example: ++ +.`broker.cnf` +[source,ini] ---- [ req ] prompt = no @@ -137,7 +148,7 @@ distinguished_name = distinguished_name req_extensions = extensions [ distinguished_name ] -organizationName = Redpanda +organizationName = [ extensions ] subjectAltName = @alt_names @@ -150,23 +161,20 @@ DNS.4 = connect DNS.5 = ec2-3-15-15-272.us-east-2.compute.amazonaws.com IP.1 = 10.0.8.1 ---- - -You could configure alternative names with a single version of `broker.key`/`broker.crt`, -as long as you update the certificate for all brokers in the cluster any time you -edit an entry. For example: - -[,ini] ++ +You could configure alternative names with a single version of `broker.key`/`broker.crt`, as long as you update the certificate for all brokers in the cluster any time you edit an entry. For example: ++ +[source,ini] ---- [ alt_names ] DNS.1 = broker1.example.com DNS.2 = broker2.example.com DNS.3 = broker3.example.com ---- - -Additionally, you can configure alternative names using the public or private -IP addresses of all your brokers. For example: - -[,ini] ++ +Additionally, you can configure alternative names using the public or private IP addresses of all your brokers. For example: ++ +[source,ini] ---- [ alt_names ] IP.1 = 10.0.8.1 @@ -174,36 +182,22 @@ IP.2 = 10.0.8.2 IP.3 = 10.0.8.3 ---- -==== 2. Generate broker private key (broker.key) - -Generate a 2048-bit RSA private key for brokers: - -[,bash] +. Create a 2048-bit private key for the broker: ++ +[source,bash] ---- openssl genrsa -out broker.key 2048 ---- -where: - -[cols=",",options="header",] -|=== -|Output |Description -|`-out broker.key` |The private key certificate for the broker. -|=== - - -==== 3. Generate certificate signing request - -Before signing certificates, you must run the following command to generate the -broker's certificate signing request: - -[,bash] +. Create the broker's certificate signing request (CSR): ++ +[source,bash] ---- openssl req -new -key broker.key -out broker.csr -nodes -config broker.cnf ---- - ++ where: - ++ [cols=",",options="header",] |=== |Inputs |Description @@ -221,38 +215,52 @@ applying extensions. |`-in broker.csr` |Broker certificate signing request (CSR generated above). |=== ++ +The output `broker.crt` is the signed public key certificate for the broker. -[cols=",",options="header",] -|=== -|Output |Description -|`-out broker.crt` |The signed public key certificate for the broker. -|=== - -==== 4. Sign certificates - -Sign the certificate with the CA signature: - -[,bash] +. Sign the CSR with the CA's private key: ++ +[source,bash] ---- touch index.txt echo '01' > serial.txt openssl ca -config ca.cnf -keyfile ca.key -cert ca.crt -extensions extensions -in broker.csr -out broker.crt -outdir . -batch - -chown redpanda:redpanda broker.key broker.crt ca.crt -chmod 400 broker.key broker.crt ca.crt ---- - ++ If generated by a corporate CA, these certificate signing requests must be signed with the following extensions: - -[,bash] ++ +[,ini] ---- keyUsage = critical,digitalSignature,keyEncipherment extendedKeyUsage = serverAuth,clientAuth ---- +. Set ownership and permissions: ++ +[source,bash] +---- +chown redpanda:redpanda broker.key broker.crt ca.crt +chmod 400 broker.key broker.crt ca.crt +---- + == Configure TLS -To configure TLS, in `redpanda.yaml`, enter: +To configure TLS, in `redpanda.yaml`, enter either the standard <> or the <>. + +Choose PEM files when: + +- You are using FIPS mode compliance. +- You prefer file-based configurations with a separate key, certificate, and truststore file. + +Choose PKCS#12 bundles when: + +- FIPS mode is not required in your environment. +- You want a single, password-protected file that contains all certificates and keys. + +[[pem]] +=== Configure TLS with PEM files + +If you have separate files for `key_file`, `cert_file`, and `truststore_file`, use the following configuration in `redpanda.yaml`: .`redpanda.yaml` [,yaml] @@ -298,7 +306,7 @@ systemctl restart redpanda ==== [NOTE] -==== +==== If you replace a working `ca.crl` file with a file that contains an invalid certificate revocation list, such as an unsigned list, Redpanda will reject all connections until you either: * Replace the file. @@ -326,13 +334,44 @@ Schema Registry and HTTP Proxy connect to Redpanda over the Kafka API. If you co * xref:./authentication.adoc#configure-schema-registry-and-http-proxy-to-connect-to-redpanda-with-sasl[Configure Schema Registry and HTTP Proxy to connect to Redpanda with SASL] * xref:./listener-configuration.adoc[Configure Listeners] -include::manage:partial$min-tls-version.adoc[leveloffset=+1] +[[pkcs]] +=== Configure TLS with PKCS#12 bundles + +You can simplify certificate management by generating a password-protected PKCS#12 bundle from your `broker.key` and `broker.crt` files. + +NOTE: PKCS#12 keys are not supported when xref:manage:security/fips-compliance.adoc[FIPS mode] is enabled in Redpanda. The PKCS12KDF algorithm used in PKCS#12 is not FIPS-compliant. To use Redpanda in FIPS mode, configure your certificates and keys in <> instead. + +. Run this command to create a PKCS#12 file from your `broker.key` and `broker.crt` files: ++ +[source,bash] +---- +openssl pkcs12 -export -inkey broker.key -certfile broker.crt -passout pass: -out broker.p12 +---- ++ +Replace `` with your own password. + +. Update `redpanda.yaml` with the path to the PKCS#12 bundle: ++ +[source,yaml] +---- +redpanda: + kafka_api_tls: + - name: tls_listener + p12_path: + p12_password: + enabled: true + require_client_auth: false +---- + +CAUTION: Do not configure both both `key_file`/`cert_file` and `p12_path`/`p12_password` together, as this will cause a startup error. == Configure mTLS -To enable mTLS, add `require_client_auth` set to `true`. +To enable mTLS, add `require_client_auth` set to `true`. Configure either the standard PEM files or the PKCS#12 bundle. + +=== Configure mTLS with PEM files -For example, for the Kafka API, in `redpanda.yaml`, enter: +For the Kafka API, in `redpanda.yaml`, enter: .`redpanda.yaml` [,yaml] @@ -375,9 +414,9 @@ redpanda: - name: internal enabled: true require_client_auth: true - cert_file: - key_file: - truststore_file: + cert_file: + key_file: + truststore_file: ---- [NOTE] @@ -390,6 +429,25 @@ redpanda: See also: xref:./listener-configuration.adoc[Configure Listeners] +=== Configure mTLS with PKCS#12 bundles + +. Update `redpanda.yaml` with the path to the PKCS#12 bundle: ++ +[source,yaml] +---- +redpanda: + kafka_api_tls: + - name: mtls_listener + p12_path: + p12_password: + enabled: true + require_client_auth: true +---- + +CAUTION: Do not configure both the `key_file`/`cert_file` and the `p12_path`/`p12_password` together, as this will cause a startup error. + +include::manage:partial$min-tls-version.adoc[] + == Use rpk with TLS If you're using `rpk` to interact with the Kafka API using mTLS identity (for example, to manage topics or messages), pass the `--tls-key`, `--tls-cert`, and `--tls-truststore` flags to authenticate. diff --git a/modules/manage/pages/security/fips-compliance.adoc b/modules/manage/pages/security/fips-compliance.adoc index bdfbf2734..d6152bb44 100644 --- a/modules/manage/pages/security/fips-compliance.adoc +++ b/modules/manage/pages/security/fips-compliance.adoc @@ -9,11 +9,6 @@ Redpanda provides FIPS-compliant cipher enforcement for brokers using OpenSSL 3. include::shared:partial$enterprise-license.adoc[] ==== -[IMPORTANT] -==== -Redpanda is not fully FIPS-compliant when used with the Redpanda Helm chart and Operator in a Kubernetes deployment. -==== - To check if you already have a license key applied to your cluster: [,bash] @@ -25,7 +20,12 @@ rpk cluster license info Before configuring brokers to run in FIPS compliance mode (FIPS mode), check to make sure the `redpanda-rpk-fips` and `redpanda-fips` packages are xref:deploy:deployment-option/self-hosted/manual/production/production-deployment.adoc#install-redpanda-for-fips-compliance[installed]. These packages are required by both the `redpanda` and `redpanda-tuners` install packages. -== Configure FIPS +== Limitations + +- Redpanda is not fully FIPS-compliant when used with the Redpanda Helm chart and Operator in a Kubernetes deployment. +- PKCS#12 keys for xref:manage:security/encryption.adoc[TLS encryption] are not supported when FIPS mode is enabled in Redpanda. The PKCS12KDF algorithm used in PKCS#12 is not FIPS-compliant. To use Redpanda in FIPS mode with TLS enabled, configure your certificates and keys in PEM format instead. + +== Configure FIPS mode When you configure a broker to run in FIPS mode: From c7d9e47578e9b01e8d9aa3da571734ddeff460d6 Mon Sep 17 00:00:00 2001 From: JakeSCahill Date: Tue, 26 Nov 2024 19:48:05 +0000 Subject: [PATCH 26/30] Add docs for license status in RP resource --- .../licensing/monitor-license-status.adoc | 39 ++++++++++++++++++- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/modules/get-started/pages/licensing/monitor-license-status.adoc b/modules/get-started/pages/licensing/monitor-license-status.adoc index db3ac04af..cca1a124a 100644 --- a/modules/get-started/pages/licensing/monitor-license-status.adoc +++ b/modules/get-started/pages/licensing/monitor-license-status.adoc @@ -1,5 +1,5 @@ = Check the Status of an Enterprise Edition License -:description: pass:q[Learn how to monitor the status of your Redpanda Enterprise Edition license using `rpk`, the Redpanda Console, the Admin API, and observability tools such as logs and metrics.] +:description: pass:q[Learn how to monitor the status of your Redpanda Enterprise Edition license using `rpk`, Redpanda Console, and observability tools such as logs and metrics.] To track license expiration and ensure compliance with xref:get-started:licensing/overview.adoc[Redpanda licensing], you can monitor the status of your Enterprise Edition license using <>, <>, and observability tools such as <> and <>. @@ -32,7 +32,7 @@ Indicates the current state of the license. Possible values include: * `expired`: The license has expired, and restrictions may apply to enterprise features. * `not_present`: No license is currently applied. -|License violation +|License violation | A boolean value that indicates whether enterprise features are being used in violation of the licensing terms: @@ -147,6 +147,41 @@ Redpanda Console displays warnings in the following scenarios: - *Redpanda Self-Managed enterprise features are in use without a valid license*: If the Redpanda cluster is using enterprise features without a valid license, Redpanda Console displays a warning specifying the features in use without proper licensing. +== Check the license status on the Redpanda resource in Kubernetes + +If you have deployed a Redpanda cluster in Kubernetes using the Redpanda Operator, you can monitor the Enterprise Edition license status from the Redpanda custom resource. The operator integrates license monitoring into the resource's `status` field, allowing you to query the license state, expiration, and active enterprise features with `kubectl`. + +. Identify the Redpanda resource: ++ +[,bash] +---- +kubectl get redpanda +---- ++ +Example output: ++ +[.no-copy] +---- +NAME AGE +example-redpanda 12m +---- + +. Check the license status: ++ +[,bash] +---- +kubectl get redpanda -o jsonpath='{.status.licenseStatus}' +---- ++ +Replace with the name of your Redpanda resource, such as `example-redpanda`. + + +The `status.licenseStatus` field includes: + +- `valid`: Indicates whether the license is valid (true) or not (false). +- `expiryDate`: The date the license will expire (format: YYYY-MM-DD). +- `features`: A list of enterprise features currently in use. + [[logs]] == Monitor a license in the logs From 564dd93ca4af1a1d169f777ac88de25ce677a0cc Mon Sep 17 00:00:00 2001 From: Jake Cahill <45230295+JakeSCahill@users.noreply.github.com> Date: Tue, 26 Nov 2024 19:53:43 +0000 Subject: [PATCH 27/30] Apply suggestions from code review --- .../pages/licensing/monitor-license-status.adoc | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/modules/get-started/pages/licensing/monitor-license-status.adoc b/modules/get-started/pages/licensing/monitor-license-status.adoc index cca1a124a..ae7550c96 100644 --- a/modules/get-started/pages/licensing/monitor-license-status.adoc +++ b/modules/get-started/pages/licensing/monitor-license-status.adoc @@ -173,11 +173,10 @@ example-redpanda 12m kubectl get redpanda -o jsonpath='{.status.licenseStatus}' ---- + -Replace with the name of your Redpanda resource, such as `example-redpanda`. - - +Replace `` with the name of your Redpanda resource, such as `example-redpanda`. ++ The `status.licenseStatus` field includes: - ++ - `valid`: Indicates whether the license is valid (true) or not (false). - `expiryDate`: The date the license will expire (format: YYYY-MM-DD). - `features`: A list of enterprise features currently in use. From ef745d3b99cd8189180783cb9e3b05f52d059121 Mon Sep 17 00:00:00 2001 From: JakeSCahill Date: Wed, 27 Nov 2024 09:20:52 +0000 Subject: [PATCH 28/30] Apply suggestions from review --- .../licensing/monitor-license-status.adoc | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/modules/get-started/pages/licensing/monitor-license-status.adoc b/modules/get-started/pages/licensing/monitor-license-status.adoc index cca1a124a..8e396accb 100644 --- a/modules/get-started/pages/licensing/monitor-license-status.adoc +++ b/modules/get-started/pages/licensing/monitor-license-status.adoc @@ -147,40 +147,40 @@ Redpanda Console displays warnings in the following scenarios: - *Redpanda Self-Managed enterprise features are in use without a valid license*: If the Redpanda cluster is using enterprise features without a valid license, Redpanda Console displays a warning specifying the features in use without proper licensing. -== Check the license status on the Redpanda resource in Kubernetes +== Use the Redpanda Operator to check license status -If you have deployed a Redpanda cluster in Kubernetes using the Redpanda Operator, you can monitor the Enterprise Edition license status from the Redpanda custom resource. The operator integrates license monitoring into the resource's `status` field, allowing you to query the license state, expiration, and active enterprise features with `kubectl`. +If you deployed a Redpanda cluster in Kubernetes using the Redpanda Operator, you can monitor the Enterprise Edition license status from the Redpanda custom resource. The operator integrates license monitoring into the resource's `status.conditions` field, allowing you to get the license state with `kubectl`. + +Identify your Redpanda resources: -. Identify the Redpanda resource: -+ [,bash] ---- -kubectl get redpanda +kubectl get redpanda -A ---- -+ + Example output: -+ + [.no-copy] ---- -NAME AGE -example-redpanda 12m +NAMESPACE NAME LICENSE READY STATUS +redpanda cluster Valid True Redpanda reconciliation succeeded ---- -. Check the license status: -+ -[,bash] ----- -kubectl get redpanda -o jsonpath='{.status.licenseStatus}' ----- -+ -Replace with the name of your Redpanda resource, such as `example-redpanda`. +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. + +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. -The `status.licenseStatus` field includes: +- If no changes occur, the operator reconciles every 10 hours (default cache resync interval). -- `valid`: Indicates whether the license is valid (true) or not (false). -- `expiryDate`: The date the license will expire (format: YYYY-MM-DD). -- `features`: A list of enterprise features currently in use. +- If you force reconciliation by making a no-op change, such as adding an annotation, to the Redpanda resource. [[logs]] == Monitor a license in the logs From 254a2fd937f9860afd291b82c29efbf5cb421348 Mon Sep 17 00:00:00 2001 From: Jake Cahill <45230295+JakeSCahill@users.noreply.github.com> Date: Mon, 2 Dec 2024 12:26:04 +0000 Subject: [PATCH 29/30] Clarify behavior of license expiration (#878) --- .../pages/config/configure-console.adoc | 2 +- .../licensing/monitor-license-status.adoc | 4 +- .../get-started/pages/licensing/overview.adoc | 73 ++++++++++++++----- modules/get-started/pages/whats-new.adoc | 2 +- .../cluster-balancing.adoc | 8 +- modules/manage/partials/authentication.adoc | 4 +- .../pages/properties/cluster-properties.adoc | 2 +- .../pages/public-metrics-reference.adoc | 4 +- .../attachments/redpanda-console-config.yaml | 8 +- .../partials/enterprise-and-console.adoc | 4 +- .../shared/partials/enterprise-license.adoc | 2 +- .../partials/errors-and-solutions.adoc | 2 +- 12 files changed, 74 insertions(+), 41 deletions(-) diff --git a/modules/console/pages/config/configure-console.adoc b/modules/console/pages/config/configure-console.adoc index 0f2a562e5..b5ba9a507 100644 --- a/modules/console/pages/config/configure-console.adoc +++ b/modules/console/pages/config/configure-console.adoc @@ -53,7 +53,7 @@ The following YAML file contains a complete list of all Redpanda Console configu [CAUTION] ==== * Where necessary, ensure that values are enclosed in quotes and escaped. For example, put passwords with special characters in single quotes. -* This configuration file contains both Redpanda Enterprise and Redpanda Community Edition configurations. If you don't provide an Enterprise license, Redpanda Console ignores configurations for enterprise features. +* This configuration file contains both Redpanda Enterprise and Redpanda Community Edition configurations. If you don't provide an enterprise license, Redpanda Console ignores configurations for enterprise features. ==== xref:shared:attachment$redpanda-console-config.yaml[Download the sample file]. diff --git a/modules/get-started/pages/licensing/monitor-license-status.adoc b/modules/get-started/pages/licensing/monitor-license-status.adoc index db3ac04af..36668dd21 100644 --- a/modules/get-started/pages/licensing/monitor-license-status.adoc +++ b/modules/get-started/pages/licensing/monitor-license-status.adoc @@ -71,7 +71,7 @@ If the license is within 30 days of expiration, a warning is logged. `rpk` displ - *Trial expiration*: When enterprise features are enabled and a trial license expires in less than 15 days. -- *Enterprise expiration*: When enterprise features are enabled and an Enterprise license is expired. +- *Enterprise expiration*: When enterprise features are enabled and an enterprise license is expired. === Examples @@ -131,7 +131,7 @@ Replace `` with one of the available formats. See xref:reference:rpk/rpk You can also check the status of your license in the Redpanda Console UI. See xref:console:ui/add-license.adoc[]. -If Redpanda Console cannot find a valid license either locally or in the connected Redpanda cluster, it shuts down. Redpanda Console tries to load a valid license at startup in the following order: +Redpanda Console tries to load a valid license at startup in the following order: . From the local configuration file or environment variables. . From the connected Redpanda cluster (if available). diff --git a/modules/get-started/pages/licensing/overview.adoc b/modules/get-started/pages/licensing/overview.adoc index 5667c9bdc..54eeab09d 100644 --- a/modules/get-started/pages/licensing/overview.adoc +++ b/modules/get-started/pages/licensing/overview.adoc @@ -30,13 +30,16 @@ The Enterprise Edition is licensed with the https://github.com/redpanda-data/red === License keys -Enterprise features require an Enterprise Edition license key, sometimes referred to as Enterprise license, license key, or license. +Enterprise features require an Enterprise Edition license key, sometimes referred to as enterprise license, license key, or license. Starting with version 24.3, new Redpanda clusters automatically receive a trial license that's valid for 30 days, allowing unrestricted use of enterprise features. This evaluation period begins when the cluster is created for the first time. After this period expires, inactive enterprise features are disabled, and active features enter a restricted state. -To get a trial license key or extend your trial period, https://redpanda.com/try-enterprise[generate a new trial license key]. +To get a trial license key or extend your trial period, https://redpanda.com/try-enterprise[generate a new trial license key]. Or, https://redpanda.com/upgrade[upgrade to Redpanda Enterprise^]. -To purchase a license, contact https://redpanda.com/upgrade[Redpanda Sales^]. +[IMPORTANT] +==== +Redpanda Connect does not accept trial license keys. To use enterprise features of Redpanda Connect, https://redpanda.com/upgrade[upgrade to Redpanda Enterprise^] +==== [NOTE] ==== @@ -44,13 +47,22 @@ include::get-started:partial$licensing/block-upgrades-note.adoc[] ==== [[self-managed]] -=== Enterprise features in Redpanda +=== Redpanda enterprise features + +The following table lists the Enterprise features for Redpanda and how Redpanda behaves upon license expiration when each enterprise feature is enabled. + +- *Upon license expiration*: + +** The cluster continues to operate without data loss, but the further use of enterprise features is restricted (see the <>). +** Configuration of enterprise features remains unchanged, allowing you to add a new license and continue using enterprise features as before expiration. For instructions, see xref:get-started:licensing/add-license-redpanda/index.adoc[] -The following table lists the available Enterprise features for Redpanda, along with the restrictions applied if the Enterprise license is invalid or has expired. +- *After license expiration*: You cannot enable enterprise features without a valid license. +[[redpanda-enterprise-features]] +.Enterprise features in Redpanda [cols="1a,2a,2a"] |=== -| Feature | Description | Restrictions Without Valid License +| Feature | Description | Behavior Upon Expiration | xref:manage:audit-logging.adoc[Audit Logging] | Records detailed logs of cluster activities for compliance and monitoring. @@ -67,19 +79,19 @@ The following table lists the available Enterprise features for Redpanda, along | xref:manage:security/fips-compliance.adoc[FIPS Compliance] | Enables compliance with FIPS security standards for cryptography. -| None +| No change. -| xref:manage:security/authentication.adoc#kerberos[Kerberos authentication] +| xref:manage:security/authentication.adoc#kerberos[Kerberos Authentication] | Provides secure Kerberos-based authentication. -| None +| No change. | xref:manage:security/authentication.adoc#kerberos[Leader Pinning] | Specifies the set of availability zones where the leaders of partitions of a given topic should be located. | Leader Pinning is disabled on all topics. -| xref:manage:security/authentication.adoc#oidc[OAUTHBEARER/OIDC authentication] +| xref:manage:security/authentication.adoc#oidc[OAUTHBEARER/OIDC Authentication] | Allows for OAUTHBEARER and OpenID Connect (OIDC) authentication. -| None +| No change. | xref:manage:remote-read-replicas.adoc[Remote Read Replicas] | Enables remote clusters to read data stored in object storage for disaster recovery. @@ -94,23 +106,44 @@ The following table lists the available Enterprise features for Redpanda, along | Topics with schema validation settings cannot be created or modified. | xref:manage:tiered-storage.adoc[Tiered Storage] -| Enables storage of data in cloud object storage for long-term retention and retrieval. -| Topics cannot be created or modified to enable Tiered Storage features. Additional partitions cannot be added to topics that have any Tiered Storage properties enabled. +| Enables data storage in cloud object storage for long-term retention and retrieval. +| Topics cannot be created or modified to enable Tiered Storage features. Additional partitions cannot be added to topics with Tiered Storage properties enabled. |=== [[console]] -=== Enterprise features in Redpanda Console +=== Redpanda Console enterprise features The following enterprise features for Redpanda Console are activated with a valid Enterprise Edition license key: -* xref:console:config/security/authentication.adoc[Redpanda Console Authentication] -* xref:console:config/security/authorization.adoc[Redpanda Console Authorization (RBAC)] +.Enterprise features in Redpanda Console +[cols="1a,2a,2a"] +|=== +| Feature | Description | Restrictions Without Valid License + +|xref:console:config/security/authentication.adoc[Redpanda Console Authentication] +|Enables authentication for Redpanda Console, allowing secure access. +|All endpoints are redirected to the license expiration landing page, and all other access is restricted. + +|xref:console:config/security/authorization.adoc[Redpanda Console Authorization (RBAC)] +|Manages user roles and permissions for accessing features within Redpanda Console. +|All endpoints are redirected to the license expiration landing page, and all other access is restricted. +|=== [[connect]] -=== Enterprise features in Redpanda Connect +=== Redpanda Connect enterprise features + +The Enterprise Edition of Redpanda Connect includes additional connectors. An Enterprise Edition license is required to enable them. -The Enterprise Edition of Redpanda Connect includes additional connectors. For a list of all available connectors, see xref:redpanda-connect:components:catalog.adoc[]. +For all available connectors, see xref:redpanda-connect:components:catalog.adoc[]. + +- *License expires during runtime*: All enterprise features for Redpanda Connect become unavailable. +- *License expired at startup*: Redpanda Connect logs an error message and blocks the use of all enterprise features. + +[IMPORTANT] +==== +Redpanda Connect does not accept trial license keys. To use enterprise features of Redpanda Connect, https://redpanda.com/upgrade[upgrade to Redpanda Enterprise^] +==== == Manage licenses for Redpanda @@ -122,11 +155,11 @@ See xref:get-started:licensing/add-license-redpanda/index.adoc[]. Redpanda Console offers two methods for applying or updating a license, depending on your setup: -- If you are using Redpanda Console without connecting it to a Redpanda cluster, you can xref:console:config/enterprise-license.adoc[configure the license through the local configuration file or environment variables]. This method allows you to add a license for Redpanda Console independently of the Redpanda cluster. +- If you use Redpanda Console without connecting it to a Redpanda cluster, you can xref:console:config/enterprise-license.adoc[configure the license through the local configuration file or environment variables]. This method allows you to add a license for Redpanda Console independently of the Redpanda cluster. - If Redpanda Console is connected to a Redpanda cluster, you can xref:console:ui/add-license.adoc[upload a license through the Redpanda Console UI]. This method allows you to manage and update licenses for both Redpanda Console and the connected Redpanda cluster. == Next steps - xref:get-started:licensing/add-license-redpanda/index.adoc[] -- xref:get-started:licensing/monitor-license-status.adoc[] \ No newline at end of file +- xref:get-started:licensing/monitor-license-status.adoc[] diff --git a/modules/get-started/pages/whats-new.adoc b/modules/get-started/pages/whats-new.adoc index 07b32b759..bf0fc55e8 100644 --- a/modules/get-started/pages/whats-new.adoc +++ b/modules/get-started/pages/whats-new.adoc @@ -47,7 +47,7 @@ This release includes several updates to xref:get-started:licensing/overview.ado - *Unified license management in Redpanda Console*: You can now upload and apply a single license key for both Redpanda Console and the connected Redpanda cluster through the Redpanda Console UI. Any existing license key is overridden by the new one. -- *30-day trial Enterprise license*: Starting with version 24.3, new Redpanda clusters automatically receive a trial license that's valid for 30 days, allowing unrestricted use of Enterprise features. This evaluation period begins when the cluster is created for the first time. After this period expires, inactive Enterprise features are disabled, and active features enter a restricted state. +- *30-day trial enterprise license*: Starting with version 24.3, new Redpanda clusters automatically receive a trial license that's valid for 30 days, allowing unrestricted use of Enterprise features. This evaluation period begins when the cluster is created for the first time. After this period expires, inactive Enterprise features are disabled, and active features enter a restricted state. == PKCS#12 support for TLS listeners diff --git a/modules/manage/pages/cluster-maintenance/cluster-balancing.adoc b/modules/manage/pages/cluster-maintenance/cluster-balancing.adoc index 308fd750b..37157f004 100644 --- a/modules/manage/pages/cluster-maintenance/cluster-balancing.adoc +++ b/modules/manage/pages/cluster-maintenance/cluster-balancing.adoc @@ -28,14 +28,14 @@ Redpanda provides partition replica balancing when brokers are added or decommis | This balancer moves partition replicas across CPU cores in an individual broker. Redpanda maintains balanced partition replica assignments between cores to avoid topic hotspots on one or a few specific cores within a broker. + -Continuous Intra-Broker Partition Balancing (`core_balancing_continuous`) requires an xref:get-started:licenses.adoc#redpanda-enterprise-edition[Enterprise license]. +Continuous Intra-Broker Partition Balancing (`core_balancing_continuous`) requires an xref:get-started:licenses.adoc#redpanda-enterprise-edition[enterprise license]. | xref:manage:cluster-maintenance/continuous-data-balancing.adoc[Continuous Data Balancing] | This balancer monitors broker and rack availability, as well as disk usage, to avoid topic hotspots when moving data off brokers with fuller disks. Continuous Data Balancing enables self-healing clusters that dynamically balance partitions. It also ensures adherence to rack-aware replica placement policy and self-heals after rack (or availability zone) failure or replacement. This balancer does not keep the relative fullness of each broker within a defined range, it just prevents hitting the fullness threshold of each individual broker. + -Continuous Data Balancing requires an xref:get-started:licenses.adoc#redpanda-enterprise-edition[Enterprise license]. +Continuous Data Balancing requires an xref:get-started:licenses.adoc#redpanda-enterprise-edition[enterprise license]. |=== @@ -109,7 +109,7 @@ This is the default setting. | `continuous` | Redpanda continuously monitors the cluster for broker failures and high disk usage and automatically redistributes partitions to maintain optimal performance and availability. It also monitors rack availability after failures, and for a given partition, it tries to move excess replicas from racks that have more than one replica to racks where there are none. See xref:./continuous-data-balancing.adoc[Configure Continuous Data Balancing]. + + -This requires an Enterprise license. +This requires an enterprise license. | `off` | All partition balancing from Redpanda is turned off. + @@ -136,7 +136,7 @@ Configure the following properties to trigger intra-broker partition balancing: | xref:reference:cluster-properties.adoc#core_balancing_continuous[`core_balancing_continuous`] a| Set to `true` to rebalance partition assignments across cores in runtime, for example when partitions are moved to or away from brokers. Default value: `false`. -This requires an Enterprise license. +This requires an enterprise license. |=== You can also manually trigger intra-broker partition balancing with the Admin API: diff --git a/modules/manage/partials/authentication.adoc b/modules/manage/partials/authentication.adoc index f5171f923..921903f12 100644 --- a/modules/manage/partials/authentication.adoc +++ b/modules/manage/partials/authentication.adoc @@ -690,7 +690,7 @@ endif::[] [[oidc]] ==== OAUTHBEARER (OIDC) -NOTE: OpenID Connect (OIDC) authentication requires an xref:get-started:licenses.adoc[Enterprise license]. +NOTE: OpenID Connect (OIDC) authentication requires an xref:get-started:licenses.adoc[enterprise license]. To upgrade, contact https://redpanda.com/try-redpanda?section=enterprise-trial[Redpanda sales^]. When you enable https://openid.net/developers/how-connect-works/[OIDC^], Redpanda and @@ -971,7 +971,7 @@ ifndef::env-kubernetes[] [[kerberos]] ==== GSSAPI (Kerberos) -NOTE: Kerberos authentication requires an xref:get-started:licenses.adoc[Enterprise license]. To upgrade, contact https://redpanda.com/try-redpanda?section=enterprise-trial[Redpanda sales^]. +NOTE: Kerberos authentication requires an xref:get-started:licenses.adoc[enterprise license]. To upgrade, contact https://redpanda.com/try-redpanda?section=enterprise-trial[Redpanda sales^]. To configure Kerberos authentication, use a keytab, which contains credentials for the service. diff --git a/modules/reference/pages/properties/cluster-properties.adoc b/modules/reference/pages/properties/cluster-properties.adoc index 70a0fb578..e0d5b42af 100644 --- a/modules/reference/pages/properties/cluster-properties.adoc +++ b/modules/reference/pages/properties/cluster-properties.adoc @@ -3394,7 +3394,7 @@ Mode of xref:manage:cluster-maintenance/cluster-balancing.adoc[partition balanci *Accepted values:* -* `continuous`: partition balancing happens automatically to maintain optimal performance and availability, based on continuous monitoring for node changes (same as `node_add`) and also high disk usage. This option requires an xref:get-started:licenses.adoc[Enterprise license], and it is customized by <> and <> properties. +* `continuous`: partition balancing happens automatically to maintain optimal performance and availability, based on continuous monitoring for node changes (same as `node_add`) and also high disk usage. This option requires an xref:get-started:licenses.adoc[enterprise license], and it is customized by <> and <> properties. * `node_add`: partition balancing happens when a node is added. * `off`: partition balancing is disabled. This option is not recommended for production clusters. diff --git a/modules/reference/pages/public-metrics-reference.adoc b/modules/reference/pages/public-metrics-reference.adoc index 4a285f66d..01ce3f238 100644 --- a/modules/reference/pages/public-metrics-reference.adoc +++ b/modules/reference/pages/public-metrics-reference.adoc @@ -55,7 +55,7 @@ Number of seconds remaining until the Enterprise Edition license expires. *Type*: gauge -*Usage*: Use this metric to set up alerts or dashboards to track the license expiration status and ensure timely renewal. +*Usage*: When no license is present, this gauge is -1. When the license is expired, this gauge is 0. Use this metric to set up alerts or dashboards to track the license expiration status and ensure timely renewal. --- @@ -73,7 +73,7 @@ Number of partition replicas in the cluster that are currently being removed fro *Type*: gauge -*Usage*: When this gauge is non-zero, determine whether there is an expected or unexpected reassignment of partitions that is causing movement of partition replicas. +*Usage*: When this gauge is non-zero, determine whether there is an expected or unexpected reassignment of partitions causing partition replica movement. --- diff --git a/modules/shared/attachments/redpanda-console-config.yaml b/modules/shared/attachments/redpanda-console-config.yaml index 4b0be5c7d..4323b4b23 100644 --- a/modules/shared/attachments/redpanda-console-config.yaml +++ b/modules/shared/attachments/redpanda-console-config.yaml @@ -169,8 +169,8 @@ kafka: #maxRetryInterval: 60s #backoffMultiplier: 2 -# To mount an Enterprise license, set either license or licenseFilepath. -# This is only required if you want to use an Enterprise feature +# To mount an enterprise license, set either license or licenseFilepath. +# This is only required if you want to use an enterprise feature # such as SSO or RBAC. # Filepath to your redpanda.license file #licenseFilepath: "" @@ -178,7 +178,7 @@ kafka: #license: "" # The enterprise block contains configurations for features that -# can only be used with a valid Redpanda Enterprise license. +# can only be used with a valid Redpanda enterprise license. #enterprise: #rbac: # Whether or not RBAC is used. This must be enabled @@ -254,7 +254,7 @@ kafka: # Login contains all configurations in order to protect Redpanda Console # with a login screen. To support SSO, configure one or more of the identity # providers below. -# This feature requires an Enterprise license. +# This feature requires an enterprise license. #login: #enabled: false # jwtSecret is the secret key you must use to sign and encrypt the JSON diff --git a/modules/shared/partials/enterprise-and-console.adoc b/modules/shared/partials/enterprise-and-console.adoc index 222527ee8..451da64eb 100644 --- a/modules/shared/partials/enterprise-and-console.adoc +++ b/modules/shared/partials/enterprise-and-console.adoc @@ -1,3 +1,3 @@ -This feature requires an xref:get-started:licenses.adoc[Enterprise license]. To get a trial license key or extend your trial period, https://redpanda.com/try-enterprise[generate a new trial license key^]. To purchase a license, contact https://redpanda.com/upgrade[Redpanda Sales^]. +This feature requires an xref:get-started:licenses.adoc[enterprise license]. To get a trial license key or extend your trial period, https://redpanda.com/try-enterprise[generate a new trial license key^]. To purchase a license, contact https://redpanda.com/upgrade[Redpanda Sales^]. -If Redpanda Console has enterprise features enabled and it cannot find a valid license either in its xref:console:config/enterprise-license.adoc[local configuration] or in the xref:get-started:licensing/add-license-redpanda/index.adoc[connected Redpanda cluster], it shuts down. \ No newline at end of file +If Redpanda Console has enterprise features enabled and it cannot find a valid license either in its xref:console:config/enterprise-license.adoc[local configuration] or in the xref:get-started:licensing/add-license-redpanda/index.adoc[connected Redpanda cluster], it redirects you to the license expiration landing page, and all other access is restricted. \ No newline at end of file diff --git a/modules/shared/partials/enterprise-license.adoc b/modules/shared/partials/enterprise-license.adoc index 1921f9480..fcafee78e 100644 --- a/modules/shared/partials/enterprise-license.adoc +++ b/modules/shared/partials/enterprise-license.adoc @@ -1,3 +1,3 @@ -This feature requires an xref:get-started:licenses.adoc[Enterprise license]. To get a trial license key or extend your trial period, https://redpanda.com/try-enterprise[generate a new trial license key^]. To purchase a license, contact https://redpanda.com/upgrade[Redpanda Sales^]. +This feature requires an xref:get-started:licenses.adoc[enterprise license]. To get a trial license key or extend your trial period, https://redpanda.com/try-enterprise[generate a new trial license key^]. To purchase a license, contact https://redpanda.com/upgrade[Redpanda Sales^]. If Redpanda has enterprise features enabled and it cannot find a valid license, xref:get-started:licenses.adoc#self-managed[restrictions] apply. diff --git a/modules/troubleshoot/partials/errors-and-solutions.adoc b/modules/troubleshoot/partials/errors-and-solutions.adoc index 3a02f505c..4ae8a3e07 100644 --- a/modules/troubleshoot/partials/errors-and-solutions.adoc +++ b/modules/troubleshoot/partials/errors-and-solutions.adoc @@ -457,7 +457,7 @@ During a Redpanda upgrade, if enterprise features are enabled and a valid Enterp [.no-copy] ---- -A Redpanda Enterprise Edition license is required to use the currently enabled features. To apply your license, downgrade this broker to the pre-upgrade version and provide a valid license key via rpk using 'rpk cluster license set ', or via Redpanda Console. To request an Enterprise license, please visit . To try Redpanda Enterprise for 30 days, visit . For more information, see . +A Redpanda Enterprise Edition license is required to use the currently enabled features. To apply your license, downgrade this broker to the pre-upgrade version and provide a valid license key via rpk using 'rpk cluster license set ', or via Redpanda Console. To request an enterprise license, please visit . To try Redpanda Enterprise for 30 days, visit . For more information, see . ---- If you encounter this message, follow these steps to recover: From 1232e88b186047b3ffd84e5f136c7f360a5b72c8 Mon Sep 17 00:00:00 2001 From: Paulo Borges Date: Mon, 2 Dec 2024 12:41:53 -0300 Subject: [PATCH 30/30] add iceberg properties (#846) --- .../pages/properties/cluster-properties.adoc | 196 +++++++++++++++++- 1 file changed, 195 insertions(+), 1 deletion(-) diff --git a/modules/reference/pages/properties/cluster-properties.adoc b/modules/reference/pages/properties/cluster-properties.adoc index e0d5b42af..6747c8974 100644 --- a/modules/reference/pages/properties/cluster-properties.adoc +++ b/modules/reference/pages/properties/cluster-properties.adoc @@ -770,6 +770,24 @@ The percentage of available memory in the transform subsystem to use for write b --- +=== datalake_coordinator_snapshot_max_delay_secs + +Maximum amount of time the coordinator waits to snapshot after a command appears in the log. + +*Unit*: seconds + +*Requires restart:* No + +*Visibility:* `tunable` + +*Type:* integer + +*Accepted values:* [`-17179869184`, `17179869183`] + +*Default:* `900` + +--- + === debug_bundle_auto_removal_seconds If set, how long debug bundles are kept in the debug bundle storage directory after they are created. If not set, debug bundles are kept indefinitely. @@ -1522,6 +1540,66 @@ A list of supported HTTP authentication mechanisms. --- +=== iceberg_catalog_base_location + +Base path for the object storage backed Iceberg catalog. After Iceberg is enabled, do not change this value. + +*Requires restart:* Yes + +*Visibility:* `user` + +*Type:* string + +*Default:* `redpanda-iceberg-catalog` + +--- + +=== iceberg_catalog_commit_interval_ms + +The frequency at which the Iceberg coordinator commits topic files to the catalog. This is the interval between commit transactions across all topics monitored by the coordinator, not the interval between individual commits. + +*Unit:* milliseconds + +*Requires restart:* No + +*Visibility:* `tunable` + +*Type:* integer + +*Accepted values:* [`-17592186044416`, `17592186044415`] + +*Default:* `60000` + +--- + +=== iceberg_catalog_type + +Iceberg catalog type that Redpanda will use to commit table metadata updates. Supported types: 'rest', 'object_storage'. + +*Requires restart:* Yes + +*Visibility:* `user` + +*Accepted values:* `rest`, `object_storage` + +*Default:* `object_storage` + +--- + +=== iceberg_delete + +Default value for the `redpanda.iceberg.delete` topic property that determines if the corresponding Iceberg table is deleted upon deleting the topic. + +*Requires restart:* No + +*Visibility:* `user` + +*Type:* boolean + +*Default:* `true` + +--- + === iceberg_enabled Enables the translation of topic data into Iceberg tables. Setting `iceberg_enabled` to `true` activates the feature at the cluster level, but each topic must also set the `redpanda.iceberg.enabled` topic-level property to `true` to use it. If `iceberg_enabled` is set to `false`, then the feature is disabled for all topics in the cluster, overriding any topic-level settings. @@ -1536,6 +1614,122 @@ Enables the translation of topic data into Iceberg tables. Setting `iceberg_enab --- +=== iceberg_rest_catalog_client_id + +Iceberg REST catalog user ID. This ID is used to query the catalog API for the OAuth token. Required if catalog type is set to `rest`. + +*Requires restart:* Yes + +*Visibility:* `user` + +*Type:* string + +*Default:* `null` + +--- + +=== iceberg_rest_catalog_client_secret + +Secret to authenticate against Iceberg REST catalog. Required if catalog type is set to `rest`. + +*Requires restart:* Yes + +*Visibility:* `user` + +*Type:* string + +*Default:* `null` + +--- + +=== iceberg_rest_catalog_crl_file + +Path to certificate revocation list for `iceberg_rest_catalog_trust_file`. + +*Requires restart:* Yes + +*Visibility:* `user` + +*Type:* string + +*Default:* `null` + +--- + +=== iceberg_rest_catalog_endpoint + +URL of Iceberg REST catalog endpoint. + +*Requires restart:* Yes + +*Visibility:* `user` + +*Type:* string + +*Default:* `null` + +--- + +=== iceberg_rest_catalog_prefix + +Prefix part of the Iceberg REST catalog URL. Prefix is appended to the catalog path, for example `/v1/{prefix}/namespaces`. + +*Requires restart:* Yes + +*Visibility:* `user` + +*Type:* string + +*Default:* `null` + +--- + +=== iceberg_rest_catalog_request_timeout_ms + +Maximum length of time that Redpanda waits for a response from the REST catalog before aborting the request. + +*Unit:* milliseconds + +*Requires restart:* No + +*Visibility:* `tunable` + +*Type:* integer + +*Accepted values:* [`-17592186044416`, `17592186044415`] + +*Default:* `10000` + +--- + +=== iceberg_rest_catalog_token + +Token used to access the REST Iceberg catalog. If the token is present, Redpanda ignores credentials stored in the properties <> and <>. + +*Requires restart:* Yes + +*Visibility:* `user` + +*Type:* string + +*Default:* `null` + +--- + +=== iceberg_rest_catalog_trust_file + +Path to a file containing a certificate chain to trust for the REST Iceberg catalog. + +*Requires restart:* Yes + +*Visibility:* `user` + +*Type:* string + +*Default:* `null` + +--- + === id_allocator_batch_size The ID allocator allocates messages in batches (each batch is a one log record) and then serves requests from memory without touching the log until the batch is exhausted. @@ -4193,7 +4387,7 @@ The maximum number of connections a broker will open to each of its peers. *Accepted values:* [`-2147483648`, `2147483647`] -*Default:* `32` +*Default:* `128` ---

uf5FQ8;$-fX0z@$mxHPbGm|RMA?vR-P$_7 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 z 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 &O1Lvp)dS6$&CEqoA+`s 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.X^17ixcz z)BT;NLh`U$ar#{-&zSzYv=Tq24~ilXZ_3*}ytzcYZP@gV5{VJIRQTvZ3DlexzOy~& z$mb;D_Xz()-tAsr>XzUTOu$vn-MXtSW_MXmInrpaOCf`b0%Q$@h)vK)Z-bBt5gKZW zU+)V9Eln`(R+{(+4=9@r{G1p}=EVcH86xd&?9mLHD3j$joL;-^j{wQ~2jq)%9J;Re z+aLnXmrKiQMF3*>TrPwEi+&g;E!o|#Q$&C)^D`UHGy;tYjjH!?rlc}C=`Aj}0a7Yu zbX|axT=;y(N>QUcE{&tm4fV)=&iCEufXnhT4HFIvQ|5xplj5`&?$Tp%+i9iaF=K>GLhOaCxj~ zLSvN$7e@u3yjw=753~1$*|f&oMjc{O70MxbLK~064h18&HpU9Dp?+}%DR8;k!TpgV zwB!HVgEO4NT)f{&F80hV-Vl^h?zGVd$*ZgEG`F& z$uCS%=@RJ!stMfvOatdH23;+W9dbd7SdO*X)!SC0^uR5AixdI8N0GO?EN0#C%AH*YfRL8e@~yk4x;ON6~JM=hV#RwU}j&XPB%B%x1FX%tu~ z6?}&XpmuF36*$(0-C-VpL!I=}|L=j@4|jb2KI+nT&g%yUObO3TVdo6MdYB7VsxP#; zgO5_W>F1$iJ-cM@vd8Y$*5m`5Hdj^ow12$xyl+ z7(9Pr99|t^4m5ADW18soVD&z;NTtc*jf(+PlG7{@92%)cw_Rwez@mg4|7-t&`TO