traefik-dashboard-web.yaml

---
apiVersion: v1
data:
  tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUY5RENDQk55Z0F3SUJBZ0lRQnhMdmw4YzRxT25JZGZPVmU0dXNMakFOQmdrcWhraUc5dzBCQVFzRkFEQnUKTVFzd0NRWURWUVFHRXdKVlV6RVZNQk1HQTFVRUNoTU1SR2xuYVVObGNuUWdTVzVqTVJrd0Z3WURWUVFMRXhCMwpkM2N1WkdsbmFXTmxjblF1WTI5dE1TMHdLd1lEVlFRREV5UkZibU55ZVhCMGFXOXVJRVYyWlhKNWQyaGxjbVVnClJGWWdWRXhUSUVOQklDMGdSekl3SGhjTk1qUXdPVEV6TURBd01EQXdXaGNOTWpReE1qRXhNak0xT1RVNVdqQVQKTVJFd0R3WURWUVFERXdoMFlXNXdjQzVqYmpDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQwpnZ0VCQUxRalp2QjdqZVJtdkk2ZWtVd0g3SEFnQ1FGdnR6cTJQRFh2ckpuaW5CcUFWWmZkOVByVmZNd0RXRVZUCnhmVmdyV09LOUVrQUprOXJEWmlRbHRjbyt3azF1cTBUY1NhcUpPeWNTM04xY2xVZE9FcWZDL3ByU0p0SkhuME0KdGVaZHdkdlhPWGF6bmtXNWYxb1daNk9hMlFKOHlENkdWRHMyVXNaVldhOUFyeW1TSkw0dXA0QVZKODYvOUE5NQpnelhYVG85MFZpWHhiVWo2YXNMWXpLNEpHd2dERzlQRmJiL1BjSytTNEZIZzBsL3hNQXR5TzNhRG53eEczUWRLCnpjRDFZbjZuN3RSaVNBSWI5b0o4V29sa3NXencrbWxLMm05WktoQ2p4eWN1T1lmekZINElESVBMdytoayttOUgKK1I2OHhPZ2hGMXZ1SE03UlFxRHd3TjVBdFdrQ0F3RUFBYU9DQXVjd2dnTGpNQjhHQTFVZEl3UVlNQmFBRkhqZgprWkJmN3Q2czlzVjE2OVZNVlZQdkpFcTJNQjBHQTFVZERnUVdCQlNEZy9aRmNvbFFVckc1VXVUM3hQdGNjM1MvCnpEQWhCZ05WSFJFRUdqQVlnZ2gwWVc1d2NDNWpib0lNZDNkM0xuUmhibkJ3TG1OdU1ENEdBMVVkSUFRM01EVXcKTXdZR1o0RU1BUUlCTUNrd0p3WUlLd1lCQlFVSEFnRVdHMmgwZEhBNkx5OTNkM2N1WkdsbmFXTmxjblF1WTI5dApMME5RVXpBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0dBUVVGCkJ3TUNNSUdBQmdnckJnRUZCUWNCQVFSME1ISXdKQVlJS3dZQkJRVUhNQUdHR0doMGRIQTZMeTl2WTNOd0xtUnAKWjJsalpYSjBMbU52YlRCS0JnZ3JCZ0VGQlFjd0FvWSthSFIwY0RvdkwyTmhZMlZ5ZEhNdVpHbG5hV05sY25RdQpZMjl0TDBWdVkzSjVjSFJwYjI1RmRtVnllWGRvWlhKbFJGWlVURk5EUVMxSE1pNWpjblF3REFZRFZSMFRBUUgvCkJBSXdBRENDQVh3R0Npc0dBUVFCMW5rQ0JBSUVnZ0ZzQklJQmFBRm1BSFlBN3MzUVpOWGJHczdGWExlZHRNMFQKb2pLSFJueTg3TjdEVVVoWlJuRWZ0WnNBQUFHUjY2dHh0d0FBQkFNQVJ6QkZBaUVBMzBsYzdaU0dTUTVOVEwwTgpQQk0yaEhMSWd6b3RiaHJReGZYeWZXSW5UUXdDSUJlSC9ZRVpDY0c5Q3VQVCs1bDJJY0tKdFRBbmtXZFkrNCtjCmFuc3FnV3RFQUhVQTJyYS9heisxdGlLZm04SzdYR3ZvY0pGeGJMdFJoSVUwdmFROU1FalgrNnNBQUFHUjY2dHgKY2dBQUJBTUFSakJFQWlCYXY2T28rRm1SRVQ4OTgwWnFRdVJ5TEpFSldJUWg0OHBDb1l0eXBFRENMZ0lnTy96QQpoT3VUUEViMi8wOHY0Z010MUt1SFlnOTZ6MUs2cGZtMmdWcnI1Z1lBZFFBWm1CQnhDZkRXVWk0d2dOS2VQMlM3CmcyNG96UGtQVW83dTM4NUtQeGEweWdBQUFaSHJxM0g5QUFBRUF3QkdNRVFDSURnQllESVFMTVA5YXB1QVA2MkMKOWJOOEpGNUJ1KzRwU2FobjlUU2xadi9qQWlCZE5XUUhoS08wRXB0WUc2NzJmbldHWXM4Z3cvQTVDU25aTXhKUgpTWnpNUWpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQVFWT0tqVXlVbzF2c3dqM3dhQXNpaEtKRE9jTEFwN1VxCk93SHFnMXhVWi9PSDNVNURpN1ZSNVFaanZqRk9DMjVTbmFzZ05WODU2MStSZGFtSnVCL2tTRUVEUndnd0xKUHQKUC9DcU8zNTFSbVFkbFhkSzFHYmFkMTk1WVVHU3BMUkdwaUo3ZkFKdFdSSjN2NXg3bTV1MmZ0aGd3ZExkdlJkOApwblNxK2JET01JWjJMdzFIcW1GbWNUTmJSWllsbXpFejdSZWY5WUxNZ3pPV3pNS0VxTTQzMTBaSkNSNU9Vd1BpCndzWk5xbnhUeFhoUnFIZHcydDE3L1lmNXBLQ0hweW1IcTV0YzdJb29Bem0zTUoxOGtKNG5ENkVoN09BeExFSXUKSVY3aDlOZHZ5dUJKYkFsUENqQ0o2K215SmdrdVNVMmI0RG1QOGQ4akc3TWp5eSt3QXVaSWd3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRXFqQ0NBNUtnQXdJQkFnSVFEZUQvdGU1aXkyRVFuMkNNbk8xZTB6QU5CZ2txaGtpRzl3MEJBUXNGQURCaApNUXN3Q1FZRFZRUUdFd0pWVXpFVk1CTUdBMVVFQ2hNTVJHbG5hVU5sY25RZ1NXNWpNUmt3RndZRFZRUUxFeEIzCmQzY3VaR2xuYVdObGNuUXVZMjl0TVNBd0hnWURWUVFERXhkRWFXZHBRMlZ5ZENCSGJHOWlZV3dnVW05dmRDQkgKTWpBZUZ3MHhOekV4TWpjeE1qUTJOREJhRncweU56RXhNamN4TWpRMk5EQmFNRzR4
  tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBdENObThIdU41R2E4anA2UlRBZnNjQ0FKQVcrM09yWThOZStzbWVLY0dvQlZsOTMwCit0Vjh6QU5ZUlZQRjlXQ3RZNHIwU1FBbVQyc05tSkNXMXlqN0NUVzZyUk54SnFvazdKeExjM1Z5VlIwNFNwOEwKK210SW0wa2VmUXkxNWwzQjI5YzVkck9lUmJsL1doWm5vNXJaQW56SVBvWlVPelpTeGxWWnIwQ3ZLWklrdmk2bgpnQlVuenIvMEQzbUROZGRPajNSV0pmRnRTUHBxd3RqTXJna2JDQU1iMDhWdHY4OXdyNUxnVWVEU1gvRXdDM0k3CmRvT2ZERWJkQjByTndQVmlmcWZ1MUdKSUFodjJnbnhhaVdTeGJQRDZhVXJhYjFrcUVLUEhKeTQ1aC9NVWZnZ00KZzh2RDZHVDZiMGY1SHJ6RTZDRVhXKzRjenRGQ29QREEza0MxYVFJREFRQUJBb0lCQUMzRm14ZjdCUlJtcUgzQwp1OStxV2NFcDJxL3pQNGNiSEJTR2FJQ1hqSnZOUlRKNEV4SVRZZ2tDeHBDakZ6ZGd6OTN0eG1Hd09JdlFnMTFqClMvaXk4SXFvRE4yQ2hhdFI2MXoxMzlRZ0lTT1FiNmZDWHd4TDYyQ054VUg0RTFaTU40Q1JZUWdRM3VRUG5OVDYKd1czWVlGRFovUldxRTBnU1p4ai9RZkVlaWdPUk1pWm52QmFUR3JtOWRPVlVRMGd4cmU5UUFqa2REY2JFUC9YdQpHbFEyaG84eFBPY1hGQmoxNnF4ZlFkVzc1TVZ2Zit5OWlORDZXaWFuK1RJNUpIQnd3REhZRWhrdEFQdnd0TzFLCitJRFVJKzRmb0xLQlNLUVU4MFJzR3lTVnpCdXg2QmU2dUdCVjhHaHpuQ1pkWDg3TmdpeW50UWE3M1N3ejVrUtjTzlHTk1lcDNUaDRiMStOT1ZTCmxQSFF6ZkFEL2xmVWkyNHp0WVU5UXRiNCszS1gwZ0s4ajJMc2Z5c0NnWUVBc1l0NDAwRU9JLzVLaXdMSGJlT0gKSWJXa3FVUWdSYVBxZ1pHVkliTDc4dVU1MnNoRlVrSDJGWkUvbjZxTnpYNDR6eEVCZTYrMkZUOENiYkZYMjNTOQpMclI0UEY3Wi9jbUp2Ukc2WkE1aFBtTS9VK3RJVU0vWFdXamloOU1QTnBRYzdmZ0RrdHg4MFBoT0dNekFEUThwCnhTTlZ1UnpYS3cyOWlCbXcrNXp1TzBFQ2dZQUVPOVZ1ajFyanBYR3R6RFZIeDh1SUNON3Z
