Zipkin address not consistent between gateway and proxy

Hello,

I deployed an zipkin compliant tracing solution in a specific namespace (monitoring)

I used the operator config:

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  namespace: istio-system
  name: istio-control-plane
spec:
  profile: minimal
  components:
    ingressGateways:
      - name: istio-gateway
        enabled: true
        namespace: gateway
meshConfig:
    enableTracing: true
    defaultConfig:
      tracing:
        zipkin:
          address: collector.monitoring:9411
  values:
    global:
      tracer:
        zipkin:
          address: collector.monitoring:9411

What is stange is that on the tracing application, I got a warning “parent span missing”. I found out that on the gateway, I got a wrong zipking url:

$ istioctl proxy-config gateway -n gateway istio-gateway-xxxxxxxx-yy

[extract]

{
  "bootstrap": {
    "node": {
      "metadata": {
        "ISTIO_VERSION": "1.6.1",
        "PROXY_CONFIG": {
          "discoveryAddress": "istiod.istio-system.svc:15012",
          "tracing": {
            "zipkin": {
              "address": "zipkin.istio-system:9411"
            }
          }
        },

But when I check on the injected proxy on my pod, I got the correct value:

$ istioctl proxy-config gateway -n demo hello-world-xxxxxxxx-yy

[extract]

{
  "bootstrap": {
    "node": {
      "metadata": {
        "PROXY_CONFIG": {
          "tracing": {
            "zipkin": {
              "address": "collector.monitoring:9411"

Did I miss a config somewhere?
From the code I’m not entirely clear how the /etc/istio/proxy/envoy-rev0.json is generated, so if somebody has some pointers…

Thank you

For reference, difference between proxy and gateway come from an environment variable set in the proxy and not in the gateway.

I opened an issue https://github.com/istio/istio/issues/24666 with some hint on a possible solution.