Skip to content

feat: add VirtualService support for Istio Gateway#379

Draft
SimonBorin wants to merge 1 commit intokiali:masterfrom
SimonBorin:feat/istio-gateway-virtualservice
Draft

feat: add VirtualService support for Istio Gateway#379
SimonBorin wants to merge 1 commit intokiali:masterfrom
SimonBorin:feat/istio-gateway-virtualservice

Conversation

@SimonBorin
Copy link

Summary

Add native Istio VirtualService support as an alternative to nginx Ingress for exposing Kiali through Istio ingress gateway.

Related discussion: kiali/kiali#9167

Motivation

The Kubernetes SIG Network and Security Response Committee have announced the retirement of Ingress NGINX:

Best-effort maintenance will continue until March 2026. Afterward, there will be no further releases, no bugfixes, and no updates to resolve any security vulnerabilities that may be discovered.

Changes

kiali-server chart:

  • Add virtualservice.yaml template
  • Add istioGateway section to values.yaml with WebSocket-friendly defaults (timeout: 0s)
  • Add template-based tests

kiali-operator:

  • Add istio_gateway section to CRD schema (crds.yaml)
  • Add example configuration to values.yaml
  • Add template-based test

Note: The operator Go code changes (to actually create VirtualService resources when istio_gateway.enabled: true) will need to be done in the kiali/kiali repository as a follow-up.

Usage

istioGateway:
  enabled: true
  hosts:
    - kiali.example.com
  gateway: istio-system/istio-ingressgateway
  timeout: "0s"  # important for WebSocket support

Tests

All template-based tests pass:

virtualservice-configuration.yaml
virtualservice-default-host.yaml
virtualservice-disabled.yaml
cr-creation-istio-gateway.yaml

Add native Istio VirtualService support as an alternative to nginx Ingress
for exposing Kiali through Istio ingress gateway.

Changes in kiali-server chart:
- Add virtualservice.yaml template
- Add istioGateway section to values.yaml with WebSocket-friendly defaults
- Add template-based tests for VirtualService configuration

Changes in kiali-operator:
- Add istio_gateway section to CRD schema (crds.yaml)
- Add istio_gateway example to values.yaml
- Add template-based test for CR with istio_gateway

Note: The operator Go code changes (to actually create VirtualService resources)
will need to be done in the kiali/kiali repository.

Motivation: Ingress NGINX retirement announced for March 2026
https://kubernetes.io/blog/2025/11/11/ingress-nginx-retirement/

Assisted-by: Claude Code
Copy link
Contributor

@jmazzitelli jmazzitelli left a comment

Choose a reason for hiding this comment

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

see my comments in the discussion.
I do not like creating a second, separate section for ingress config

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants