v1beta1

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 1, 2019 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package v1beta1 is the v1beta1 version of the API. +groupName=contour.heptio.com

Index

Constants

View Source
const (
	// GroupName is the group name for the Contour API
	GroupName = "contour.heptio.com"
)

Variables

View Source
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
)
View Source
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 CertificateDelegation added in v0.10.0

type CertificateDelegation struct {

	// required, the name of a secret in the current namespace.
	SecretName string `json:"secretName"`

	// required, the namespaces the authority to reference the
	// the secret will be delegated to.
	// If TargetNamespaces is nil or empty, the CertificateDelegation'
	// is ignored. If the TargetNamespace list contains the character, "*"
	// the secret will be delegated to all namespaces.
	TargetNamespaces []string `json:"targetNamespaces"`
}

CertificateDelegation maps the authority to reference a secret in the current namespace to a set of namespaces.

func (*CertificateDelegation) DeepCopy added in v0.10.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateDelegation.

func (*CertificateDelegation) DeepCopyInto added in v0.10.0

func (in *CertificateDelegation) DeepCopyInto(out *CertificateDelegation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Delegate

type Delegate struct {
	// Name of the IngressRoute
	Name string `json:"name"`
	// Namespace of the IngressRoute. Defaults to the current namespace if not supplied.
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

Delegate allows for delegating VHosts to other IngressRoutes

func (*Delegate) DeepCopy

func (in *Delegate) DeepCopy() *Delegate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Delegate.

func (*Delegate) DeepCopyInto

func (in *Delegate) DeepCopyInto(out *Delegate)

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.
	// +optional
	Host string `json:"host,omitempty"`
	// The interval (seconds) between health checks
	// +optional
	IntervalSeconds int64 `json:"intervalSeconds"`
	// The time to wait (seconds) for a health check response
	// +optional
	TimeoutSeconds int64 `json:"timeoutSeconds"`
	// The number of unhealthy health checks required before a host is marked unhealthy
	// +optional
	UnhealthyThresholdCount uint32 `json:"unhealthyThresholdCount"`
	// The number of healthy health checks required before a host is marked healthy
	// +optional
	HealthyThresholdCount uint32 `json:"healthyThresholdCount"`
}

HealthCheck defines health checks 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"`
	// +optional
	projcontour.Status `json:"status"`
}

IngressRoute is an Ingress CRD specificiation +k8s:openapi-gen=true +kubebuilder:printcolumn:name="FQDN",type="string",JSONPath=".spec.virtualhost.fqdn",description="Fully qualified domain name" +kubebuilder:printcolumn:name="TLS Secret",type="string",JSONPath=".spec.virtualhost.tls.secretName",description="Secret with TLS credentials" +kubebuilder:printcolumn:name="First route",type="string",JSONPath=".spec.routes[0].match",description="First routes defined" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.currentStatus",description="The current status of the HTTPProxy" +kubebuilder:printcolumn:name="Status Description",type="string",JSONPath=".status.description",description="Description of the current status" +kubebuilder:resource:path=ingressroutes,singular=ingressroute

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".
	// +optional
	VirtualHost *projcontour.VirtualHost `json:"virtualhost,omitempty"`
	// Routes are the ingress routes. If TCPProxy is present, Routes is ignored.
	Routes []Route `json:"routes,omitempty"`
	// TCPProxy holds TCP proxy information.
	// +optional
	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
	// +optional
	Services []Service `json:"services,omitempty"`
	// Delegate specifies that this route should be delegated to another IngressRoute
	// +optional
	Delegate *Delegate `json:"delegate,omitempty"`
	// Enables websocket support for the route
	// +optional
	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.
	// +optional
	PermitInsecure bool `json:"permitInsecure,omitempty"`
	// Indicates that during forwarding, the matched prefix (or path) should be swapped with this value
	// +optional
	PrefixRewrite string `json:"prefixRewrite,omitempty"`
	// The timeout policy for this route
	// +optional
	TimeoutPolicy *TimeoutPolicy `json:"timeoutPolicy,omitempty"`
	// The retry policy for this route
	// +optional
	RetryPolicy *projcontour.RetryPolicy `json:"retryPolicy,omitempty"`
}

