IstioControlPlane API - how to create multiple ingress gateways

we chose to use istioctl for installation method because helm will be deprecated, now the question is how to create multiple ingress gateways with annotations by using istioctl method?

with helm it is very much possible as given here https://github.com/istio/istio/issues/14625 but i am struggling to make it work with istiocontrolplane api

below configuration gives error “could not unmarshal the overlay file: unknown field “ingressGateway-external” in v1alpha2.GatewayFeatureSpec_Components”

  gateways:
    enabled: true
    components:
      ingressGateway:
        enabled: true
        k8s:
          service:
            type: NodePort
          hpaSpec:
            minReplicas: 2
      ingressGateway-external:
        enabled: true
        namespace: istio-custom
        k8s:
          service:
            type: NodePort
          hpaSpec:
            minReplicas: 2

api doc https://istio.io/docs/reference/config/istio.operator.v1alpha12.pb/ also doesn’t have any info on how to achieve this

User gateways are not well supported in 1.4, but we will have a clean solution in 1.5. See https://github.com/istio/istio/issues/19263 for a workaround.

You have the YAML/IstioOperator syntax wrong. The value of ingressGateway is an array, so the next line after it should start with a hyphen. Did you accidentally delete a line like - name: istio-ingressgateway? Then, try changing your ingressGateway-external line to - name: xxx and indent it one more level (so that you’re defining a second element of the ingressGateway array.

thanks for the reply.

I was able to create user g/w as per https://istio.io/latest/docs/setup/install/istioctl/#configure-gateways