Skip to content

Conversation

@lexfrei
Copy link
Contributor

@lexfrei lexfrei commented Nov 4, 2025

Summary

This PR adds Gateway API support to the Argo Workflows Helm chart, providing a modern alternative to traditional Ingress resources.

Added resources

  • HTTPRoute (Gateway API v1) - for HTTP(S) traffic routing
  • BackendTLSPolicy (v1alpha3, experimental) - for HTTPS backend support
  • Comprehensive documentation with examples for Gateway API usage

Motivation

Gateway API is the successor to Ingress and is becoming the standard for traffic management in Kubernetes. This addition provides users with a modern, vendor-neutral way to expose Argo Workflows, aligning with the evolving Kubernetes ecosystem.

Key differences from Argo CD implementation

  • No GRPCRoute support (Argo Workflows uses HTTP/HTTPS only, not gRPC)
  • Simplified port logic (single service port)

Testing

  • helm lint - passing
  • helm template - both resources render correctly with enabled flags
  • Backwards compatible (disabled by default)
  • Experimental disclaimers added in values.yaml

Notes

Experimental Status: Gateway API support is marked as EXPERIMENTAL. Support depends on your Gateway controller implementation. Some controllers may require additional configuration (e.g., BackendTLSPolicy for HTTPS backends). Not all Gateway controllers support BackendTLSPolicy (e.g., Cilium does not yet support it).


Checklist:

  • I have bumped the chart version according to versioning
  • I have updated the documentation according to documentation
  • I have updated the chart changelog with all the changes that come with this pull request according to changelog.
  • Any new values are backwards compatible and/or have sensible default.
  • I have signed off all my commits as required by DCO.
  • I have created a separate pull request for each chart according to pull requests
  • My build is green (troubleshooting builds)

@lexfrei lexfrei force-pushed the feat/argo-workflows-add-httproute-support branch from 4e0165c to 8013792 Compare November 4, 2025 15:12
@github-actions github-actions bot added the size/L label Nov 4, 2025
Add support for Gateway API HTTPRoute and BackendTLSPolicy resources
as an alternative to traditional Kubernetes Ingress for Argo Workflows server.

Changes:
- Add server-httproute.yaml template for Gateway API v1 HTTPRoute
- Add server-backendtlspolicy.yaml template for v1alpha3 BackendTLSPolicy
- Add httproute and backendTLSPolicy configuration sections to values.yaml
- Add documentation for Gateway API usage in README.md.gotmpl
- Bump chart version to 0.46.0

Key differences from Argo CD implementation:
- No GRPCRoute support (Argo Workflows uses HTTP/HTTPS only, not gRPC)
- Simplified port logic (single service port)

All features are disabled by default for backward compatibility.
Gateway API support is marked as EXPERIMENTAL.

Co-Authored-By: Claude <[email protected]>
Signed-off-by: Aleksei Sviridkin <[email protected]>
@lexfrei lexfrei force-pushed the feat/argo-workflows-add-httproute-support branch from 8013792 to 9fa1639 Compare November 4, 2025 15:22
Copy link
Member

@mkilchhofer mkilchhofer left a comment

Choose a reason for hiding this comment

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

Rest looks good to me :)

@@ -0,0 +1,26 @@
{{- if and .Values.server.enabled .Values.server.backendTLSPolicy.enabled -}}
{{- $fullName := include "argo-workflows.server.fullname" . -}}
apiVersion: gateway.networking.k8s.io/v1alpha3
Copy link
Member

Choose a reason for hiding this comment

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

I think we can directly go with v1 now

Xref on argo-cd chart:

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

Merge upstream/main and update Gateway API BackendTLSPolicy from
v1alpha3 to stable v1, matching the argo-cd chart update.

Co-Authored-By: Claude <[email protected]>
Signed-off-by: Aleksei Sviridkin <[email protected]>
@lexfrei lexfrei requested a review from mkilchhofer December 23, 2025 07:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants