K8s: add an option to configure "PathPrefixStrip" for the ingress-resource using annotation

This commit is contained in:
AlmogBaku 2016-05-15 12:00:20 +03:00
parent 993165fa66
commit 9773d4e409

View file

@ -165,10 +165,16 @@ func (provider *Kubernetes) loadIngresses(k8sClient k8s.Client) (*types.Configur
} }
} }
if len(pa.Path) > 0 { if len(pa.Path) > 0 {
if _, ok := i.Annotations["PathPrefixStrip"]; ok {
templateObjects.Frontends[r.Host+pa.Path].Routes[pa.Path] = types.Route{
Rule: "PathPrefixStrip:" + pa.Path,
}
} else {
templateObjects.Frontends[r.Host+pa.Path].Routes[pa.Path] = types.Route{ templateObjects.Frontends[r.Host+pa.Path].Routes[pa.Path] = types.Route{
Rule: "PathPrefix:" + pa.Path, Rule: "PathPrefix:" + pa.Path,
} }
} }
}
services, err := k8sClient.GetServices(func(service k8s.Service) bool { services, err := k8sClient.GetServices(func(service k8s.Service) bool {
return service.Name == pa.Backend.ServiceName return service.Name == pa.Backend.ServiceName
}) })