Route contains the set of routes for a virtual host

func (*Route) DeepCopy

func (in *Route) DeepCopy() *Route

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Route.

func (*Route) DeepCopyInto

func (in *Route) DeepCopyInto(out *Route)

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
	// +optional
	Weight uint32 `json:"weight,omitempty"`
	// HealthCheck defines optional healthchecks on the upstream service
	// +optional
	HealthCheck *HealthCheck `json:"healthCheck,omitempty"`
	// LB Algorithm to apply (see https://github.com/projectcontour/contour/blob/master/design/ingressroute-design.md#load-balancing)
	// +optional
	Strategy string `json:"strategy,omitempty"`
	// UpstreamValidation defines how to verify the backend service's certificate
	// +optional
	UpstreamValidation *projcontour.UpstreamValidation `json:"validation,omitempty"`
}

Service defines an upstream to proxy traffic to

func (*Service) DeepCopy

func (in *Service) DeepCopy() *Service

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.

func (*Service) DeepCopyInto

func (in *Service) DeepCopyInto(out *Service)

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
	// +optional
	Services []Service `json:"services,omitempty"`
	// Delegate specifies that this tcpproxy should be delegated to another IngressRoute
	// +optional
	Delegate *Delegate `json:"delegate,omitempty"`
}

TCPProxy contains the set of services to proxy TCP connections.

func (*TCPProxy) DeepCopy added in v0.8.0

func (in *TCPProxy) DeepCopy() *TCPProxy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPProxy.

func (*TCPProxy) DeepCopyInto added in v0.8.0

func (in *TCPProxy) DeepCopyInto(out *TCPProxy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TLSCertificateDelegation added in v0.10.0

type TLSCertificateDelegation struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`

	Spec TLSCertificateDelegationSpec `json:"spec"`
}

TLSCertificateDelegation is an TLS Certificate Delegation CRD specificiation. See design/tls-certificate-delegation.md for details.

func (*TLSCertificateDelegation) DeepCopy added in v0.10.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSCertificateDelegation.

func (*TLSCertificateDelegation) DeepCopyInto added in v0.10.0

func (in *TLSCertificateDelegation) DeepCopyInto(out *TLSCertificateDelegation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TLSCertificateDelegation) DeepCopyObject added in v0.10.0

func (in *TLSCertificateDelegation) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TLSCertificateDelegationList added in v0.10.0

type TLSCertificateDelegationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []TLSCertificateDelegation `json:"items"`
}

TLSCertificateDelegationList is a list of TLSCertificateDelegations.

func (*TLSCertificateDelegationList) DeepCopy added in v0.10.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSCertificateDelegationList.

func (*TLSCertificateDelegationList) DeepCopyInto added in v0.10.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TLSCertificateDelegationList) DeepCopyObject added in v0.10.0

func (in *TLSCertificateDelegationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TLSCertificateDelegationSpec added in v0.10.0

type TLSCertificateDelegationSpec struct {
	Delegations []CertificateDelegation `json:"delegations"`
}

TLSCertificateDelegationSpec defines the spec of the CRD

func (*TLSCertificateDelegationSpec) DeepCopy added in v0.10.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSCertificateDelegationSpec.

func (*TLSCertificateDelegationSpec) DeepCopyInto added in v0.10.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TimeoutPolicy added in v1.0.0

type TimeoutPolicy struct {
	// Timeout for receiving a response from the server after processing a request from client.
	// If not supplied the timeout duration is undefined.
	// +optional
	Request string `json:"request"`
}

TimeoutPolicy define the attributes associated with timeout

func (*TimeoutPolicy) DeepCopy added in v1.0.0

func (in *TimeoutPolicy) DeepCopy() *TimeoutPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeoutPolicy.

func (*TimeoutPolicy) DeepCopyInto added in v1.0.0

func (in *TimeoutPolicy) DeepCopyInto(out *TimeoutPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL