Skip to content

docs: expose Redpanda Console through Gateway API HTTPRoute (26.2)#1825

Merged
JakeSCahill merged 2 commits into
betafrom
doc-console-gateway-httproute
Jul 27, 2026
Merged

docs: expose Redpanda Console through Gateway API HTTPRoute (26.2)#1825
JakeSCahill merged 2 commits into
betafrom
doc-console-gateway-httproute

Conversation

@david-yu

@david-yu david-yu commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Documents Gateway API HTTPRoute support for Redpanda Console (redpanda-operator#1329, merged 2026-06-30, ships in operator/chart v26.2.x).

Changes

  1. New section Expose Redpanda Console with the Gateway API on deploy:console/kubernetes/deploy.adoc:
    • When to choose Gateway API over Ingress, the Gateway/route ownership split, and the mutual-exclusivity rule with the exact chart validation error (ingress and gateway cannot both be enabled; use one or the other)
    • Prerequisites: Gateway API CRDs (v1.5.1 standard install — not bundled), a compatible controller (Envoy Gateway / Istio / Cilium / NGINX Gateway Fabric), and a Gateway manifest including allowedRoutes.namespaces (the field that silently blocks cross-namespace route attachment when missed)
    • Operator (Console CR spec.gateway) and Helm (gateway values) tabs with callouts for parentRefs/sectionName, hostnames, pathType
    • Verification: Accepted/ResolvedRefs route conditions, the NotAllowedByListeners failure mode, Gateway address lookup, and a pre-DNS curl --resolve check
    • Switching between Ingress and Gateway API (both directions)
    • Both existing Ingress callouts (Operator + Helm install examples) now point at the new section
  2. What's new: Gateway API support for Redpanda Console entry under Redpanda Operator v26.2.x in get-started:release-notes/operator.adoc.

Verification

Field names and behavior verified against operator main: Console CRD spec.gateway (GatewayConfig: enabled, annotations, parentRefs[{name,namespace,sectionName}], hostnames, path, pathType) and the console chart gateway values block, including the "HTTPRoute renders but attaches to nothing without parentRefs" default noted in values.yaml. Note the eng PR body's CR example uses spec.clusterSource; the actual CRD json field is spec.cluster, and the docs follow the code. The feature's changelog entries carry no beta marker, so the section is not badged beta (unlike the TLSRoute guide for Redpanda listeners).

Preview pages

🤖 Generated with Claude Code

@david-yu
david-yu requested a review from a team as a code owner July 24, 2026 20:33
@netlify

netlify Bot commented Jul 24, 2026

Copy link
Copy Markdown

Deploy Preview for redpanda-docs-preview ready!

Name Link
🔨 Latest commit 7e5f1f1
🔍 Latest deploy log https://app.netlify.com/projects/redpanda-docs-preview/deploys/6a674b2b79c8c600080480f8
😎 Deploy Preview https://deploy-preview-1825--redpanda-docs-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: a974877d-27b4-4a3e-abc0-f13c80bf5406

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch doc-console-gateway-httproute

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@JakeSCahill

Copy link
Copy Markdown
Contributor

Docs-team standards review. The narrative is genuinely good: the Gateway/HTTPRoute relationship, the mutual-exclusivity with Ingress (with the exact error message), and the Switch-between section anticipate real scenarios. Callout numbering, tabs syntax, anchors, and HTTPRoute/GatewayClass terminology are all clean. Three functional gaps and one open question before merge:

Functional gaps (verified against the branch):

  1. The example gateway.yaml is never applied. Prerequisites step 3 shows the manifest but there's no kubectl apply -f gateway.yaml and no Accepted/Programmed check before Enable the HTTPRoute — the procedure can't produce a working Gateway as written. The TLSRoute page's <> pattern (apply + status check) is the model.
  2. No minimum-version prerequisite. The section never states Redpanda Operator 26.2 or later, or Redpanda Helm chart 26.2.0 or later even though the release note files it under v26.2.x.
  3. Duplicated (and already drifted) Gateway API install prerequisites. This section re-documents the CRD/controller install with a pinned v1.5.1 URL, while the canonical prerequisites on k-gateway-api.adoc say "1.5 or later" with the release-channel guidance and the Kubernetes 1.31 floor. Suggest linking those prerequisites and keeping only the Console-specific Gateway step here, so the two pages can't drift.

Open question — beta marking: the sibling TLSRoute feature ships as beta (:page-beta: + notice). Is Console-over-HTTPRoute beta too? If yes it needs the marker + "(beta)" release-note heading; if it's GA that's worth being deliberate about, since an unmarked feature reads as GA. Team convention: :page-beta: for whole-page beta, badge::[label=beta] for a beta feature inside a GA page — the latter fits here (registration for the badge macro lands with #1808).

Minor: five passive-voice spots (list available on request), "should both be True" → "are both True" ('should' is on the do-not-use list), [,yaml] before the .filename title to match this page's existing blocks, "the Helm chart or the Redpanda Operator" → Operator-first per page convention, explain <gateway-address> on first use, and 'a cluster operator manages a shared Gateway' overloads 'operator' — 'your platform team' avoids the collision.

Worth considering (not blocking): deploy.adoc is ~950 lines and this self-contained 170-line how-to mirrors exactly the shape that earned the cluster-facing equivalent its own page — extracting it now is cheaper than later.

Coordination: same v26.2.x release-notes block as #1820/#1808/#1826 — rebase on beta before merging.

@JakeSCahill JakeSCahill left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Standards review fixes applied directly in e47cd27: the missing kubectl apply + listener acceptance check for the example Gateway, the minimum version prerequisite, beta marking (intro notice + '(beta)' release-note heading, consistent with the TLSRoute sibling — shout if eng calls this GA and I'll strip it), canonical Gateway API prerequisites linked instead of duplicated with a pinned CRD version, and the active-voice/terminology minors. Build verified clean. Approving. Reminder: rebase on beta before merging (shared v26.2.x release-notes block with #1820/#1808/#1826), and the page-split suggestion for deploy.adoc stands as a non-blocking follow-up.

@JakeSCahill
JakeSCahill force-pushed the doc-console-gateway-httproute branch from e47cd27 to 7548ca6 Compare July 27, 2026 11:37
david-yu and others added 2 commits July 27, 2026 13:12
Add an 'Expose Redpanda Console with the Gateway API' section to the Console
Kubernetes deploy page (operator PR #1329): Gateway API CRD + controller +
Gateway prerequisites, Operator CRD and Helm tabs for the gateway block,
route verification (Accepted/ResolvedRefs, allowedRoutes gotcha), and
switching between Ingress and Gateway API. Both Ingress callouts now point
at the new section, and the operator v26.2.x what's-new gains an entry.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Add the missing kubectl apply step and listener acceptance check for
  the example Gateway
- State the minimum Operator and chart versions, and mark the feature
  beta consistent with the Gateway API TLSRoute page and the release
  note
- Link the canonical Gateway API prerequisites instead of duplicating
  the CRD and controller install steps with a pinned version, and note
  that HTTPRoute ships in the standard channel
- Active voice throughout the new section, 'are both True' instead of
  'should', explain the gateway-address placeholder, avoid overloading
  'operator' for the person role, explicit link text on the closing
  TIP, and align code-block title ordering across the page
@JakeSCahill
JakeSCahill force-pushed the doc-console-gateway-httproute branch from 7548ca6 to 7e5f1f1 Compare July 27, 2026 12:12
@JakeSCahill
JakeSCahill merged commit 2204b00 into beta Jul 27, 2026
6 of 7 checks passed
@JakeSCahill
JakeSCahill deleted the doc-console-gateway-httproute branch July 27, 2026 12:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants