Skip to content

Gateway API migration — remaining Ingress surfaces (upstream + cozystack-local) #2490

Open

Description

Tracking issue for migrating cozystack ingress surfaces to Gateway API.

PR #2470 introduced per-tenant Gateway API and migrated the core exposed services (dashboard, keycloak, cozystack-api, vm-exportproxy, cdi-uploadproxy) plus harbor/bucket via cozystack-local wrappers. This issue tracks the remaining Ingress resources across the platform, grouped by ownership so follow-up PRs land in the right place.

In cozystack (our own templates — follow-up PRs to this repo)

  • packages/apps/kubernetes/templates/ingress.yaml — tenant-managed Kubernetes app dashboard. Add per-tenant HTTPRoute next to the existing Ingress, gated on _namespace.gateway.
  • packages/extra/bootbox/templates/matchbox/ingress.yaml — matchbox provisioning UI. Single HTTPRoute alongside Ingress.
  • packages/extra/seaweedfs/templates/ingress.yaml — per-tenant seaweedfs UI wrapper. Mirror the bucket pattern.
  • packages/system/linstor-gui/templates/ingress.yaml — linstor UI. Single HTTPRoute on publishing tenant.
  • packages/system/monitoring/templates/alerta/alerta.yaml — alerta UI. Single HTTPRoute on publishing tenant.

Each follows the pattern established in PR #2470 on dashboard/keycloak: gate the existing Ingress with {{- if ne (index .Values._cluster "gateway-enabled") "true" }} (or {{- if not .Values._namespace.gateway }} for per-tenant apps), add a templates/httproute.yaml rendered when Gateway API is on, pin the listener with sectionName: https.

Vendored upstream charts that already ship Gateway API support — toggle it on

  • goharbor/harbor-helm — upstream chart already has templates/gateway-apis/route.yaml. Configure the vendored chart in cozystack to render that path instead of templates/ingress/ingress.yaml when gateway.enabled=true. Fold into / supersede the cozystack-local wrapper in packages/apps/harbor/templates/httproute.yaml once switched.
  • openbao/openbao-helm — upstream values already expose a Gateway API toggle (templates/_helpers.tpl has routing helpers). Enable it in cozystack's values override.

Vendored upstream charts without Gateway API support — file upstream PRs or issues

  • cilium/cilium — install/kubernetes/cilium/templates/hubble-ui/ingress.yaml. Needs hubble.ui.gateway (or hubble.ui.expose: gateway) with HTTPRoute rendering.
  • bloomberg/goldpinger — the Helm chart's ingress template renders a classic Ingress only. Add a Gateway API path.
  • fluent/helm-charts (fluent-bit) — charts/fluent-bit/templates/ingress.yaml is Ingress-only. Needs a parallel HTTPRoute.
  • nats-io/k8s — helm/charts/nats/files/ingress.yaml is Ingress-only. Add Gateway API option.
  • opencost/opencost-helm-chart — templates/ingress.yaml is Ingress-only.
  • qdrant/qdrant-helm — charts/qdrant/templates/ingress.yaml is Ingress-only.
  • seaweedfs/seaweedfs (Helm chart) — four Ingress templates (admin, filer, master, s3). Each needs a Gateway API sibling.

Out of scope here

  • packages/system/cert-manager-crds/templates/crd-*.yaml — CRD definitions, not instance Ingress resources.
  • packages/system/gateway-api-crds/templates/crds-experimental.yaml — CRDs, not runtime objects.
  • packages/system/cozystack-api/templates/api-ingress.yaml, packages/system/dashboard/templates/ingress.yaml, packages/system/keycloak/templates/ingress.yaml, packages/system/kubevirt/templates/vm-exportproxy-ingress.yaml, packages/system/kubevirt-cdi/templates/cdi-uploadproxy-ingress.yaml, packages/system/bucket/templates/ingress.yaml, packages/apps/harbor/templates/ingress.yaml — already migrated in PR feat(networking): Gateway API support via Cilium (supersedes #2213) #2470.

References

Activity

  1. dosubot commented on Jul 24, 2026

    @dosubot

    Hi, Aleksei Sviridkin (@lexfrei). I'm Dosu, and I'm helping the cozystack team manage their backlog and am marking this issue as stale.

    Recap

    • This issue is a tracking item for completing the remaining Gateway API migration work after PR feat(networking): Gateway API support via Cilium (supersedes #2213) #2470.
    • The remaining scope includes in-repo templates and vendored upstream charts that still need Gateway API support.
    • The guidance is to keep existing Ingress resources gated while adding matching HTTPRoutes where needed.
    • There haven’t been any follow-up comments or updates yet, so this still serves as the migration roadmap.

    Next Steps

    • If this is still relevant on the latest version of the cozystack repository, please comment here to keep the discussion open.
    • Otherwise, this issue will be automatically closed in 7 days.

    Thanks for your understanding and contribution.

  2. added
    lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale
    and removed on Jul 27, 2026
  3. added
    area/networkingIssues or PRs related to networking (ingress, gateway, vpn, metallb, kube-ovn)
    triage/acceptedIndicates an issue is ready to be actively worked on
    priority/important-longtermImportant over the long term, but may not be staffed and/or may need multiple releases to complete
    lifecycle/frozenIndicates that an issue or PR should not be auto-closed due to staleness
    and removed
    lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale
    triage/needs-triageIndicates an issue needs triage by a maintainer
    on Sep 23, 2026
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/featureCategorizes issue or PR as related to a new featurelifecycle/frozenIndicates that an issue or PR should not be auto-closed due to stalenesspriority/important-longtermImportant over the long term, but may not be staffed and/or may need multiple releases to completetriage/acceptedIndicates an issue is ready to be actively worked on

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions