<p>Currently I use <strong>Traefik IngressRoute</strong> to expose the Traefik dashboard. I am using this configuration:</p>
<pre class="lang-yaml prettyprint-override"><code>apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: traefik-dashboard
  namespace: my-namespace
spec:
  routes:
  - match: Host(`traefik.example.com`) &amp;&amp; (PathPrefix(`/api`) || PathPrefix(`/dashboard`))
    kind: Rule
    services:
    - name: api@internal
      kind: TraefikService
    middlewares:
      - name: traefik-dashboard-https-redirect
      - name: traefik-dashboard-basic-auth
  tls:
    certResolver: le
</code></pre>
<p>and it works fine.</p>
<p>However I would like to expose it with a native <strong>Kubernetes Ingress</strong>. I can't find any resource which shows how to access <code>api@internal</code> from an Ingress. Is it even possible?</p>

<p>It is not possible to reference api@internal from an Ingress.</p>
<p>There is a workaround I think, which could be:</p>
<ul>
<li>expose the api as insecure, it exposes the dashboard by default on an entrypoint called traefik on port 8080.</li>
<li>update the entrypoint manually in the static conf: <code>entrypoints.traefik.address=&lt;what-you-want&gt;</code></li>
<li>create a service pointing to the traefik entrypoint (port 8080 by default).</li>
<li>create an ingress pointing to the service</li>
</ul>
