Skip to content

Conversation

@younsl
Copy link

@younsl younsl commented Jan 26, 2026

Description of the change

Add HTTPRoute resource template and values configuration for Gateway API as an alternative to traditional Ingress.

Gateway API is the successor to Ingress and is now the recommended approach for HTTP routing in Kubernetes. The Ingress API spec has been frozen and will not receive new features, while Gateway API is actively developed with richer routing capabilities and better role separation.

Changes

  • Add templates/httproute.yaml template
  • Add httpRoute configuration in values.yaml
  • Add ci/httproute-values.yaml for testing
  • Add httpRoute schema to values.schema.tmpl.json

Existing or Associated Issue(s)

None

Additional Information

Example usage
httpRoute:
  enabled: true
  parentRefs:
    name: my-gateway
  hostnames:
    - backstage.example.com

This configuration creates an HTTPRoute that attaches to a Gateway named my-gateway and routes traffic for backstage.example.com to the Backstage service.

apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
  name: my-release-backstage
spec:
  parentRefs:
    - group: gateway.networking.k8s.io
      kind: Gateway
      name: my-gateway
  hostnames:
    - "backstage.example.com"
  rules:
    - matches:
        - path:
            type: PathPrefix
            value: /
      backendRefs:
        - group: ""
          kind: Service
          name: my-release-backstage
          port: 7007
          weight: 1

References

Checklist

  • Chart version bumped in Chart.yaml according to semver.
  • Variables are documented in the values.yaml and added to the README.md. The helm-docs utility can be used to generate the necessary content. Use helm-docs --dry-run to preview the content.
  • JSON Schema generated.
  • List tests pass for Chart using the Chart Testing tool and the ct lint command.

@younsl younsl requested a review from a team as a code owner January 26, 2026 16:50
Gateway API is the successor to Ingress and is now the recommended
approach for HTTP routing in Kubernetes. The Ingress API spec has been
frozen and will not receive new features, while Gateway API is actively
developed with richer routing capabilities and better role separation.

- Add httproute.yaml template
- Add httpRoute configuration in values.yaml
- Add ci/httproute-values.yaml for testing
- Bump chart minor version

Signed-off-by: younsl <[email protected]>
@younsl younsl force-pushed the feat/add-support-httproute branch from 03036ff to 8806b90 Compare January 26, 2026 16:51
@github-actions
Copy link

github-actions bot commented Feb 3, 2026

This PR has been automatically marked as stale because it has not had recent activity from the author. It will be closed if no further activity occurs. If the PR was closed and you want it re-opened, let us know and we'll re-open the PR so that you can continue the contribution!

@github-actions github-actions bot added the stale label Feb 3, 2026
@younsl
Copy link
Author

younsl commented Feb 3, 2026

Gentle ping @vinzscam

@younsl
Copy link
Author

younsl commented Feb 3, 2026

Not stale

@github-actions github-actions bot removed the stale label Feb 4, 2026
Copy link
Member

@vinzscam vinzscam left a comment

Choose a reason for hiding this comment

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

Thank you! I've added a bunch of comments regarding parentRefs which at the moment is hardcoded to a single value. Have a look!

@younsl
Copy link
Author

younsl commented Feb 6, 2026

Thanks for the detailed review! I agree parentRefs should support multiple values. I'll update it to accept a list so users can attach the route to multiple Gateways. Will push the changes shortly.

Support multiple Gateway references by converting parentRefs to a list.
Add validation that fails helm rendering when httpRoute.enabled is true
but parentRefs is empty, preventing misconfigured HTTPRoute deployment.

Resolves review comments by @vinzscam:
- backstage#308 (comment)
- backstage#308 (comment)
- backstage#308 (comment)
- backstage#308 (comment)

Signed-off-by: younsl <[email protected]>
@younsl
Copy link
Author

younsl commented Feb 6, 2026

Note

Heads up for reviewers: CI chart testing is expected to fail on this PR because HTTPRoute is a Gateway API resource that requires the Gateway API CRDs to be installed in the cluster, which the CI environment does not have.

# Install Gateway API CRDs
kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.2.1/standard-install.yaml

@younsl
Copy link
Author

younsl commented Feb 10, 2026

@vinzscam PTAL

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