Securing the dashboard in a kubernetes cluster

Hello
I would like to secure my dashboardin my kubernetes cluster
I created a middleware and a secret that I mounted on my traefik instance.
But its not working, I would need your help.

** middleware-secret.yaml**

# Declaring the user list
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: dashboard-auth
spec:
  basicAuth:
    secret: dashboard-secret

---
apiVersion: v1
kind: Secret
metadata:
  name: dashboard-secret
  namespace: default
data:
  dashboard-users.htpasswd: xxxxxxxxxxxxxxxxxxxxxxxxxxx

Here is my traefik deploy object
Then I used a volume to mount the secret in the container

deploy-traefik.yaml

kind: Deployment
apiVersion: apps/v1
metadata:
  namespace: default
  name: traefik
  labels:
    app: traefik
spec:
  replicas: 1
  selector:
    matchLabels:
      app: traefik
  template:
    metadata:
      labels:
        app: traefik
    spec:
      serviceAccountName: traefik-ingress-controller

      # use the volume
      volumes:
      - name: vol-dashboard-users-file
        secret:
          # secret should be created manually from the dashboard-users.htpasswd file
          secretName: dashboard-secret

      containers:
        - name: traefik
          image: traefik:v2.3
          args:
            # secure mode
            - --api.dashboard=true

            - --entrypoints.web.address=:80
            - --entrypoints.web.http.redirections.entryPoint.to=websecure
            - --entrypoints.web.http.redirections.entryPoint.scheme=https
            - --entrypoints.websecure.address=:443
            - --entrypoints.websecure.http.tls
            - --providers.kubernetescrd
            - --certificatesresolvers.myresolver.acme.tlschallenge
            - --certificatesresolvers.myresolver.acme.email=barry2abdulrahim@gmail.com
            - --certificatesresolvers.myresolver.acme.storage=acme.json
          ports:
            - name: web
              containerPort: 80
            - name: websecure
              containerPort: 443
          # volume mont
          volumeMounts:
          - mountPath: "/secrets/"
            name: vol-dashboard-users-file

my-ingressroute-dashb.yaml

apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: dashboard-tls
spec:
  entryPoints:
    - websecure
  routes:
    - kind: Rule
      match: Host(`ddashboard.demo.tel.fr`)
      services:
        - name: api@internal
          kind: TraefikService
  tls:
    certResolver: myresolver

Thank you for you help

Already solved: Securing the dashboard in a kubernetes cluster - #2 by kevinpollet