Documentation ¶
Overview ¶
Package v1beta1 is the v1beta1 version of the API. +groupName=contour.heptio.com
Index ¶
Constants ¶
const ( // GroupName is the group name for the Contour API GroupName = "contour.heptio.com" // ResourceKind is the CRD Kind ResourceKind = "IngressRoute" // ResourcePlural is the CRD Kind pluralized ResourcePlural = "ingressroutes" )
Variables ¶
var ( // SchemeBuilder collects the scheme builder functions for the Contour API SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme applies the SchemeBuilder functions to a specified scheme AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"}
SchemeGroupVersion is the GroupVersion for the Contour API
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource gets an Contour GroupResource for a specified resource
Types ¶
type Delegate ¶
type Delegate struct { // Name of the IngressRoute Name string `json:"name"` // Namespace of the IngressRoute Namespace string `json:"namespace,omitempty"` }
Delegate allows for delegating VHosts to other IngressRoutes
func (*Delegate) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Delegate.
func (*Delegate) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheck ¶
type HealthCheck struct { // HTTP endpoint used to perform health checks on upstream service Path string `json:"path"` // The value of the host header in the HTTP health check request. // If left empty (default value), the name "contour-envoy-healthcheck" // will be used. Host string `json:"host,omitempty"` // The interval (seconds) between health checks IntervalSeconds int64 `json:"intervalSeconds"` // The time to wait (seconds) for a health check response TimeoutSeconds int64 `json:"timeoutSeconds"` // The number of unhealthy health checks required before a host is marked unhealthy UnhealthyThresholdCount uint32 `json:"unhealthyThresholdCount"` // The number of healthy health checks required before a host is marked healthy HealthyThresholdCount uint32 `json:"healthyThresholdCount"` }
HealthCheck defines optional healthchecks on the upstream service
func (*HealthCheck) DeepCopy ¶
func (in *HealthCheck) DeepCopy() *HealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheck.
func (*HealthCheck) DeepCopyInto ¶
func (in *HealthCheck) DeepCopyInto(out *HealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressRoute ¶
type IngressRoute struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec IngressRouteSpec `json:"spec"` Status `json:"status"` }
IngressRoute is an Ingress CRD specificiation
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"` metav1.ListMeta `json:"metadata"` Items []IngressRoute `json:"items"` }
IngressRouteList is a list of IngressRoutes
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 IngressRouteSpec ¶
type IngressRouteSpec struct { // Virtualhost appears at most once. If it is present, the object is considered // to be a "root". VirtualHost *VirtualHost `json:"virtualhost,omitempty"` // Routes are the ingress routes. If Forward is present, Routes is ignored. Routes []Route `json:"routes"` // TCPProxy holds TCP proxy information. TCPProxy *TCPProxy `json:"tcpproxy,omitempty"` }
IngressRouteSpec defines the spec of the CRD
func (*IngressRouteSpec) DeepCopy ¶
func (in *IngressRouteSpec) DeepCopy() *IngressRouteSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRouteSpec.
func (*IngressRouteSpec) DeepCopyInto ¶
func (in *IngressRouteSpec) DeepCopyInto(out *IngressRouteSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Route ¶
type Route struct { // Match defines the prefix match Match string `json:"match"` // Services are the services to proxy traffic Services []Service `json:"services,omitempty"` // Delegate specifies that this route should be delegated to another IngressRoute Delegate *Delegate `json:"delegate,omitempty"` // Enables websocket support for the route EnableWebsockets bool `json:"enableWebsockets,omitempty"` // Allow this path to respond to insecure requests over HTTP which are normally // not permitted when a `virtualhost.tls` block is present. PermitInsecure bool `json:"permitInsecure,omitempty"` // Indicates that during forwarding, the matched prefix (or path) should be swapped with this value PrefixRewrite string `json:"prefixRewrite,omitempty"` }
Route contains the set of routes for a virtual host
func (*Route) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Route.
func (*Route) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Service ¶
type Service struct { // Name is the name of Kubernetes service to proxy traffic. // Names defined here will be used to look up corresponding endpoints which contain the ips to route. Name string `json:"name"` // Port (defined as Integer) to proxy traffic to since a service can have multiple defined Port int `json:"port"` // Weight defines percentage of traffic to balance traffic Weight int `json:"weight,omitempty"` // HealthCheck defines optional healthchecks on the upstream service HealthCheck *HealthCheck `json:"healthCheck,omitempty"` // LB Algorithm to apply (see https://github.com/heptio/contour/blob/master/design/ingressroute-design.md#load-balancing) Strategy string `json:"strategy,omitempty"` }
Service defines an upstream to proxy traffic to
func (*Service) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.
func (*Service) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Status ¶
type Status struct { CurrentStatus string `json:"currentStatus"` Description string `json:"description"` }
Status reports the current state of the IngressRoute
func (*Status) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Status.
func (*Status) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPProxy ¶ added in v0.8.0
type TCPProxy struct { // Services are the services to proxy traffic Services []Service `json:"services,omitempty"` }
TCPProxy contains the set of services to proxy TCP connections.
func (*TCPProxy) DeepCopy ¶ added in v0.8.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPProxy.
func (*TCPProxy) DeepCopyInto ¶ added in v0.8.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLS ¶
type TLS struct { // required, the name of a secret in the current namespace SecretName string `json:"secretName"` // Minimum TLS version this vhost should negotiate MinimumProtocolVersion string `json:"minimumProtocolVersion,omitempty"` }
TLS describes tls properties. The CNI names that will be matched on are described in fqdn, the tls.secretName secret must contain a matching certificate
func (*TLS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLS.
func (*TLS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualHost ¶
type VirtualHost struct { // The fully qualified domain name of the root of the ingress tree // all leaves of the DAG rooted at this object relate to the fqdn Fqdn string `json:"fqdn"` // If present describes tls properties. The CNI names that will be matched on // are described in fqdn, the tls.secretName secret must contain a // matching certificate TLS *TLS `json:"tls,omitempty"` }
VirtualHost appears at most once. If it is present, the object is considered to be a "root".
func (*VirtualHost) DeepCopy ¶
func (in *VirtualHost) DeepCopy() *VirtualHost
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualHost.
func (*VirtualHost) DeepCopyInto ¶
func (in *VirtualHost) DeepCopyInto(out *VirtualHost)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.