<p>I have installed Harbor as follows: </p>

<pre><code>helm install hub harbor/harbor \
  --version 1.3.2 \
  --namespace tool \
  --set expose.ingress.hosts.core=hub.service.example.io \
  --set expose.ingress.annotations.'kubernetes\.io/ingress\.class'=istio \
  --set expose.ingress.annotations.'cert-manager\.io/cluster-issuer'=letsencrypt-prod \
  --set externalURL=https://hub.service.example.io \
  --set notary.enabled=false \
  --set secretkey=secret \
  --set harborAdminPassword=pw  
</code></pre>

<p>Everything is up and running but the page is not reachable via <code>https://hub.service.example.io</code>. The same problem occurs here <a href="https://stackoverflow.com/questions/61590027/why-css-and-png-are-not-accessible/61592425#61592425">Why css and png are not accessible?</a> but how to set wildcard <code>*</code> in Helm?   </p>

<p><strong>Update</strong></p>

<p>Istio supports ingress gateway. This for example works without Gateway and VirtualService definition: </p>

<pre><code>apiVersion: v1
kind: Service
metadata:
  name: hello-kubernetes-first
spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: 8080
  selector:
    app: hello-kubernetes-first
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: hello-kubernetes-first
spec:
  replicas: 3
  selector:
    matchLabels:
      app: hello-kubernetes-first
  template:
    metadata:
      labels:
        app: hello-kubernetes-first
    spec:
      containers:
        - name: hello-kubernetes
          image: paulbouwer/hello-kubernetes:1.8
          ports:
            - containerPort: 8080
          env:
            - name: MESSAGE
              value: Hello from the first deployment!
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: istio
  name: helloworld-ingress
spec:
  rules:
    - host: "hw.service.example.io"
      http:
        paths:
          - path: "/*"
            backend:
              serviceName: hello-kubernetes-first
              servicePort: 80
---
</code></pre>

<p>I would say it won't work with ingress and istio.</p>

<p>As mentioned <a href="https://istio.io/faq/traffic-management/" rel="nofollow noreferrer">here</a> </p>

<blockquote>
  <p>Simple ingress specifications, with host, TLS, and exact path based matches will work out of the box without the need for route rules. However, note that the path used in the ingress resource should not have any . characters.</p>
  
  <p>For example, the following ingress resource matches requests for the example.com host, with /helloworld as the URL.</p>
</blockquote>

<pre><code>$ kubectl create -f - &lt;&lt;EOF
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: simple-ingress
annotations:
  kubernetes.io/ingress.class: istio
spec:
rules:
- host: example.com
  http:
    paths:
    - path: /helloworld
      backend:
        serviceName: myservice
        servicePort: grpc
EOF
</code></pre>

<blockquote>
  <p>However, the following rules will not work because they use regular expressions in the path and ingress.kubernetes.io annotations:</p>
</blockquote>

<pre><code>$ kubectl create -f - &lt;&lt;EOF
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: this-will-not-work
annotations:
  kubernetes.io/ingress.class: istio
  # Ingress annotations other than ingress class will not be honored
  ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: example.com
  http:
    paths:
    - path: /hello(.*?)world/
      backend:
        serviceName: myservice
        servicePort: grpc
EOF
</code></pre>

<hr>

<p>I assume your hello-world is working because of just 1 annotation which is ingress class. </p>

<p>If you take a look at annotations of harbor <a href="https://github.com/goharbor/harbor-helm/blob/master/values.yaml#L36-L40" rel="nofollow noreferrer">here</a>, it might be the problem when you want to use ingress with istio.</p>

<hr>

<blockquote>
  <p>but how to set wildcard * in Helm?</p>
</blockquote>

<p>Wildcard have nothing to do here. As I mentioned in this <a href="https://stackoverflow.com/questions/61590027/why-css-and-png-are-not-accessible/61592425#61592425">answer</a> you can use either wildcard or additional paths, which is done well. Take a look at the ingress paths <a href="https://github.com/goharbor/harbor-helm/blob/master/templates/ingress/ingress.yaml#L67-L104" rel="nofollow noreferrer">here</a>.</p>