kind: Secret
metadata:
  name: tanpp.cn-tls
  namespace: kube-system
type: kubernetes.io/tls
---
apiVersion: v1
kind: Secret
metadata:
  name: traefik-basic-secret
  namespace: kube-system
type: kubernetes.io/basic-auth
data:
  # base64
  username: dGFu==
  password: VGFubGl=
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: traefik-basic-auth
  namespace: kube-system
spec:
  basicAuth:
    secret: traefik-basic-secret
#---
#spec:
#  redirectScheme:
#    scheme: https   
#---
#apiVersion: traefik.containo.us/v1alpha1
#kind: IngressRoute
#metadata:
#  name: traefik-dashboard-web-80
#  namespace: kube-system
#spec:
#  entryPoints:
#    - web
#    #- websecure
#  routes:
#    - kind: Rule
#      match: Host(`tanpp.cn`) && (PathPrefix(`/dashboard`) || PathPrefix(`/api`))
#      middlewares:
#        - name: redirect-https-middleware
#          namespace: kube-system
#      services:
#        - kind: TraefikService
#          name: api@internal 
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: traefik-dashboard-web-443
  namespace: kube-system
spec:
  entryPoints:
    #- web
    - websecure
  routes:
    - kind: Rule
      match: Host(`tanpp.cn`) && (PathPrefix(`/dashboard`) || PathPrefix(`/api`))
      middlewares:
        - name: traefik-basic-auth
          namespace: kube-system
      services:
        - kind: TraefikService
          name: api@internal 
  tls:
    secretName: tanpp.cn-tls        
#---
#apiVersion: traefik.containo.us/v1alpha1
#kind: IngressRoute
#metadata:
#  name: traefik-metrics-web-443
#  namespace: kube-system
#spec:
#  entryPoints:
#    #- web
#    - websecure
#  routes:
#    - kind: Rule
#      match: Host(`tanpp.cn`) && PathPrefix(`/metrics`)
#      services:
#        - kind: TraefikService
#          name: prometheus@internal 
#---
#apiVersion: traefik.containo.us/v1alpha1
#kind: IngressRoute
#metadata:
#  name: traefik-ping-web-443
#  namespace: kube-system
#spec:
#  entryPoints:
#    #- web
#    - websecure
#  routes:
#    - kind: Rule
#      match: Host(`tanpp.cn`) && PathPrefix(`/ping`)
#      services:
#        - kind: TraefikService
#          name: ping@internal