<p>I want to deploy Istio's demo application and pass a source range to the load balancer with the following command:</p>

<pre><code>istioctl manifest apply --set profile=demo --set values.gateways.istio-ingressgateway.loadBalancerSourceRanges={"x.x.x.x/x"}
</code></pre>

<p>Unfortunately, I get the following error:</p>

<pre><code>Error: failed to apply manifests: validation errors (use --force to override):
json: cannot unmarshal string into Go value of type []json.RawMessage
</code></pre>

<p>How can I pass the parameter in the correct format (ZSH as shell)?</p>

<p>You can specify the index of the array directly and in ZSH you have to escape the square brackets.</p>

<p>The working command now looks like this:</p>

<pre><code>istioctl manifest apply --set profile=demo --set values.gateways.istio-ingressgateway.loadBalancerSourceRanges\[0\]=x.x.x.x/x
</code></pre>
