In 1.6.7, I could install Istio with the Egress Gateway enabled like so:
$ ./istio-1.6.7/bin/istioctl install \
--set components.egressGateways[0].enabled=true
[... other options...]
In 1.7.0, this fails with:
Error: failed to install manifests: could not overlay user config over base: json merge error (map: map[enabled:true] does not contain declared merge key: name) for base object:
[... piles of JSON follow...]
I can get it to install successfully by adding one name
line:
$ ./istio-1.7.0/bin/istioctl install \
--set components.egressGateways[0].enabled=true
--set components.egressGateways[0].name=istio-egressgateway
[... other options...]
Note that name=istio-egressgateway
matches the existing default value of this field, so it’s kind of hacking in a name selector for the patch.
Is this expected behavior? Am I getting away with something I shouldn’t here? Is it likely to break in an upcoming Istio patch?