Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DOC-470 Debug bundle in Redpanda Console #825

Merged
merged 33 commits into from
Nov 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
69dcbba
Init
JakeSCahill Oct 23, 2024
5b72cbc
DOC-470 Debug bundle in Console
JakeSCahill Oct 25, 2024
23c6c03
DOC-507 Update debug bundle contents
JakeSCahill Oct 25, 2024
bac176f
Add a top-level troubleshooting section for Linux/K8s
JakeSCahill Oct 25, 2024
162f96d
Update tests to use unstable repos during beta
JakeSCahill Oct 28, 2024
199f525
Fix prereqs
JakeSCahill Oct 29, 2024
0b3feb6
Add tests for Self-Managed quickstart
JakeSCahill Oct 31, 2024
707018a
Move Console quickstart to get started
JakeSCahill Oct 31, 2024
a42c91d
Upgrade extensions
JakeSCahill Oct 31, 2024
58ace8e
Use new tag attributes
JakeSCahill Oct 31, 2024
553eea3
Apply suggestions from code review
JakeSCahill Nov 1, 2024
58d1f03
fixes
JakeSCahill Nov 1, 2024
d2c472b
Add suggestions from review
JakeSCahill Nov 1, 2024
72e049f
Apply suggestions from code review
JakeSCahill Nov 1, 2024
7ce88cd
Update quick-start.adoc
JakeSCahill Nov 2, 2024
8fe7763
Update errors-and-solutions.adoc
JakeSCahill Nov 2, 2024
f1ed023
Update quickstart.adoc
JakeSCahill Nov 2, 2024
c914ab9
Add new step for quickstart tests
JakeSCahill Nov 4, 2024
2aa2aca
Merge branch 'v-WIP/24.3' into DOC-470
JakeSCahill Nov 5, 2024
dc4d946
Update extensions
JakeSCahill Nov 5, 2024
ef22017
Add note about Docker compatibility
JakeSCahill Nov 8, 2024
fab2a24
Add GH token
JakeSCahill Nov 8, 2024
48c7e03
Fix permissions
JakeSCahill Nov 8, 2024
82490ff
Add debug info
JakeSCahill Nov 8, 2024
4094954
Fix beta check
JakeSCahill Nov 8, 2024
551f863
Add env vars
JakeSCahill Nov 8, 2024
a53d468
Get beta status from antora.yml
JakeSCahill Nov 8, 2024
96d224f
Get beta status from antora.yml
JakeSCahill Nov 8, 2024
5b20106
Allow more variation in JS-filter due to differences in Linux env
JakeSCahill Nov 8, 2024
0219c3c
Remove Docker limitation
JakeSCahill Nov 11, 2024
8a97144
Merge branch 'v-WIP/24.3' into DOC-470
JakeSCahill Nov 12, 2024
1fdb112
Add debug bundle to whats new
JakeSCahill Nov 12, 2024
fbc89a2
Add topic doc image
JakeSCahill Nov 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading