Merge branch v2.10 into v3.0

This commit is contained in:
Fernandez Ludovic 2023-03-21 12:00:46 +01:00
commit 7875826bd9
387 changed files with 19080 additions and 976 deletions

View file

@ -0,0 +1,369 @@
package crd
import (
"fmt"
"github.com/rs/zerolog/log"
"github.com/traefik/traefik/v3/pkg/provider/kubernetes/crd/generated/clientset/versioned/scheme"
"github.com/traefik/traefik/v3/pkg/provider/kubernetes/crd/generated/informers/externalversions"
"github.com/traefik/traefik/v3/pkg/provider/kubernetes/crd/traefikio/v1alpha1"
"github.com/traefik/traefik/v3/pkg/provider/kubernetes/k8s"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
)
func (c *clientWrapper) appendContainousIngressRoutes(result []*v1alpha1.IngressRoute) []*v1alpha1.IngressRoute {
listed := map[string]struct{}{}
for _, obj := range result {
listed[objectKey(obj.ObjectMeta)] = struct{}{}
}
for ns, factory := range c.factoriesCrd {
ings, err := factory.TraefikContainous().V1alpha1().IngressRoutes().Lister().List(labels.Everything())
if err != nil {
log.Error().Err(err).Str("namespace", ns).Msg("Failed to list ingress routes")
}
for _, ing := range ings {
key := objectKey(ing.ObjectMeta)
if _, ok := listed[key]; ok {
log.Debug().Msgf("Ignoring traefik.containo.us/v1alpha1 ingress route (%s) already listed within traefik.io/v1alpha1 API GroupVersion", key)
continue
}
toVersion, err := scheme.Scheme.ConvertToVersion(ing, GroupVersioner)
if err != nil {
log.Error().Err(err).Str("namespace", ns).Msg("Failed to convert ingress route in namespace")
continue
}
result = append(result, toVersion.(*v1alpha1.IngressRoute))
}
}
return result
}
func (c *clientWrapper) appendContainousIngressRouteTCPs(result []*v1alpha1.IngressRouteTCP) []*v1alpha1.IngressRouteTCP {
listed := map[string]struct{}{}
for _, obj := range result {
listed[objectKey(obj.ObjectMeta)] = struct{}{}
}
for ns, factory := range c.factoriesCrd {
ings, err := factory.TraefikContainous().V1alpha1().IngressRouteTCPs().Lister().List(labels.Everything())
if err != nil {
log.Error().Err(err).Str("namespace", ns).Msg("Failed to list tcp ingress routes")
}
for _, ing := range ings {
key := objectKey(ing.ObjectMeta)
if _, ok := listed[key]; ok {
log.Debug().Msgf("Ignoring traefik.containo.us/v1alpha1 tcp ingress route (%s) already listed within traefik.io/v1alpha1 API GroupVersion", key)
continue
}
toVersion, err := scheme.Scheme.ConvertToVersion(ing, GroupVersioner)
if err != nil {
log.Error().Err(err).Str("namespace", ns).Msg("Failed to convert tcp ingress route")
continue
}
result = append(result, toVersion.(*v1alpha1.IngressRouteTCP))
}
}
return result
}
func (c *clientWrapper) appendContainousIngressRouteUDPs(result []*v1alpha1.IngressRouteUDP) []*v1alpha1.IngressRouteUDP {
listed := map[string]struct{}{}
for _, obj := range result {
listed[objectKey(obj.ObjectMeta)] = struct{}{}
}
for ns, factory := range c.factoriesCrd {
ings, err := factory.TraefikContainous().V1alpha1().IngressRouteUDPs().Lister().List(labels.Everything())
if err != nil {
log.Error().Err(err).Str("namespace", ns).Msg("Failed to list udp ingress routes")
}
for _, ing := range ings {
key := objectKey(ing.ObjectMeta)
if _, ok := listed[key]; ok {
log.Debug().Msgf("Ignoring traefik.containo.us/v1alpha1 udp ingress route (%s) already listed within traefik.io/v1alpha1 API GroupVersion", key)
continue
}
toVersion, err := scheme.Scheme.ConvertToVersion(ing, GroupVersioner)
if err != nil {
log.Error().Err(err).Str("namespace", ns).Msg("Failed to convert udp ingress route")
continue
}
result = append(result, toVersion.(*v1alpha1.IngressRouteUDP))
}
}
return result
}
func (c *clientWrapper) appendContainousMiddlewares(result []*v1alpha1.Middleware) []*v1alpha1.Middleware {
listed := map[string]struct{}{}
for _, obj := range result {
listed[objectKey(obj.ObjectMeta)] = struct{}{}
}
for ns, factory := range c.factoriesCrd {
middlewares, err := factory.TraefikContainous().V1alpha1().Middlewares().Lister().List(labels.Everything())
if err != nil {
log.Error().Err(err).Str("namespace", ns).Msg("Failed to list middlewares")
}
for _, middleware := range middlewares {
key := objectKey(middleware.ObjectMeta)
if _, ok := listed[key]; ok {
log.Debug().Msgf("Ignoring traefik.containo.us/v1alpha1 middleware (%s) already listed within traefik.io/v1alpha1 API GroupVersion", key)
continue
}
toVersion, err := scheme.Scheme.ConvertToVersion(middleware, GroupVersioner)
if err != nil {
log.Error().Err(err).Str("namespace", ns).Msg("Failed to convert middleware")
continue
}
result = append(result, toVersion.(*v1alpha1.Middleware))
}
}
return result
}
func (c *clientWrapper) appendContainousMiddlewareTCPs(result []*v1alpha1.MiddlewareTCP) []*v1alpha1.MiddlewareTCP {
listed := map[string]struct{}{}
for _, obj := range result {
listed[objectKey(obj.ObjectMeta)] = struct{}{}
}
for ns, factory := range c.factoriesCrd {
middlewares, err := factory.TraefikContainous().V1alpha1().MiddlewareTCPs().Lister().List(labels.Everything())
if err != nil {
log.Error().Err(err).Str("namespace", ns).Msg("Failed to list tcp middlewares")
}
for _, middleware := range middlewares {
key := objectKey(middleware.ObjectMeta)
if _, ok := listed[key]; ok {
log.Debug().Msgf("Ignoring traefik.containo.us/v1alpha1 middleware (%s) already listed within traefik.io/v1alpha1 API GroupVersion", key)
continue
}
toVersion, err := scheme.Scheme.ConvertToVersion(middleware, GroupVersioner)
if err != nil {
log.Error().Err(err).Str("namespace", ns).Msg("Failed to convert tcp middleware")
continue
}
result = append(result, toVersion.(*v1alpha1.MiddlewareTCP))
}
}
return result
}
func (c *clientWrapper) appendContainousTraefikServices(result []*v1alpha1.TraefikService) []*v1alpha1.TraefikService {
listed := map[string]struct{}{}
for _, obj := range result {
listed[objectKey(obj.ObjectMeta)] = struct{}{}
}
for ns, factory := range c.factoriesCrd {
traefikServices, err := factory.TraefikContainous().V1alpha1().TraefikServices().Lister().List(labels.Everything())
if err != nil {
log.Error().Err(err).Str("namespace", ns).Msg("Failed to list Traefik services")
}
for _, traefikService := range traefikServices {
key := objectKey(traefikService.ObjectMeta)
if _, ok := listed[key]; ok {
log.Debug().Msgf("Ignoring traefik.containo.us/v1alpha1 Traefik service (%s) already listed within traefik.io/v1alpha1 API GroupVersion", key)
continue
}
toVersion, err := scheme.Scheme.ConvertToVersion(traefikService, GroupVersioner)
if err != nil {
log.Error().Err(err).Str("namespace", ns).Msg("Failed to convert Traefik service")
continue
}
result = append(result, toVersion.(*v1alpha1.TraefikService))
}
}
return result
}
func (c *clientWrapper) appendContainousServersTransport(result []*v1alpha1.ServersTransport) []*v1alpha1.ServersTransport {
listed := map[string]struct{}{}
for _, obj := range result {
listed[objectKey(obj.ObjectMeta)] = struct{}{}
}
for ns, factory := range c.factoriesCrd {
serversTransports, err := factory.TraefikContainous().V1alpha1().ServersTransports().Lister().List(labels.Everything())
if err != nil {
log.Error().Err(err).Str("namespace", ns).Msg("Failed to list servers transports")
}
for _, serversTransport := range serversTransports {
key := objectKey(serversTransport.ObjectMeta)
if _, ok := listed[key]; ok {
log.Debug().Msgf("Ignoring traefik.containo.us/v1alpha1 servers transport (%s) already listed within traefik.io/v1alpha1 API GroupVersion", key)
continue
}
toVersion, err := scheme.Scheme.ConvertToVersion(serversTransport, GroupVersioner)
if err != nil {
log.Error().Err(err).Str("namespace", ns).Msg("Failed to convert servers transport")
continue
}
result = append(result, toVersion.(*v1alpha1.ServersTransport))
}
}
return result
}
func (c *clientWrapper) appendContainousServersTransportTCP(result []*v1alpha1.ServersTransportTCP) []*v1alpha1.ServersTransportTCP {
listed := map[string]struct{}{}
for _, obj := range result {
listed[objectKey(obj.ObjectMeta)] = struct{}{}
}
for ns, factory := range c.factoriesCrd {
serversTransports, err := factory.TraefikContainous().V1alpha1().ServersTransportTCPs().Lister().List(labels.Everything())
if err != nil {
log.Error().Err(err).Str("namespace", ns).Msg("Failed to list servers transports TCP")
}
for _, serversTransport := range serversTransports {
key := objectKey(serversTransport.ObjectMeta)
if _, ok := listed[key]; ok {
log.Debug().Msgf("Ignoring traefik.containo.us/v1alpha1 servers transport TCP (%s) already listed within traefik.io/v1alpha1 API GroupVersion", key)
continue
}
toVersion, err := scheme.Scheme.ConvertToVersion(serversTransport, GroupVersioner)
if err != nil {
log.Error().Err(err).Str("namespace", ns).Msg("Failed to convert servers transport TCP")
continue
}
result = append(result, toVersion.(*v1alpha1.ServersTransportTCP))
}
}
return result
}
func (c *clientWrapper) appendContainousTLSOptions(result []*v1alpha1.TLSOption) []*v1alpha1.TLSOption {
listed := map[string]struct{}{}
for _, obj := range result {
listed[objectKey(obj.ObjectMeta)] = struct{}{}
}
for ns, factory := range c.factoriesCrd {
options, err := factory.TraefikContainous().V1alpha1().TLSOptions().Lister().List(labels.Everything())
if err != nil {
log.Error().Err(err).Str("namespace", ns).Msg("Failed to list tls options")
}
for _, option := range options {
key := objectKey(option.ObjectMeta)
if _, ok := listed[key]; ok {
log.Debug().Msgf("Ignoring traefik.containo.us/v1alpha1 tls option (%s) already listed within traefik.io/v1alpha1 API GroupVersion", key)
continue
}
toVersion, err := scheme.Scheme.ConvertToVersion(option, GroupVersioner)
if err != nil {
log.Error().Err(err).Str("namespace", ns).Msg("Failed to convert tls option")
continue
}
result = append(result, toVersion.(*v1alpha1.TLSOption))
}
}
return result
}
func (c *clientWrapper) appendContainousTLSStores(result []*v1alpha1.TLSStore) []*v1alpha1.TLSStore {
listed := map[string]struct{}{}
for _, obj := range result {
listed[objectKey(obj.ObjectMeta)] = struct{}{}
}
for ns, factory := range c.factoriesCrd {
stores, err := factory.TraefikContainous().V1alpha1().TLSStores().Lister().List(labels.Everything())
if err != nil {
log.Error().Err(err).Str("namespace", ns).Msg("Failed to list tls stores")
}
for _, store := range stores {
key := objectKey(store.ObjectMeta)
if _, ok := listed[key]; ok {
log.Debug().Msgf("Ignoring traefik.containo.us/v1alpha1 tls store (%s) already listed within traefik.io/v1alpha1 API GroupVersion", key)
continue
}
toVersion, err := scheme.Scheme.ConvertToVersion(store, GroupVersioner)
if err != nil {
log.Error().Err(err).Str("namespace", ns).Msg("Failed to convert tls store")
continue
}
result = append(result, toVersion.(*v1alpha1.TLSStore))
}
}
return result
}
func (c *clientWrapper) getContainousTraefikService(ns, name string) (*v1alpha1.TraefikService, bool, error) {
if !c.isWatchedNamespace(ns) {
return nil, false, fmt.Errorf("failed to get service %s/%s: namespace is not within watched namespaces", ns, name)
}
service, err := c.factoriesCrd[c.lookupNamespace(ns)].TraefikContainous().V1alpha1().TraefikServices().Lister().TraefikServices(ns).Get(name)
exist, err := translateNotFoundError(err)
if !exist {
return nil, false, err
}
toVersion, err := scheme.Scheme.ConvertToVersion(service, GroupVersioner)
if err != nil {
log.Error().Err(err).Str("namespace", ns).Msg("Failed to convert Traefik service")
}
return toVersion.(*v1alpha1.TraefikService), exist, err
}
func addContainousInformers(factoryCrd externalversions.SharedInformerFactory, eventHandler *k8s.ResourceEventHandler) {
factoryCrd.TraefikContainous().V1alpha1().IngressRoutes().Informer().AddEventHandler(eventHandler)
factoryCrd.TraefikContainous().V1alpha1().Middlewares().Informer().AddEventHandler(eventHandler)
factoryCrd.TraefikContainous().V1alpha1().MiddlewareTCPs().Informer().AddEventHandler(eventHandler)
factoryCrd.TraefikContainous().V1alpha1().IngressRouteTCPs().Informer().AddEventHandler(eventHandler)
factoryCrd.TraefikContainous().V1alpha1().IngressRouteUDPs().Informer().AddEventHandler(eventHandler)
factoryCrd.TraefikContainous().V1alpha1().TLSOptions().Informer().AddEventHandler(eventHandler)
factoryCrd.TraefikContainous().V1alpha1().ServersTransports().Informer().AddEventHandler(eventHandler)
factoryCrd.TraefikContainous().V1alpha1().TLSStores().Informer().AddEventHandler(eventHandler)
factoryCrd.TraefikContainous().V1alpha1().TraefikServices().Informer().AddEventHandler(eventHandler)
}
func objectKey(meta metav1.ObjectMeta) string {
return fmt.Sprintf("%s/%s", meta.Namespace, meta.Name)
}

