Skip to content

gateway: TLSRoute manifests and the controller stay on v1alpha2 while the bundle stores v1 #4067

Closed as not planned

Description

Problem / motivation
Three manifests render TLSRoute at gateway.networking.k8s.io/v1alpha2: packages/system/cozystack-api/templates/api-tlsroute.yaml:6, packages/system/kubevirt/templates/vm-exportproxy-tlsroute.yaml:6, packages/system/kubevirt-cdi/templates/cdi-uploadproxy-tlsroute.yaml:6. The bundle stores v1 and marks v1alpha2 deprecated. packages/system/cozystack-api/tests/api_route_test.yaml:53 pins the deprecated value, so a bundle that drops it arrives as a red test plus three broken manifests.

The manifests cannot move alone. go.mod pins sigs.k8s.io/gateway-api v1.4.1, which has TLSRoute only under apis/v1alpha2 and apis/v1alpha3, so the tenant-gateway controller lists, watches and patches status through v1alpha2.

Proposed solution
One change for the whole TLSRoute surface: bump sigs.k8s.io/gateway-api to a release with apis/v1.TLSRoute, move the controller, then the three manifests and the test pin. The v1 schema adds minItems: 1 on spec.hostnames; the controller's hostname-less handling needs checking against that first.

Scope check

  • This affects a single component / package (controller, three system packages, the Go module)
  • I can describe the expected behavior concretely

Alternatives considered
Moving the manifests alone makes the tree less consistent than it is now. Staying on v1alpha2 until the bundle drops it is the status quo; the test pin makes that loud, so this is cleanup with a known trigger.

Additional context
Surfaced while reviewing #3872.

Activity

  1. added
    kind/cleanupCategorizes issue or PR as related to cleanup of code, process, or technical debt
    area/networkingIssues or PRs related to networking (ingress, gateway, vpn, metallb, kube-ovn)
    on Sep 3, 2026
  2. added
    triage/duplicateIndicates an issue is a duplicate of another issue
    and removed
    triage/needs-triageIndicates an issue needs triage by a maintainer
    on Sep 23, 2026
  3. lexfrei commented on Sep 23, 2026

    @lexfrei
    ContributorAuthor

    Duplicate of #3873, which tracks the same three manifests. The new point is that go.mod pins sigs.k8s.io/gateway-api v1.4.1, so the controller has to move in the same change. That belongs in #3873.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/networkingIssues or PRs related to networking (ingress, gateway, vpn, metallb, kube-ovn)kind/cleanupCategorizes issue or PR as related to cleanup of code, process, or technical debttriage/duplicateIndicates an issue is a duplicate of another issue

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions