v1beta1

package
v0.0.0-...-398e186 Latest Latest
Warning

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

Go to latest
Published: Jun 9, 2023 License: BSD-3-Clause, Apache-2.0 Imports: 3 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"
	// ResourceKind is the CRD Kind
	ResourceKind = "IngressRoute"
	// ResourcePlural is the CRD Kind pluralized
	ResourcePlural = "ingressroutes"
)

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 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 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
	Routes []Route `json:"routes"`
}

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

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

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