Skip to content

Add HTTPRoute support for Kubernetes Gateway API#1

Merged
hostmaster merged 10 commits intomainfrom
feature/httproute-support
Mar 26, 2026
Merged

Add HTTPRoute support for Kubernetes Gateway API#1
hostmaster merged 10 commits intomainfrom
feature/httproute-support

Conversation

@hostmaster
Copy link
Copy Markdown
Owner

@hostmaster hostmaster commented Mar 26, 2026

Summary

Based on kafbat/helm-charts#62 with all CodeRabbit review issues addressed and additional improvements.

  • Add HTTPRoute template for Kubernetes Gateway API support, enabling teams to expose kafka-ui via Gateway API alongside the existing Ingress resource
  • Update values.yaml with httpRoutes configuration array including hostnames, parent gateway refs, path matching, path stripping, custom filters, and timeouts

Changes

Chart

  • charts/kafka-ui/templates/http-route.yaml — new template generating HTTPRoute resources
  • charts/kafka-ui/values.yaml — new httpRoutes configuration section
  • charts/kafka-ui/Chart.yaml — bumped version to 1.6.3

GitHub Actions

  • Replace ad-hoc release script with helm/chart-releaser-action — publishes to gh-pages index and pushes OCI packages to GHCR automatically on merge to main
  • Add datreeio/CRDs-catalog schema source to kubeconform so HTTPRoute and other CRDs are validated in CI
  • Remove manual release-preparation workflow, Slack notifications, CODEOWNERS, and issue templates

Usage

httpRoutes:
- enabled: true
  hostnames:
    - "kafka-ui.example.com"
  gatewayParentRefs:
    - name: my-gateway
      namespace: gateway-system
      sectionName: http
  matches:
    - path:
        type: PathPrefix
        value: /
  shouldRouteToService: true
  shouldStripPath: false

hostmaster and others added 10 commits March 26, 2026 20:01
Ports kafbat#62 with all CodeRabbit review fixes applied:
- Truncate resource name to 63-char limit (trunc 54 + "-httproute" suffix)
- Conditionally render hostnames block only when non-empty
- Fix tab indentation and remove tpl wrapping on service port (render as int)
- Fix trailing --- separator to only emit when a subsequent enabled route exists

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Use kafka-ui.fullname instead of Chart.Name for resource naming so
  nameOverride/fullnameOverride and release name are respected
- Add namespace field to metadata (consistent with ingress template)
- Remove unnecessary tpl calls on parentRef namespace and sectionName
- Fix shouldStripPath/shouldRouteToService param type annotation: string -> bool
- Add comment clarifying filter prepend order for shouldStripPath

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Replace release-helm.yaml with release.yaml using helm/chart-releaser-action
  for gh-pages index and GHCR OCI push; no manual tags or extra steps
- Replace helm.yaml with lint.yaml; modernize to actions/checkout@v4,
  azure/setup-helm@v4; remove redundant docker pull step
- Remove create-branch-for-helm.yaml (manual release prep no longer needed)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Enables validation of Gateway API resources (HTTPRoute, etc.) using
the datreeio CRDs-catalog alongside the default Kubernetes schemas.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@hostmaster hostmaster changed the title Feature/httproute support Add HTTPRoute support for Kubernetes Gateway API Mar 26, 2026
@hostmaster hostmaster merged commit 8da6c87 into main Mar 26, 2026
1 check passed
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.

1 participant