Documentation ¶
Index ¶
- Constants
- Variables
- func GetRestConfig(kubeConfig, apiServerURL string) (*rest.Config, error)
- func NewCFClient(cfAPIEndpoint string, cfUsername string, cfPassword string) (*cfclient.Client, error)
- func NewCRDClientForAPIVersionKind(client kubernetes.Interface, kubeConfig, apiServerURL, apiVersion, kind string) (*rest.RESTClient, *runtime.Scheme, error)
- func NewDynamicKubernetesClient(kubeConfig, apiServerURL string, requestTimeout time.Duration) (dynamic.Interface, error)
- func NewIstioClient(kubeConfig string, apiServerURL string) (*istioclient.Clientset, error)
- func NewKubeClient(kubeConfig, apiServerURL string, requestTimeout time.Duration) (*kubernetes.Clientset, error)
- func NewOpenShiftClient(kubeConfig, apiServerURL string, requestTimeout time.Duration) (*openshift.Clientset, error)
- type ClientGenerator
- type Config
- type IngressRoute
- type IngressRouteList
- type IngressRouteTCP
- type IngressRouteTCPList
- type IngressRouteUDP
- type IngressRouteUDPList
- type SingletonClientGenerator
- func (p *SingletonClientGenerator) CloudFoundryClient(cfAPIEndpoint string, cfUsername string, cfPassword string) (*cfclient.Client, error)
- func (p *SingletonClientGenerator) DynamicKubernetesClient() (dynamic.Interface, error)
- func (p *SingletonClientGenerator) GatewayClient() (gateway.Interface, error)
- func (p *SingletonClientGenerator) IstioClient() (istioclient.Interface, error)
- func (p *SingletonClientGenerator) KubeClient() (kubernetes.Interface, error)
- func (p *SingletonClientGenerator) OpenShiftClient() (openshift.Interface, error)
- type Source
- func BuildWithConfig(ctx context.Context, source string, p ClientGenerator, cfg *Config) (Source, error)
- func ByNames(ctx context.Context, p ClientGenerator, names []string, cfg *Config) ([]Source, error)
- func NewAmbassadorHostSource(ctx context.Context, dynamicKubeClient dynamic.Interface, ...) (Source, error)
- func NewCRDSource(crdClient rest.Interface, namespace, kind string, annotationFilter string, ...) (Source, error)
- func NewCloudFoundrySource(cfClient *cfclient.Client) (Source, error)
- func NewConnectorSource(remoteServer string) (Source, error)
- func NewContourHTTPProxySource(ctx context.Context, dynamicKubeClient dynamic.Interface, namespace string, ...) (Source, error)
- func NewDedupSource(source Source) Source
- func NewEmptySource() Source
- func NewF5VirtualServerSource(ctx context.Context, dynamicKubeClient dynamic.Interface, ...) (Source, error)
- func NewFakeSource(fqdnTemplate string) (Source, error)
- func NewGatewayGRPCRouteSource(clients ClientGenerator, config *Config) (Source, error)
- func NewGatewayHTTPRouteSource(clients ClientGenerator, config *Config) (Source, error)
- func NewGatewayTCPRouteSource(clients ClientGenerator, config *Config) (Source, error)
- func NewGatewayTLSRouteSource(clients ClientGenerator, config *Config) (Source, error)
- func NewGatewayUDPRouteSource(clients ClientGenerator, config *Config) (Source, error)
- func NewGlooSource(dynamicKubeClient dynamic.Interface, kubeClient kubernetes.Interface, ...) (Source, error)
- func NewIngressSource(ctx context.Context, kubeClient kubernetes.Interface, ...) (Source, error)
- func NewIstioGatewaySource(ctx context.Context, kubeClient kubernetes.Interface, ...) (Source, error)
- func NewIstioVirtualServiceSource(ctx context.Context, kubeClient kubernetes.Interface, ...) (Source, error)
- func NewKongTCPIngressSource(ctx context.Context, dynamicKubeClient dynamic.Interface, ...) (Source, error)
- func NewMultiSource(children []Source, defaultTargets []string) Source
- func NewNAT64Source(source Source, nat64Prefixes []string) Source
- func NewNodeSource(ctx context.Context, kubeClient kubernetes.Interface, ...) (Source, error)
- func NewOcpRouteSource(ctx context.Context, ocpClient versioned.Interface, namespace string, ...) (Source, error)
- func NewPodSource(ctx context.Context, kubeClient kubernetes.Interface, namespace string, ...) (Source, error)
- func NewRouteGroupSource(timeout time.Duration, ...) (Source, error)
- func NewServiceSource(ctx context.Context, kubeClient kubernetes.Interface, ...) (Source, error)
- func NewTargetFilterSource(source Source, targetFilter endpoint.TargetFilterInterface) Source
- func NewTraefikSource(ctx context.Context, dynamicKubeClient dynamic.Interface, ...) (Source, error)
- type TCPIngress
- type TCPIngressList
- type UnstructuredConverter
Constants ¶
const ( // ALBDualstackAnnotationKey is the annotation used for determining if an ALB ingress is dualstack ALBDualstackAnnotationKey = "alb.ingress.kubernetes.io/ip-address-type" // ALBDualstackAnnotationValue is the value of the ALB dualstack annotation that indicates it is dualstack ALBDualstackAnnotationValue = "dualstack" // Possible values for the ingress-hostname-source annotation IngressHostnameSourceAnnotationOnlyValue = "annotation-only" IngressHostnameSourceDefinedHostsOnlyValue = "defined-hosts-only" IngressClassAnnotationKey = "kubernetes.io/ingress.class" )
const ( EndpointsTypeNodeExternalIP = "NodeExternalIP" EndpointsTypeHostIP = "HostIP" )
const ( // The annotation used for determining if traffic will go through Cloudflare CloudflareProxiedKey = "external-dns.alpha.kubernetes.io/cloudflare-proxied" SetIdentifierKey = "external-dns.alpha.kubernetes.io/set-identifier" )
Provider-specific annotations
const (
// DefaultRoutegroupVersion is the default version for route groups.
DefaultRoutegroupVersion = "zalando.org/v1"
)
const IstioGatewayIngressSource = "external-dns.alpha.kubernetes.io/ingress"
IstioGatewayIngressSource is the annotation used to determine if the gateway is implemented by an Ingress object instead of a standard LoadBalancer service type
const IstioMeshGateway = "mesh"
IstioMeshGateway is the built in gateway for all sidecars
Variables ¶
var ErrSourceNotFound = errors.New("source not found")
ErrSourceNotFound is returned when a requested source doesn't exist.
Functions ¶
func GetRestConfig ¶
GetRestConfig returns the rest clients config to get automatically data if you run inside a cluster or by passing flags.
func NewCFClient ¶
func NewCFClient(cfAPIEndpoint string, cfUsername string, cfPassword string) (*cfclient.Client, error)
NewCFClient return a new CF client object.
func NewCRDClientForAPIVersionKind ¶
func NewCRDClientForAPIVersionKind(client kubernetes.Interface, kubeConfig, apiServerURL, apiVersion, kind string) (*rest.RESTClient, *runtime.Scheme, error)
NewCRDClientForAPIVersionKind return rest client for the given apiVersion and kind of the CRD
func NewDynamicKubernetesClient ¶
func NewDynamicKubernetesClient(kubeConfig, apiServerURL string, requestTimeout time.Duration) (dynamic.Interface, error)
NewDynamicKubernetesClient returns a new Dynamic Kubernetes client object. It takes a Config and uses APIServerURL and KubeConfig attributes to connect to the cluster. If KubeConfig isn't provided it defaults to using the recommended default.
func NewIstioClient ¶
func NewIstioClient(kubeConfig string, apiServerURL string) (*istioclient.Clientset, error)
NewIstioClient returns a new Istio client object. It uses the configured KubeConfig attribute to connect to the cluster. If KubeConfig isn't provided it defaults to using the recommended default. NB: Istio controls the creation of the underlying Kubernetes client, so we have no ability to tack on transport wrappers (e.g., Prometheus request wrappers) to the client's config at this level. Furthermore, the Istio client constructor does not expose the ability to override the Kubernetes API server endpoint, so the apiServerURL config attribute has no effect.
func NewKubeClient ¶
func NewKubeClient(kubeConfig, apiServerURL string, requestTimeout time.Duration) (*kubernetes.Clientset, error)
NewKubeClient returns a new Kubernetes client object. It takes a Config and uses APIServerURL and KubeConfig attributes to connect to the cluster. If KubeConfig isn't provided it defaults to using the recommended default.
func NewOpenShiftClient ¶
func NewOpenShiftClient(kubeConfig, apiServerURL string, requestTimeout time.Duration) (*openshift.Clientset, error)
NewOpenShiftClient returns a new Openshift client object. It takes a Config and uses APIServerURL and KubeConfig attributes to connect to the cluster. If KubeConfig isn't provided it defaults to using the recommended default.
Types ¶
type ClientGenerator ¶
type ClientGenerator interface { KubeClient() (kubernetes.Interface, error) GatewayClient() (gateway.Interface, error) IstioClient() (istioclient.Interface, error) CloudFoundryClient(cfAPPEndpoint string, cfUsername string, cfPassword string) (*cfclient.Client, error) DynamicKubernetesClient() (dynamic.Interface, error) OpenShiftClient() (openshift.Interface, error) }
ClientGenerator provides clients
type Config ¶
type Config struct { Namespace string AnnotationFilter string LabelFilter labels.Selector IngressClassNames []string FQDNTemplate string CombineFQDNAndAnnotation bool IgnoreHostnameAnnotation bool IgnoreIngressTLSSpec bool IgnoreIngressRulesSpec bool GatewayNamespace string GatewayLabelFilter string Compatibility string PublishInternal bool PublishHostIP bool AlwaysPublishNotReadyAddresses bool ConnectorServer string CRDSourceAPIVersion string CRDSourceKind string KubeConfig string APIServerURL string ServiceTypeFilter []string CFAPIEndpoint string CFUsername string CFPassword string GlooNamespaces []string SkipperRouteGroupVersion string RequestTimeout time.Duration DefaultTargets []string OCPRouterName string UpdateEvents bool ResolveLoadBalancerHostname bool TraefikDisableLegacy bool TraefikDisableNew bool }
Config holds shared configuration options for all Sources.
type IngressRoute ¶
type IngressRoute struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata"` Spec traefikIngressRouteSpec `json:"spec"` }
IngressRoute is the CRD implementation of a Traefik HTTP Router.
func (*IngressRoute) DeepCopy ¶
func (in *IngressRoute) DeepCopy() *IngressRoute
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRoute.
func (*IngressRoute) DeepCopyInto ¶
func (in *IngressRoute) DeepCopyInto(out *IngressRoute)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IngressRoute) DeepCopyObject ¶
func (in *IngressRoute) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IngressRouteList ¶
type IngressRouteList struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata"` // Items is the list of IngressRoute. Items []IngressRoute `json:"items"` }
IngressRouteList is a collection of IngressRoute.
func (*IngressRouteList) DeepCopy ¶
func (in *IngressRouteList) DeepCopy() *IngressRouteList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRouteList.
func (*IngressRouteList) DeepCopyInto ¶
func (in *IngressRouteList) DeepCopyInto(out *IngressRouteList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IngressRouteList) DeepCopyObject ¶
func (in *IngressRouteList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IngressRouteTCP ¶
type IngressRouteTCP struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata"` Spec traefikIngressRouteTCPSpec `json:"spec"` }
IngressRouteTCP is the CRD implementation of a Traefik TCP Router.
func (*IngressRouteTCP) DeepCopy ¶
func (in *IngressRouteTCP) DeepCopy() *IngressRouteTCP
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRouteTCP.
func (*IngressRouteTCP) DeepCopyInto ¶
func (in *IngressRouteTCP) DeepCopyInto(out *IngressRouteTCP)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IngressRouteTCP) DeepCopyObject ¶
func (in *IngressRouteTCP) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IngressRouteTCPList ¶
type IngressRouteTCPList struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata"` // Items is the list of IngressRouteTCP. Items []IngressRouteTCP `json:"items"` }
IngressRouteTCPList is a collection of IngressRouteTCP.
func (*IngressRouteTCPList) DeepCopy ¶
func (in *IngressRouteTCPList) DeepCopy() *IngressRouteTCPList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRouteTCPList.
func (*IngressRouteTCPList) DeepCopyInto ¶
func (in *IngressRouteTCPList) DeepCopyInto(out *IngressRouteTCPList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IngressRouteTCPList) DeepCopyObject ¶
func (in *IngressRouteTCPList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IngressRouteUDP ¶
type IngressRouteUDP struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata"` }
IngressRouteUDP is a CRD implementation of a Traefik UDP Router.
func (*IngressRouteUDP) DeepCopy ¶
func (in *IngressRouteUDP) DeepCopy() *IngressRouteUDP
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRouteUDP.
func (*IngressRouteUDP) DeepCopyInto ¶
func (in *IngressRouteUDP) DeepCopyInto(out *IngressRouteUDP)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IngressRouteUDP) DeepCopyObject ¶
func (in *IngressRouteUDP) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IngressRouteUDPList ¶
type IngressRouteUDPList struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata"` // Items is the list of IngressRouteUDP. Items []IngressRouteUDP `json:"items"` }
IngressRouteUDPList is a collection of IngressRouteUDP.
func (*IngressRouteUDPList) DeepCopy ¶
func (in *IngressRouteUDPList) DeepCopy() *IngressRouteUDPList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRouteUDPList.
func (*IngressRouteUDPList) DeepCopyInto ¶
func (in *IngressRouteUDPList) DeepCopyInto(out *IngressRouteUDPList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IngressRouteUDPList) DeepCopyObject ¶
func (in *IngressRouteUDPList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SingletonClientGenerator ¶
type SingletonClientGenerator struct { KubeConfig string APIServerURL string RequestTimeout time.Duration // contains filtered or unexported fields }
SingletonClientGenerator stores provider clients and guarantees that only one instance of client will be generated
func (*SingletonClientGenerator) CloudFoundryClient ¶
func (p *SingletonClientGenerator) CloudFoundryClient(cfAPIEndpoint string, cfUsername string, cfPassword string) (*cfclient.Client, error)
CloudFoundryClient generates a cf client if it was not created before
func (*SingletonClientGenerator) DynamicKubernetesClient ¶
func (p *SingletonClientGenerator) DynamicKubernetesClient() (dynamic.Interface, error)
DynamicKubernetesClient generates a dynamic client if it was not created before
func (*SingletonClientGenerator) GatewayClient ¶
func (p *SingletonClientGenerator) GatewayClient() (gateway.Interface, error)
GatewayClient generates a gateway client if it was not created before
func (*SingletonClientGenerator) IstioClient ¶
func (p *SingletonClientGenerator) IstioClient() (istioclient.Interface, error)
IstioClient generates an istio go client if it was not created before
func (*SingletonClientGenerator) KubeClient ¶
func (p *SingletonClientGenerator) KubeClient() (kubernetes.Interface, error)
KubeClient generates a kube client if it was not created before
func (*SingletonClientGenerator) OpenShiftClient ¶
func (p *SingletonClientGenerator) OpenShiftClient() (openshift.Interface, error)
OpenShiftClient generates an openshift client if it was not created before
type Source ¶
type Source interface { Endpoints(ctx context.Context) ([]*endpoint.Endpoint, error) // AddEventHandler adds an event handler that should be triggered if something in source changes AddEventHandler(context.Context, func()) }
Source defines the interface Endpoint sources should implement.
func BuildWithConfig ¶
func BuildWithConfig(ctx context.Context, source string, p ClientGenerator, cfg *Config) (Source, error)
BuildWithConfig allows to generate a Source implementation from the shared config
func NewAmbassadorHostSource ¶
func NewAmbassadorHostSource( ctx context.Context, dynamicKubeClient dynamic.Interface, kubeClient kubernetes.Interface, namespace string, annotationFilter string, labelSelector labels.Selector, ) (Source, error)
NewAmbassadorHostSource creates a new ambassadorHostSource with the given config.
func NewCRDSource ¶
func NewCRDSource(crdClient rest.Interface, namespace, kind string, annotationFilter string, labelSelector labels.Selector, scheme *runtime.Scheme, startInformer bool) (Source, error)
NewCRDSource creates a new crdSource with the given config.
func NewCloudFoundrySource ¶
NewCloudFoundrySource creates a new cloudfoundrySource with the given config
func NewConnectorSource ¶
NewConnectorSource creates a new connectorSource with the given config.
func NewContourHTTPProxySource ¶
func NewContourHTTPProxySource( ctx context.Context, dynamicKubeClient dynamic.Interface, namespace string, annotationFilter string, fqdnTemplate string, combineFqdnAnnotation bool, ignoreHostnameAnnotation bool, ) (Source, error)
NewContourHTTPProxySource creates a new contourHTTPProxySource with the given config.
func NewDedupSource ¶
NewDedupSource creates a new dedupSource wrapping the provided Source.
func NewFakeSource ¶
NewFakeSource creates a new fakeSource with the given config.
func NewGatewayGRPCRouteSource ¶
func NewGatewayGRPCRouteSource(clients ClientGenerator, config *Config) (Source, error)
NewGatewayGRPCRouteSource creates a new Gateway GRPCRoute source with the given config.
func NewGatewayHTTPRouteSource ¶
func NewGatewayHTTPRouteSource(clients ClientGenerator, config *Config) (Source, error)
NewGatewayHTTPRouteSource creates a new Gateway HTTPRoute source with the given config.
func NewGatewayTCPRouteSource ¶
func NewGatewayTCPRouteSource(clients ClientGenerator, config *Config) (Source, error)
NewGatewayTCPRouteSource creates a new Gateway TCPRoute source with the given config.
func NewGatewayTLSRouteSource ¶
func NewGatewayTLSRouteSource(clients ClientGenerator, config *Config) (Source, error)
NewGatewayTLSRouteSource creates a new Gateway TLSRoute source with the given config.
func NewGatewayUDPRouteSource ¶
func NewGatewayUDPRouteSource(clients ClientGenerator, config *Config) (Source, error)
NewGatewayUDPRouteSource creates a new Gateway UDPRoute source with the given config.
func NewGlooSource ¶
func NewGlooSource(dynamicKubeClient dynamic.Interface, kubeClient kubernetes.Interface, glooNamespaces []string) (Source, error)
NewGlooSource creates a new glooSource with the given config
func NewIngressSource ¶
func NewIngressSource(ctx context.Context, kubeClient kubernetes.Interface, namespace, annotationFilter string, fqdnTemplate string, combineFqdnAnnotation bool, ignoreHostnameAnnotation bool, ignoreIngressTLSSpec bool, ignoreIngressRulesSpec bool, labelSelector labels.Selector, ingressClassNames []string) (Source, error)
NewIngressSource creates a new ingressSource with the given config.
func NewIstioGatewaySource ¶
func NewIstioGatewaySource( ctx context.Context, kubeClient kubernetes.Interface, istioClient istioclient.Interface, namespace string, annotationFilter string, fqdnTemplate string, combineFQDNAnnotation bool, ignoreHostnameAnnotation bool, ) (Source, error)
NewIstioGatewaySource creates a new gatewaySource with the given config.
func NewIstioVirtualServiceSource ¶
func NewIstioVirtualServiceSource( ctx context.Context, kubeClient kubernetes.Interface, istioClient istioclient.Interface, namespace string, annotationFilter string, fqdnTemplate string, combineFQDNAnnotation bool, ignoreHostnameAnnotation bool, ) (Source, error)
NewIstioVirtualServiceSource creates a new virtualServiceSource with the given config.
func NewKongTCPIngressSource ¶
func NewKongTCPIngressSource(ctx context.Context, dynamicKubeClient dynamic.Interface, kubeClient kubernetes.Interface, namespace string, annotationFilter string, ignoreHostnameAnnotation bool) (Source, error)
NewKongTCPIngressSource creates a new kongTCPIngressSource with the given config.
func NewMultiSource ¶
NewMultiSource creates a new multiSource.
func NewNAT64Source ¶
NewNAT64Source creates a new nat64Source wrapping the provided Source.
func NewNodeSource ¶
func NewNodeSource(ctx context.Context, kubeClient kubernetes.Interface, annotationFilter, fqdnTemplate string, labelSelector labels.Selector) (Source, error)
NewNodeSource creates a new nodeSource with the given config.
func NewOcpRouteSource ¶
func NewOcpRouteSource( ctx context.Context, ocpClient versioned.Interface, namespace string, annotationFilter string, fqdnTemplate string, combineFQDNAnnotation bool, ignoreHostnameAnnotation bool, labelSelector labels.Selector, ocpRouterName string, ) (Source, error)
NewOcpRouteSource creates a new ocpRouteSource with the given config.
func NewPodSource ¶
func NewPodSource(ctx context.Context, kubeClient kubernetes.Interface, namespace string, compatibility string) (Source, error)
NewPodSource creates a new podSource with the given config.
func NewRouteGroupSource ¶
func NewRouteGroupSource(timeout time.Duration, token, tokenPath, apiServerURL, namespace, annotationFilter, fqdnTemplate, routegroupVersion string, combineFqdnAnnotation, ignoreHostnameAnnotation bool) (Source, error)
NewRouteGroupSource creates a new routeGroupSource with the given config.
func NewServiceSource ¶
func NewServiceSource(ctx context.Context, kubeClient kubernetes.Interface, namespace, annotationFilter string, fqdnTemplate string, combineFqdnAnnotation bool, compatibility string, publishInternal bool, publishHostIP bool, alwaysPublishNotReadyAddresses bool, serviceTypeFilter []string, ignoreHostnameAnnotation bool, labelSelector labels.Selector, resolveLoadBalancerHostname bool) (Source, error)
NewServiceSource creates a new serviceSource with the given config.
func NewTargetFilterSource ¶
func NewTargetFilterSource(source Source, targetFilter endpoint.TargetFilterInterface) Source
NewTargetFilterSource creates a new targetFilterSource wrapping the provided Source.
type TCPIngress ¶
type TCPIngress struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec tcpIngressSpec `json:"spec,omitempty"` Status tcpIngressStatus `json:"status,omitempty"` }
Kong types based on https://github.com/Kong/kubernetes-ingress-controller/blob/v1.2.0/pkg/apis/configuration/v1beta1/types.go to facilitate testing When trying to import them from the Kong repo as a dependency it required upgrading the k8s.io/client-go and k8s.io/apimachinery which seemed cause several changes in how the mock clients were working that resulted in a bunch of failures in other tests If that is dealt with at some point the below can be removed and replaced with an actual import
func (*TCPIngress) DeepCopy ¶
func (in *TCPIngress) DeepCopy() *TCPIngress
func (*TCPIngress) DeepCopyInto ¶
func (in *TCPIngress) DeepCopyInto(out *TCPIngress)
func (*TCPIngress) DeepCopyObject ¶
func (in *TCPIngress) DeepCopyObject() runtime.Object
type TCPIngressList ¶
type TCPIngressList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TCPIngress `json:"items"` }
func (*TCPIngressList) DeepCopy ¶
func (in *TCPIngressList) DeepCopy() *TCPIngressList
func (*TCPIngressList) DeepCopyInto ¶
func (in *TCPIngressList) DeepCopyInto(out *TCPIngressList)
func (*TCPIngressList) DeepCopyObject ¶
func (in *TCPIngressList) DeepCopyObject() runtime.Object
type UnstructuredConverter ¶
type UnstructuredConverter struct {
// contains filtered or unexported fields
}
UnstructuredConverter handles conversions between unstructured.Unstructured and Contour types
func NewUnstructuredConverter ¶
func NewUnstructuredConverter() (*UnstructuredConverter, error)
NewUnstructuredConverter returns a new UnstructuredConverter initialized
Source Files ¶
- ambassador_host.go
- cloudfoundry.go
- compatibility.go
- connector.go
- contour_httpproxy.go
- crd.go
- dedupsource.go
- empty.go
- f5_virtualserver.go
- fake.go
- gateway.go
- gateway_grpcroute.go
- gateway_hostname.go
- gateway_httproute.go
- gateway_tcproute.go
- gateway_tlsroute.go
- gateway_udproute.go
- gloo_proxy.go
- ingress.go
- istio_gateway.go
- istio_virtualservice.go
- kong_tcpingress.go
- multisource.go
- nat64source.go
- node.go
- openshift_route.go
- pod.go
- service.go
- skipper_routegroup.go
- source.go
- store.go
- targetfiltersource.go
- traefik_proxy.go
- unstructured_converter.go