apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  meshConfig:
    tcpKeepalive:
      time: 10s
      interval: 5s
      probes: 3
  components:
    ingressGateways:
    - enabled: true
      name: istio-ingressgateway
    # Cluster-local gateway for KFServing
    - enabled: true
      name: cluster-local-gateway
      # https://github.com/istio/istio/issues/19263#issuecomment-615833092
      label:
        app: cluster-local-gateway
        istio: cluster-local-gateway
      k8s:
        env:
        - name: ISTIO_META_ROUTER_MODE
          value: sni-dnat
        hpaSpec:
          maxReplicas: 5
          metrics:
          - resource:
              name: cpu
              target:
                type: Utilization
                averageUtilization: 80
            type: Resource
          minReplicas: 1
          scaleTargetRef:
            apiVersion: apps/v1
            kind: Deployment
            name: cluster-local-gateway
        resources:
          limits:
            cpu: 2000m
            memory: 1024Mi
          requests:
            cpu: 100m
            memory: 128Mi
        service:
          type: ClusterIP
          ports:
          - name: status-port
            port: 15020
            targetPort: 15020
          - name: http2
            port: 80
            targetPort: 8080

    # Disable EgressGateway
    egressGateways:
    - enabled: false
      name: istio-egressgateway
