Repository navigation
Open
Labels
area/networkingIssues or PRs related to networking (ingress, gateway, vpn, metallb, kube-ovn)Issues or PRs related to networking (ingress, gateway, vpn, metallb, kube-ovn)kind/featureCategorizes issue or PR as related to a new featureCategorizes issue or PR as related to a new featurelifecycle/frozenIndicates that an issue or PR should not be auto-closed due to stalenessIndicates 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 completeImportant 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 onIndicates an issue is ready to be actively worked on
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-tenantHTTPRoutenext to the existingIngress, gated on_namespace.gateway. -
packages/extra/bootbox/templates/matchbox/ingress.yaml— matchbox provisioning UI. SingleHTTPRoutealongsideIngress. -
packages/extra/seaweedfs/templates/ingress.yaml— per-tenant seaweedfs UI wrapper. Mirror the bucket pattern. -
packages/system/linstor-gui/templates/ingress.yaml— linstor UI. SingleHTTPRouteon publishing tenant. -
packages/system/monitoring/templates/alerta/alerta.yaml— alerta UI. SingleHTTPRouteon 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 oftemplates/ingress/ingress.yamlwhengateway.enabled=true. Fold into / supersede the cozystack-local wrapper inpackages/apps/harbor/templates/httproute.yamlonce switched. - openbao/openbao-helm — upstream values already expose a Gateway API toggle (
templates/_helpers.tplhas 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. Needshubble.ui.gateway(orhubble.ui.expose: gateway) withHTTPRouterendering. - bloomberg/goldpinger — the Helm chart's ingress template renders a classic
Ingressonly. Add a Gateway API path. - fluent/helm-charts (fluent-bit) —
charts/fluent-bit/templates/ingress.yamlis Ingress-only. Needs a parallelHTTPRoute. - nats-io/k8s —
helm/charts/nats/files/ingress.yamlis Ingress-only. Add Gateway API option. - opencost/opencost-helm-chart —
templates/ingress.yamlis Ingress-only. - qdrant/qdrant-helm —
charts/qdrant/templates/ingress.yamlis 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 instanceIngressresources.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
- PR feat(networking): Gateway API support via Cilium (supersedes #2213) #2470 — per-tenant Gateway API / wrapper pattern.
packages/extra/gateway/README.md— security model and operator notes.docs/agents/contributing.md— commit/PR conventions (use empty-commit retries per PR docs(agents): retry CI via empty commit, not gh run rerun #2489).
Reacted by dosubot and Robin Lee
Metadata
Metadata
Assignees
Labels
area/networkingIssues or PRs related to networking (ingress, gateway, vpn, metallb, kube-ovn)Issues or PRs related to networking (ingress, gateway, vpn, metallb, kube-ovn)kind/featureCategorizes issue or PR as related to a new featureCategorizes issue or PR as related to a new featurelifecycle/frozenIndicates that an issue or PR should not be auto-closed due to stalenessIndicates 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 completeImportant 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 onIndicates an issue is ready to be actively worked on
Activity
dosubot commentedon Jul 24, 2026
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
Next Steps
Thanks for your understanding and contribution.