Skip to content

Replace Ingress with Gateway API HTTPRoute for ITs on Kubernetes#22448

Draft
ksuderman wants to merge 1 commit intogalaxyproject:devfrom
ksuderman:k8s-gateway-api-support
Draft

Replace Ingress with Gateway API HTTPRoute for ITs on Kubernetes#22448
ksuderman wants to merge 1 commit intogalaxyproject:devfrom
ksuderman:k8s-gateway-api-support

Conversation

@ksuderman
Copy link
Copy Markdown
Contributor

Kubernetes Ingress has been retired as of March 2026. This PR migrates the Kubernetes job runner from traditional Ingress resources to Gateway API HTTPRoute for Interactive Tools routing, enabling compatibility with the new Galaxy Helm chart Gateway API implementation #531.

Changes

Dependency Migration

  • Migrated from pykube-ng==23.6.0 to new-pykube>=26.3.0 for Gateway API support
  • Uses dynamic object_factory to create HTTPRoute classes

The new-pykube package is a fork of pykube-ng, which is no longer being maintained.

Gateway API Implementation

  • Completely replaced Ingress with HTTPRoute (gateway.networking.k8s.io/v1)
  • Added new configuration parameters:
    • k8s_gateway_name (default: "galaxy-gateway")
    • k8s_gateway_namespace (default: "gateway-system")
    • k8s_httproute_api_version
  • Implemented HTTPRoute creation with parentRefs, hostnames, and path-based routing rules

Removed Legacy Code

  • All Ingress-related parameters and functionality
  • Ingress spec generation and cleanup methods

Breaking Changes

  • Requires Gateway API CRDs and Gateway resource to be configured in cluster
  • Legacy k8s_interactivetools_ingress_* parameters no longer supported

How to test the changes?

(Select all options that apply)

  • I've included appropriate automated tests.
  • This is a refactoring of components with existing test coverage.
  • Instructions for manual testing are as follows:
    1. [add testing steps and prerequisites here if you didn't write automated tests covering all your changes]

License

  • I agree to license these and all my past contributions to the core galaxy codebase under the MIT license.

@ksuderman ksuderman requested review from almahmoud and nuwang and removed request for almahmoud April 9, 2026 22:28
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.

1 participant