traefik / traefik-migration-tool

A migration tool from Traefik v1 to Traefik v2
https://docs.traefik.io/migration/v1-to-v2/
Apache License 2.0
151 stars 35 forks source link

PathPrefixStrip migration may cause invalid resource names #21

Closed erikwilson closed 3 years ago

erikwilson commented 3 years ago

Considering the following v1 example from https://opensource.com/article/20/3/kubernetes-traefik:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: mydog-nginx-ingress
  annotations:
    kubernetes.io/ingress.class: "traefik"
    traefik.frontend.rule.type: PathPrefixStrip
spec:
  rules:
  - http:
      paths:
      - path: /mydog
        backend:
          serviceName: mydog-nginx-service
          servicePort: 80

migration will include the leading / for a middleware name, producing errors like:

# kubectl apply -f mydog.yaml 
deployment.apps/mydog-nginx created
service/mydog-nginx-service created
ingressroute.traefik.containo.us/mydog-nginx-ingress created
error: error when retrieving current configuration of:
Resource: "traefik.containo.us/v1alpha1, Resource=middlewares", GroupVersionKind: "traefik.containo.us/v1alpha1, Kind=Middleware"
Name: "/mydog", Namespace: "default"
from server for: "mydog.yaml": invalid resource name "/mydog": [may not contain '/']