Traefik Kubernetes Helm Deployment Dashboard 404 - Incorrect IngressClass definition?

Hey folks,

I've used Traefik successfully on individual docker hosts for quite a while, but I'm trying to get my homelab Kubernetes cluster going now and I'm having a bit of trouble getting my Helm-deployed Traefik 2.10 to process my dashboard IngressRoute. I'm following a guide by a youtuber, but it's probably a year or more old now so I think that it could have changed since they made said guide, so it may be out of date.

Symptoms: I deploy Traefik with debug logs, and when I apply or delete the IngressRoute for the dashboard, I get a debug message saying time="2023-12-23T04:19:22Z" level=debug msg="Skipping Kubernetes event kind *v1alpha1.IngressRoute" providerName=kubernetescrd

As the title indicates, my guess is that this is a result of me not setting the IngressClass correctly either in my Helm deployment or in my IngressRoute for the dashboard. Middlewares all seem to get processed by Traefik, and it seems like it's just the IngressRoute that is having trouble.

So, here are my config files with my domain removed:

values.yaml:

globalArguments:
  - "--global.sendanonymoususage=false"
  - "--global.checknewversion=false"

additionalArguments:
  - "--serversTransport.insecureSkipVerify=true"
  - "--log.level=DEBUG"
  - "--providers.kubernetesingress.ingressclass=traefik-servers-vlan"

deployment:
  enabled: true
  replicas: 3
  annotations: {}
  podAnnotations: {}
  additionalContainers: []
  initContainers: []

ports:
  web:
    redirectTo:
      port: websecure
  websecure:
    tls:
      enabled: true
      
ingressRoute:
  dashboard:
    enabled: false

providers:
  kubernetesCRD:
    enabled: true
    ingressClass: traefik-servers-vlan
    allowExternalNameServices: true
  kubernetesIngress:
    enabled: true
    allowExternalNameServices: true
    publishedService:
      enabled: false

rbac:
  enabled: true

service:
  enabled: true
  type: LoadBalancer
  annotations: {}
  labels: {}
  spec:
    loadBalancerIP: <static ip address in metallb range here>
  loadBalancerSourceRanges: []
  externalIPs: []

dashboard-ingress.yaml:

apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
  name: traefik-server-dashboard
  namespace: traefik
  annotations: 
    kubernetes.io/ingress.class: traefik-server-vlan
spec:
  entryPoints:
    - websecure
  routes:
    - match: Host(`traefik-server-dashboard.example.com`)
      kind: Rule
      middlewares:
        - name: traefik-dashboard-basicauth@kubernetescrd
          namespace: traefik
      services:
        - name: api@internal
          kind: TraefikService

I'm aware that this is going to serve via a self-signed cert, and that does seem to work for me. I just get a 404 from the dashboard URL, so I know that Traefik is up and responding, just not configuring the route. Hopefully the answer is something obvious and dumb that I just don't know about or missed.

Any help would be appreciated! Also, happy holidays!

Obviously, I had the wrong reference for the Ingress Class in the IngressRoute. Oops. That one character will get ya.