Skip to content

Commit

Permalink
DOC-470 Debug bundle in Redpanda Console (#825)
Browse files Browse the repository at this point in the history
Co-authored-by: Kat Batuigas <[email protected]>
  • Loading branch information
2 people authored and Deflaimun committed Nov 19, 2024
1 parent a437f34 commit fa14029
Show file tree
Hide file tree
Showing 63 changed files with 1,337 additions and 807 deletions.
45 changes: 42 additions & 3 deletions .github/workflows/test-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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:
Expand All @@ -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 }}
7 changes: 6 additions & 1 deletion antora.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
28 changes: 18 additions & 10 deletions modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down Expand Up @@ -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]
Expand Down Expand Up @@ -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[]
Expand All @@ -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]
Expand All @@ -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]
Expand All @@ -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]
Expand All @@ -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[]
Expand Down
Binary file modified modules/console/images/broker-overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified modules/console/images/js-filter.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified modules/console/images/license.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified modules/console/images/overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified modules/console/images/topic-documentation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified modules/console/images/topic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified modules/console/images/user.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 3 additions & 1 deletion modules/console/pages/config/connect-to-redpanda.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ kafka:
[[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.
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, and generating debug bundles.

[,yaml]
----
Expand All @@ -85,6 +85,8 @@ redpanda:
# insecureSkipTlsVerify: false
----

NOTE: Make sure to include the URLs of _all_ brokers in the `redpanda.adminApi.urls` array.

== Suggested reading

- xref:console:config/deserialization.adoc[]
Expand Down
3 changes: 3 additions & 0 deletions modules/console/pages/config/security/authorization.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,9 @@ It does not include permission to create/remove ACLs or to create or remove a se

The `admin` role grants all permissions that come with the `editor` role and additionally includes:

* Access to the *Admin* page that includes:
** Details about all users and ACLs
** The ability to xref:console:ui/generate-bundle.adoc[generate debug bundles]
* Managing all service account aspects (create/remove service accounts)
* Managing all ACL aspects (create/remove ACLs)

Expand Down
2 changes: 1 addition & 1 deletion modules/console/pages/config/topic-documentation.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

You can embed your topic's documentation into the Redpanda Console user interface by providing access to a public or private Git repository that hosts your documentation files in Markdown format.

//image::topic-documentation.png[]
image::topic-documentation.png[]

Redpanda Console clones the provided Git repository and stores all Markdown files it finds in memory.
The *Documentation* tab in the frontend displays the content of the Markdown file that matches the name of the Kafka topic.
Expand Down
2 changes: 1 addition & 1 deletion modules/console/pages/index.adoc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
= Overview of Redpanda Console
= Introduction to Redpanda Console
:description: Learn about Redpanda Console: a web interface for managing and interacting with Redpanda clusters.
:page-aliases: console:index/index.adoc, console:features/index.adoc, reference:console/index.adoc

Expand Down
20 changes: 18 additions & 2 deletions modules/console/pages/quickstart.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ include::console:attachment$transactions-schema.json[]
```bash
docker compose up -d --wait
```
// (step {"action":"runShell", "command": "docker pull docker.redpanda.com/redpandadata/redpanda:v${REDPANDA_VERSION:?Set a Redpanda version} && docker pull docker.redpanda.com/redpandadata/console:v${REDPANDA_CONSOLE_VERSION:?Set a Redpanda Console version} && docker pull docker.redpanda.com/redpandadata/connect:latest", "workingDirectory": "../test-resources", "timeout": 100000, "exitCodes": [0,1]})
// (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} && docker pull docker.redpanda.com/redpandadata/connect:latest", "workingDirectory": "../test-resources", "timeout": 100000, "exitCodes": [0,1]})
// (step {"action":"runShell", "command": "docker compose up -d --wait", "workingDirectory": "../test-resources", "timeout": 50000, "exitCodes": [0,1]})
// (step {"action":"wait", "duration": 10000})
+
Expand Down Expand Up @@ -141,15 +141,17 @@ Suppose you're asked to find all transactions related to the `.edu` domain. You
// (step {"action":"find", "selector": "[data-testid='add-topic-filter-javascript']", "matchText": "JavaScript Filter", "click": true, "timeout": 10000})
. Give your filter a name such as 'Find .edu domains'.
// (step {"action":"find", "selector": "[data-testid='add-javascript-filter-name']", "typeKeys": "Find .edu domains", "click": true, "timeout": 10000})
// (step {"action":"saveScreenshot", "path": "js-filter.png", "directory": "../images", "overwrite": "byVariation"})
// (step {"action":"saveScreenshot", "path": "js-filter.png", "directory": "../images", "overwrite": "byVariation", "maxVariation": 10})
+
image::js-filter.png[]

. Replace the default JavaScript code with the following:
+
[,js]
----
return value.email.includes(".edu");
----

. Click *Save* to apply the filter.
// (step {"action":"find", "selector": "[data-testid='add-javascript-filter-save']", "matchText": "Save", "click": true})
+
Expand Down Expand Up @@ -290,6 +292,20 @@ See also:
// (step {"action":"wait"})
// (step {"action":"saveScreenshot", "path": "license.png", "directory": "../images", "overwrite": "byVariation"})

== Clean up

If you don't want to continue experimenting with Redpanda, you can shut it down and delete the containers:

```bash
docker compose down
```

To delete the volumes along with all your cluster data:

```bash
docker compose down -v
```

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

Expand Down
22 changes: 10 additions & 12 deletions modules/console/pages/ui/add-license.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,14 @@ You can add, update and check your xref:get-started:licensing/overview.adoc#cons
== 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
== Upload a 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.
When a 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]
====
Expand Down Expand Up @@ -51,6 +41,14 @@ When a new license is uploaded, enterprise features in Redpanda Self-Managed are

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[].

== 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[].

== Next steps

xref:get-started:licensing/monitor-license-status.adoc[].
Expand Down
47 changes: 47 additions & 0 deletions modules/console/pages/ui/generate-bundle.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
= Manage Debug Bundles in Redpanda Console
:description: Learn how to generate, download, and delete debug bundles in Redpanda Console for comprehensive cluster diagnostics.

[NOTE]
====
include::shared:partial$enterprise-and-console.adoc[]
====

{description}

== Prerequisites

- Redpanda Console must be xref:console:config/connect-to-redpanda.adoc[connected to a Redpanda cluster] and xref:console:config/connect-to-redpanda.adoc#admin[configured to connect to the Redpanda Admin API].
- Redpanda Console must be xref:console:config/security/authentication.adoc[configured with an authentication provider] and have at least one admin user.

== 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.

. 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.
. Go to *Debug bundle*.
. Click *Generate new*.
. Wait until the process is complete.
. 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]

== Delete a debug bundle

To generate a new debug bundle, you must delete the existing one.

. 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.
. Go to *Debug bundle*.
. Click the trash icon next to *debug-bundle.zip* to delete the bundle.

== Next steps

- xref:troubleshoot:cluster-diagnostics/index.adoc[]
- xref:troubleshoot:errors-solutions/index.adoc[]

Loading

0 comments on commit fa14029

Please sign in to comment.