View file

@ -11,7 +11,7 @@ import (
"github.com/rs/zerolog/log"
"github.com/traefik/traefik/v3/pkg/provider/kubernetes/crd/generated/clientset/versioned"
"github.com/traefik/traefik/v3/pkg/provider/kubernetes/crd/generated/informers/externalversions"
"github.com/traefik/traefik/v3/pkg/provider/kubernetes/crd/traefik/v1alpha1"
"github.com/traefik/traefik/v3/pkg/provider/kubernetes/crd/traefikio/v1alpha1"
"github.com/traefik/traefik/v3/pkg/provider/kubernetes/k8s"
"github.com/traefik/traefik/v3/pkg/version"
corev1 "k8s.io/api/core/v1"
@ -175,6 +175,8 @@ func (c *clientWrapper) WatchAll(namespaces []string, stopCh <-chan struct{}) (<
factoryCrd.Traefik().V1alpha1().TLSStores().Informer().AddEventHandler(eventHandler)
factoryCrd.Traefik().V1alpha1().TraefikServices().Informer().AddEventHandler(eventHandler)
addContainousInformers(factoryCrd, eventHandler)
factoryKube := informers.NewSharedInformerFactoryWithOptions(c.csKube, resyncPeriod, informers.WithNamespace(ns))
factoryKube.Core().V1().Services().Informer().AddEventHandler(eventHandler)
factoryKube.Core().V1().Endpoints().Informer().AddEventHandler(eventHandler)
@ -227,7 +229,7 @@ func (c *clientWrapper) GetIngressRoutes() []*v1alpha1.IngressRoute {
result = append(result, ings...)
}
return result
return c.appendContainousIngressRoutes(result)
}
func (c *clientWrapper) GetIngressRouteTCPs() []*v1alpha1.IngressRouteTCP {
@ -241,7 +243,7 @@ func (c *clientWrapper) GetIngressRouteTCPs() []*v1alpha1.IngressRouteTCP {
result = append(result, ings...)
}
return result
return c.appendContainousIngressRouteTCPs(result)
}
func (c *clientWrapper) GetIngressRouteUDPs() []*v1alpha1.IngressRouteUDP {
@ -255,7 +257,7 @@ func (c *clientWrapper) GetIngressRouteUDPs() []*v1alpha1.IngressRouteUDP {
result = append(result, ings...)
}
return result
return c.appendContainousIngressRouteUDPs(result)
}
func (c *clientWrapper) GetMiddlewares() []*v1alpha1.Middleware {
@ -269,7 +271,7 @@ func (c *clientWrapper) GetMiddlewares() []*v1alpha1.Middleware {
result = append(result, middlewares...)
}
return result
return c.appendContainousMiddlewares(result)
}
func (c *clientWrapper) GetMiddlewareTCPs() []*v1alpha1.MiddlewareTCP {
@ -283,7 +285,7 @@ func (c *clientWrapper) GetMiddlewareTCPs() []*v1alpha1.MiddlewareTCP {
result = append(result, middlewares...)
}
return result
return c.appendContainousMiddlewareTCPs(result)
}
// GetTraefikService returns the named service from the given namespace.
@ -295,6 +297,10 @@ func (c *clientWrapper) GetTraefikService(namespace, name string) (*v1alpha1.Tra
service, err := c.factoriesCrd[c.lookupNamespace(namespace)].Traefik().V1alpha1().TraefikServices().Lister().TraefikServices(namespace).Get(name)
exist, err := translateNotFoundError(err)
if !exist {
return c.getContainousTraefikService(namespace, name)
}
return service, exist, err
}
@ -302,14 +308,14 @@ func (c *clientWrapper) GetTraefikServices() []*v1alpha1.TraefikService {
var result []*v1alpha1.TraefikService
for ns, factory := range c.factoriesCrd {
ings, err := factory.Traefik().V1alpha1().TraefikServices().Lister().List(labels.Everything())
traefikServices, err := factory.Traefik().V1alpha1().TraefikServices().Lister().List(labels.Everything())
if err != nil {
log.Error().Err(err).Msgf("Failed to list Traefik services in namespace %s", ns)
}
result = append(result, ings...)
result = append(result, traefikServices...)
}
return result
return c.appendContainousTraefikServices(result)
}
// GetServersTransports returns all ServersTransport.
@ -319,12 +325,12 @@ func (c *clientWrapper) GetServersTransports() []*v1alpha1.ServersTransport {
for ns, factory := range c.factoriesCrd {
serversTransports, err := factory.Traefik().V1alpha1().ServersTransports().Lister().List(labels.Everything())
if err != nil {
log.Error().Err(err).Msgf("Failed to list servers transport in namespace %s", ns)
log.Error().Err(err).Str("namespace", ns).Msg("Failed to list servers transport in namespace")
}
result = append(result, serversTransports...)
}
return result
return c.appendContainousServersTransport(result)
}
// GetServersTransportTCPs returns all ServersTransportTCP.
@ -334,15 +340,12 @@ func (c *clientWrapper) GetServersTransportTCPs() []*v1alpha1.ServersTransportTC
for ns, factory := range c.factoriesCrd {
serversTransports, err := factory.Traefik().V1alpha1().ServersTransportTCPs().Lister().List(labels.Everything())
if err != nil {
log.Error().
Err(err).
Str("namespace", ns).
Msg("Failed to list servers transport TCP in namespace")
log.Error().Err(err).Str("namespace", ns).Msg("Failed to list servers transport TCP in namespace")
}
result = append(result, serversTransports...)
}
return result
return c.appendContainousServersTransportTCP(result)
}
// GetTLSOptions returns all TLS options.
@ -357,7 +360,7 @@ func (c *clientWrapper) GetTLSOptions() []*v1alpha1.TLSOption {
result = append(result, options...)
}
return result
return c.appendContainousTLSOptions(result)
}
// GetTLSStores returns all TLS stores.
@ -372,7 +375,7 @@ func (c *clientWrapper) GetTLSStores() []*v1alpha1.TLSStore {
result = append(result, stores...)
}
return result
return c.appendContainousTLSStores(result)
}
// GetService returns the named service from the given namespace.
@ -421,15 +424,6 @@ func (c *clientWrapper) lookupNamespace(ns string) string {
return ns
}
// translateNotFoundError will translate a "not found" error to a boolean return
// value which indicates if the resource exists and a nil error.
func translateNotFoundError(err error) (bool, error) {
if kubeerror.IsNotFound(err) {
return false, nil
}
return err == nil, err
}
// isWatchedNamespace checks to ensure that the namespace is being watched before we request
// it to ensure we don't panic by requesting an out-of-watch object.
func (c *clientWrapper) isWatchedNamespace(ns string) bool {
@ -443,3 +437,12 @@ func (c *clientWrapper) isWatchedNamespace(ns string) bool {
}
return false
}
// translateNotFoundError will translate a "not found" error to a boolean return
// value which indicates if the resource exists and a nil error.
func translateNotFoundError(err error) (bool, error) {
if kubeerror.IsNotFound(err) {
return false, nil
}
return err == nil, err
}

