v1beta1

package
v0.10.0-1.2.0-adobe Latest Latest
Warning

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

Go to latest
Published: Mar 11, 2019 License: Apache-2.0 Imports: 6 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
	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 Duration

type Duration struct {
	time.Duration
}

func (Duration) MarshalJSON

func (recv Duration) MarshalJSON() ([]byte, error)

func (*Duration) UnmarshalJSON

func (recv *Duration) UnmarshalJSON(bs []byte) (err error)

type HashPolicy

type HashPolicy struct {
	Header *HashPolicyHeader `json:"header,omitempty"`

	Cookie *HashPolicyCookie `json:"cookie,omitempty"`

	ConnectionProperties *HashPolicyConnectionProperties `json:"connectionProperties,omitempty"`

	Terminal bool `json:"terminal,omitempty"`
}

type HashPolicyConnectionProperties

type HashPolicyConnectionProperties struct {
	SourceIp bool `json:"sourceIp"`
}

type HashPolicyCookie

type HashPolicyCookie struct {
	Name string    `json:"name"`
	Ttl  *Duration `json:"ttl,omitempty"`
	Path string    `json:"path,omitempty"`
}

type HashPolicyHeader

type HashPolicyHeader struct {
	HeaderName string `json:"headerName"`
}

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 TCPProxy 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"`

	HashPolicy []HashPolicy `json:"hashPolicy,omitempty"`

	PerFilterConfig map[string]interface{} `json:"perFilterConfig,omitempty"`

	Timeout *Duration `json:"timeout,omitempty"`

	IdleTimeout *Duration `json:"idleTimeout,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
	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

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 Status

type Status struct {
	CurrentStatus string `json:"currentStatus"`
	Description   string `json:"description"`
}

Status reports the current state of the IngressRoute

func (*Status) DeepCopy

func (in *Status) DeepCopy() *Status

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

func (*Status) DeepCopyInto

func (in *Status) DeepCopyInto(out *Status)

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"`
	// Delegate specifies that this tcpproxy should be delegated to another IngressRoute
	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 TLS

type TLS struct {
	// required, the name of a secret in the current namespace
	SecretName string `json:"secretName,omitempty"`
	// Minimum TLS version this vhost should negotiate
	MinimumProtocolVersion string `json:"minimumProtocolVersion,omitempty"`
	// If Passthrough is set to true, the SecretName will be ignored
	// and the encrypted handshake will be passed through to the
	// backing cluster.
	Passthrough bool `json:"passthrough,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 unless tls.passthrough is set to true.

func (*TLS) DeepCopy

func (in *TLS) DeepCopy() *TLS

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

func (*TLS) DeepCopyInto

func (in *TLS) DeepCopyInto(out *TLS)

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"`
}

TLSCertificateDelefgation 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 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.

Jump to

Keyboard shortcuts

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