View file

@ -5,7 +5,7 @@ import (
"os"
"path/filepath"
"github.com/traefik/traefik/v3/pkg/provider/kubernetes/crd/traefik/v1alpha1"
"github.com/traefik/traefik/v3/pkg/provider/kubernetes/crd/traefikio/v1alpha1"
"github.com/traefik/traefik/v3/pkg/provider/kubernetes/k8s"
corev1 "k8s.io/api/core/v1"
"k8s.io/client-go/kubernetes/scheme"

View file

@ -252,3 +252,17 @@ apiVersion: v1
metadata:
name: whoami-without-endpoints-subsets
namespace: default
---
apiVersion: v1
kind: Service
metadata:
name: native-svc
namespace: default
spec:
ports:
- name: web
port: 80
type: ClusterIP
clusterIP: 10.10.0.1

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -261,3 +261,17 @@ apiVersion: v1
metadata:
name: whoamitcp-without-endpoints-subsets
namespace: default
---
apiVersion: v1
kind: Service
metadata:
name: native-svc
namespace: default
spec:
ports:
- name: myapp
port: 8000
type: ClusterIP
clusterIP: 10.10.0.1

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -18,7 +18,7 @@ data:
tls.ca: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TLSOption
metadata:
name: foo
@ -49,7 +49,7 @@ data:
tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0=
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: MiddlewareTCP
metadata:
name: ipallowlist
@ -9,7 +9,7 @@ spec:
- 127.0.0.1/32
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: MiddlewareTCP
metadata:
name: ipallowlist
@ -19,7 +19,7 @@ spec:
sourceRange:
- 127.0.0.1/32
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: MiddlewareTCP
metadata:
name: ipallowlist
@ -9,7 +9,7 @@ spec:
- 127.0.0.1/32
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: MiddlewareTCP
metadata:
name: ipallowlist
@ -19,7 +19,7 @@ spec:
sourceRange:
- 127.0.0.1/32
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: MiddlewareTCP
metadata:
name: multiple---hyphens
@ -9,7 +9,7 @@ spec:
- 127.0.0.1/32
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: MiddlewareTCP
metadata:
name: ipallowlist
@ -9,7 +9,7 @@ spec:
- 127.0.0.1/32
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: MiddlewareTCP
metadata:
name: ipallowlist
@ -19,7 +19,7 @@ spec:
sourceRange:
- 127.0.0.1/32
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -0,0 +1,16 @@
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route
namespace: default
spec:
entryPoints:
- foo
routes:
- match: HostSNI(`foo.com`)
services:
- name: native-svc
port: 8000
nativeLB: true

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -83,7 +83,7 @@ data:
tls.key: VEVTVEtFWTM=
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: ServersTransportTCP
metadata:
name: test
@ -115,7 +115,7 @@ spec:
terminationDelay: 42
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: ServersTransportTCP
metadata:
name: test
@ -126,7 +126,7 @@ spec:
serverName: "test"
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route
@ -17,7 +17,7 @@ spec:
serversTransport: cross-ns-st-cross-ns@kubernetescrd
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: ServersTransportTCP
metadata:
name: st-cross-ns

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -9,7 +9,7 @@ data:
tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0=
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -18,7 +18,7 @@ data:
tls.ca: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TLSOption
metadata:
name: foo
@ -47,7 +47,7 @@ data:
tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0=
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -18,7 +18,7 @@ data:
tls.ca: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TLSOption
metadata:
name: foo
@ -48,7 +48,7 @@ data:
tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0=
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route
@ -20,7 +20,7 @@ spec:
namespace: cross-ns
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TLSOption
metadata:
name: tls-options-cn

View file

@ -9,7 +9,7 @@ data:
tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0=
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TLSStore
metadata:
name: default
@ -20,7 +20,7 @@ data:
tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0=
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -1,5 +1,5 @@
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TLSOption
metadata:
name: foo
@ -9,7 +9,7 @@ spec:
minVersion: VersionTLS12
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -1,5 +1,5 @@
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TLSOption
metadata:
name: foo
@ -9,7 +9,7 @@ spec:
minVersion: VersionTLS12
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: test.route

View file

@ -220,3 +220,17 @@ apiVersion: v1
metadata:
name: whoamiudp-without-endpoints-subsets
namespace: default
---
apiVersion: v1
kind: Service
metadata:
name: native-svc
namespace: default
spec:
ports:
- name: myapp
port: 8000
type: ClusterIP
clusterIP: 10.10.0.1

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteUDP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteUDP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteUDP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteUDP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteUDP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteUDP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteUDP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteUDP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteUDP
metadata:
name: test.route

View file

@ -0,0 +1,15 @@
apiVersion: traefik.io/v1alpha1
kind: IngressRouteUDP
metadata:
name: test.route
namespace: default
spec:
entryPoints:
- foo
routes:
- services:
- name: native-svc
port: 8000
nativeLB: true

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteUDP
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRouteUDP
metadata:
name: test.route

View file

@ -30,7 +30,7 @@ data:
tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0=
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: basicauth
@ -41,7 +41,7 @@ spec:
secret: authsecret
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: digestauth
@ -51,7 +51,7 @@ spec:
digestAuth:
secret: authsecret
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: forwardauth

View file

@ -18,7 +18,7 @@ data:
tls.ca:
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TLSOption
metadata:
name: foo
@ -38,7 +38,7 @@ spec:
clientAuthType: VerifyClientCertIfGiven
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: cross-ns-route
@ -36,7 +36,7 @@ spec:
serversTransport: foo-test@kubernetescrd
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: tr-svc-wrr1
@ -51,7 +51,7 @@ spec:
port: 80
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: tr-svc-wrr2
@ -65,7 +65,7 @@ spec:
port: 80
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: tr-svc-mirror1
@ -82,7 +82,7 @@ spec:
port: 80
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: tr-svc-mirror2
@ -99,7 +99,7 @@ spec:
port: 80
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: ServersTransport
metadata:
name: test

View file

@ -18,7 +18,7 @@ data:
tls.ca: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TLSOption
metadata:
name: default
@ -37,7 +37,7 @@ spec:
clientAuthType: VerifyClientCertIfGiven
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -18,7 +18,7 @@ data:
tls.ca: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TLSOption
metadata:
name: default
@ -37,7 +37,7 @@ spec:
clientAuthType: VerifyClientCertIfGiven
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TLSStore
metadata:
name: default
@ -20,7 +20,7 @@ data:
tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0=
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route
@ -21,7 +21,7 @@ spec:
- name: test-errorpage
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: test-weighted
@ -35,7 +35,7 @@ spec:
port: 80
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: test-mirror
@ -52,7 +52,7 @@ spec:
kind: TraefikService
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: test-errorpage

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: errorpage

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: stripprefix
@ -10,7 +10,7 @@ spec:
- /tobestripped
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: ratelimit
@ -28,7 +28,7 @@ spec:
- 192.168.1.7
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: addprefix
@ -39,7 +39,7 @@ spec:
prefix: /tobeadded
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test2.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test-crossnamespace.route
@ -39,7 +39,7 @@ spec:
- name: cross-ns-stripprefix@kubernetescrd
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: stripprefix
@ -51,7 +51,7 @@ spec:
- /stripit
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: test-errorpage

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: stripprefix
@ -10,7 +10,7 @@ spec:
- /tobestripped
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: addprefix
@ -21,7 +21,7 @@ spec:
prefix: /tobeadded
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test2.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: multiple---hyphens
@ -10,7 +10,7 @@ spec:
- /tobestripped
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test2.route

View file

@ -59,7 +59,7 @@ spec:
task: whoami5
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: mirror1
@ -77,7 +77,7 @@ spec:
port: 8080
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -59,7 +59,7 @@ spec:
task: whoami5
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: wrr2
@ -73,7 +73,7 @@ spec:
port: 8080
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: wrr1
@ -87,7 +87,7 @@ spec:
port: 8080
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: mirror1
@ -103,7 +103,7 @@ spec:
percent: 30
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -89,7 +89,7 @@ spec:
task: whoami4
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: mirror1
@ -111,7 +111,7 @@ spec:
namespace: bar
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: wrr2
@ -126,7 +126,7 @@ spec:
port: 8080
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: mirror2
@ -150,7 +150,7 @@ spec:
namespace: foo
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: mirror3
@ -176,7 +176,7 @@ spec:
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: mirror4
@ -200,7 +200,7 @@ spec:
namespace: foo
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: mirrored
@ -218,7 +218,7 @@ spec:
namespace: foo
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: wrr1
@ -239,7 +239,7 @@ spec:
namespace: bar
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -0,0 +1,17 @@
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route
namespace: default
spec:
entryPoints:
- foo
routes:
- match: Host(`foo.com`)
kind: Rule
services:
- name: native-svc
port: 80
nativeLB: true

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -8,7 +8,7 @@ data:
key: dGhpc19pc190aGVfdmVyeV9kZWVwX3NlY3JldA==
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: test-secret

View file

@ -9,7 +9,7 @@ data:
key2: dXNlcl9wYXNzd29yZA==
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: test-secret

View file

@ -9,7 +9,7 @@ data:
key2: c2VjcmV0X2RhdGEy
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: test-secret

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: test-secret

View file

@ -8,7 +8,7 @@ data:
key: dGhpc19pc190aGVfc2VjcmV0
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: test-secret

View file

@ -83,7 +83,7 @@ data:
tls.key: VEVTVEtFWTM=
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: ServersTransport
metadata:
name: test
@ -119,7 +119,7 @@ spec:
trustDomain: spiffe://lol
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: ServersTransport
metadata:
name: test
@ -129,7 +129,7 @@ spec:
serverName: "test"
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route
@ -18,7 +18,7 @@ spec:
serversTransport: cross-ns-st-cross-ns@kubernetescrd
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: ServersTransport
metadata:
name: st-cross-ns

View file

@ -29,7 +29,7 @@ spec:
task: whoami5
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: wrr1
@ -44,7 +44,7 @@ spec:
port: 8080
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -119,7 +119,7 @@ spec:
task: whoami7
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: wrr1
@ -136,7 +136,7 @@ spec:
weight: 1
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: wrr2
@ -153,7 +153,7 @@ spec:
weight: 1
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -14,7 +14,7 @@ subsets:
port: 8080
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: wrr2
@ -43,7 +43,7 @@ spec:
task: whoami5
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: wrr1
@ -60,7 +60,7 @@ spec:
port: 8080
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -59,7 +59,7 @@ spec:
task: whoami4
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: wrr2
@ -73,7 +73,7 @@ spec:
port: 8080
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: mirror1
@ -89,7 +89,7 @@ spec:
port: 8080
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: wrr1
@ -109,7 +109,7 @@ spec:
weight: 1
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -29,7 +29,7 @@ spec:
task: whoami5
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TraefikService
metadata:
name: wrr1

View file

@ -9,7 +9,7 @@ data:
tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0=
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -18,7 +18,7 @@ data:
ca.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TLSOption
metadata:
name: foo
@ -37,7 +37,7 @@ spec:
clientAuthType: VerifyClientCertIfGiven
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -18,7 +18,7 @@ data:
tls.ca: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TLSOption
metadata:
name: foo
@ -37,7 +37,7 @@ spec:
clientAuthType: VerifyClientCertIfGiven
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route
@ -21,7 +21,7 @@ spec:
namespace: cross-ns
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TLSOption
metadata:
name: tls-options-cn

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TLSStore
metadata:
name: default
@ -20,7 +20,7 @@ data:
tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0=
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TLSStore
metadata:
name: default
@ -20,7 +20,7 @@ data:
tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0=
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TLSOption
metadata:
name: foo
@ -8,7 +8,7 @@ spec:
minVersion: VersionTLS12
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

View file

@ -1,4 +1,4 @@
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: TLSOption
metadata:
name: foo
@ -8,7 +8,7 @@ spec:
minVersion: VersionTLS12
---
apiVersion: traefik.containo.us/v1alpha1
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: test.route

Some files were not shown because too many files have changed in this diff Show more