v1alpha1

package
v0.0.0-...-bf671a6 Latest Latest
Warning

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

Go to latest
Published: Nov 28, 2024 License: Apache-2.0 Imports: 16 Imported by: 107

Documentation

Overview

+k8s:deepcopy-gen=package +groupName=networking.internal.knative.dev

Index

Constants

View Source
const (
	// IngressConditionReady is set when the Ingress networking setting is
	// configured and it has a load balancer address.
	IngressConditionReady = apis.ConditionReady

	// IngressConditionNetworkConfigured is set when the Ingress's underlying
	// network programming has been configured.  This doesn't include conditions of the
	// backends, so even if this should remain true when network is configured and backends
	// are not ready.
	IngressConditionNetworkConfigured apis.ConditionType = "NetworkConfigured"

	// IngressConditionLoadBalancerReady is set when the Ingress has a ready LoadBalancer.
	IngressConditionLoadBalancerReady apis.ConditionType = "LoadBalancerReady"
)

ConditionType represents a Ingress condition value

View Source
const (
	// ServerlessServiceConditionReady is set when the ingress networking setting is
	// configured and it has a load balancer address.
	ServerlessServiceConditionReady = apis.ConditionReady

	// ServerlessServiceConditionEndspointsPopulated is set when the ServerlessService's underlying
	// Revision K8s Service has been populated with endpoints.
	ServerlessServiceConditionEndspointsPopulated apis.ConditionType = "EndpointsPopulated"

	// ActivatorEndpointsPopulated is an informational status that reports
	// when the revision is backed by activator points. This might happen even if
	// revision is active (no pods yet created) or even when it has healthy pods
	// (e.g. due to target burst capacity settings).
	ActivatorEndpointsPopulated apis.ConditionType = "ActivatorEndpointsPopulated"
)

ConditionType represents a ServerlessService condition value

View Source
const (
	// CertificateConditionReady is set when the requested certificate
	// is provisioned and valid.
	CertificateConditionReady = apis.ConditionReady
)

ConditionType represents a Certificate condition value

Variables

View Source
var (
	// SchemeBuilder builds a scheme with the types known to the package.
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme adds the types known to this package to an existing schema.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: networking.GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type Certificate

type Certificate struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the desired state of the Certificate.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	// +optional
	Spec CertificateSpec `json:"spec,omitempty"`

	// Status is the current state of the Certificate.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	// +optional
	Status CertificateStatus `json:"status,omitempty"`
}

Certificate is responsible for provisioning a SSL certificate for the given hosts. It is a Knative abstraction for various SSL certificate provisioning solutions (such as cert-manager or self-signed SSL certificate).

func (*Certificate) DeepCopy

func (in *Certificate) DeepCopy() *Certificate

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

func (*Certificate) DeepCopyInto

func (in *Certificate) DeepCopyInto(out *Certificate)

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

func (*Certificate) DeepCopyObject

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

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

func (*Certificate) GetConditionSet

func (*Certificate) GetConditionSet() apis.ConditionSet

GetConditionSet retrieves the condition set for this resource. Implements the KRShaped interface.

func (*Certificate) GetGroupVersionKind

func (c *Certificate) GetGroupVersionKind() schema.GroupVersionKind

GetGroupVersionKind returns the GroupVersionKind of Certificate.

func (*Certificate) GetStatus

func (c *Certificate) GetStatus() *duckv1.Status

GetStatus retrieves the status of the Certificate. Implements the KRShaped interface.

func (*Certificate) IsFailed

func (c *Certificate) IsFailed() bool

IsFailed returns true is the Certificate ready is false and the Certificate resource has been observed.

func (*Certificate) IsReady

func (c *Certificate) IsReady() bool

IsReady returns true is the Certificate is ready and the Certificate resource has been observed.

func (*Certificate) SetDefaults

func (c *Certificate) SetDefaults(context.Context)

SetDefaults sets the default values for Certificate. Currently it is required that all of the fields of Certificate are provisioned by the client. Therefore, SetDefaults does nothing right now.

func (*Certificate) Validate

func (c *Certificate) Validate(ctx context.Context) *apis.FieldError

Validate inspects and validates Certificate object.

type CertificateList

type CertificateList struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items is the list of `Certificate`.
	Items []Certificate `json:"items"`
}

CertificateList is a collection of `Certificate`.

func (*CertificateList) DeepCopy

func (in *CertificateList) DeepCopy() *CertificateList

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

func (*CertificateList) DeepCopyInto

func (in *CertificateList) DeepCopyInto(out *CertificateList)

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

func (*CertificateList) DeepCopyObject

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

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

type CertificateSpec

type CertificateSpec struct {
	// DNSNames is a list of DNS names the Certificate could support.
	// The wildcard format of DNSNames (e.g. *.default.example.com) is supported.
	DNSNames []string `json:"dnsNames"`

	// Domain is the top level domain of the values for DNSNames.
	// +optional
	Domain string `json:"domain,omitempty"`

	// SecretName is the name of the secret resource to store the SSL certificate in.
	SecretName string `json:"secretName"`
}

CertificateSpec defines the desired state of a `Certificate`.

func (*CertificateSpec) DeepCopy

func (in *CertificateSpec) DeepCopy() *CertificateSpec

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

func (*CertificateSpec) DeepCopyInto

func (in *CertificateSpec) DeepCopyInto(out *CertificateSpec)

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

func (*CertificateSpec) Validate

func (spec *CertificateSpec) Validate(_ context.Context) (all *apis.FieldError)

Validate inspects and validates CertificateSpec object.

type CertificateStatus

type CertificateStatus struct {
	// When Certificate status is ready, it means:
	// - The target secret exists
	// - The target secret contains a certificate that has not expired
	// - The target secret contains a private key valid for the certificate
	duckv1.Status `json:",inline"`

	// The expiration time of the TLS certificate stored in the secret named
	// by this resource in spec.secretName.
	// +optional
	NotAfter *metav1.Time `json:"notAfter,omitempty"`

	// HTTP01Challenges is a list of HTTP01 challenges that need to be fulfilled
	// in order to get the TLS certificate..
	HTTP01Challenges []HTTP01Challenge `json:"http01Challenges,omitempty"`
}

CertificateStatus defines the observed state of a `Certificate`.

func (*CertificateStatus) DeepCopy

func (in *CertificateStatus) DeepCopy() *CertificateStatus

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

func (*CertificateStatus) DeepCopyInto

func (in *CertificateStatus) DeepCopyInto(out *CertificateStatus)

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

func (*CertificateStatus) GetCondition

func (cs *CertificateStatus) GetCondition(t apis.ConditionType) *apis.Condition

GetCondition gets a specific condition of the Certificate status.

func (*CertificateStatus) InitializeConditions

func (cs *CertificateStatus) InitializeConditions()

InitializeConditions initializes the certificate conditions.

func (*CertificateStatus) MarkFailed

func (cs *CertificateStatus) MarkFailed(reason, message string)

MarkFailed marks the certificate as not ready.

func (*CertificateStatus) MarkNotReady

func (cs *CertificateStatus) MarkNotReady(reason, message string)

MarkNotReady marks the certificate status as unknown.

func (*CertificateStatus) MarkReady

func (cs *CertificateStatus) MarkReady()

MarkReady marks the certificate as ready to use.

func (*CertificateStatus) MarkResourceNotOwned

func (cs *CertificateStatus) MarkResourceNotOwned(kind, name string)

MarkResourceNotOwned changes the ready condition to false to reflect that we don't own the resource of the given kind and name.

type ClusterDomainClaim

type ClusterDomainClaim struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the desired state of the ClusterDomainClaim.
	// More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	// +optional
	Spec ClusterDomainClaimSpec `json:"spec,omitempty"`
}

ClusterDomainClaim is a cluster-wide reservation for a particular domain name.

func (*ClusterDomainClaim) DeepCopy

func (in *ClusterDomainClaim) DeepCopy() *ClusterDomainClaim

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

func (*ClusterDomainClaim) DeepCopyInto

func (in *ClusterDomainClaim) DeepCopyInto(out *ClusterDomainClaim)

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

func (*ClusterDomainClaim) DeepCopyObject

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

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

func (*ClusterDomainClaim) GetGroupVersionKind

func (*ClusterDomainClaim) GetGroupVersionKind() schema.GroupVersionKind

GetGroupVersionKind returns SchemeGroupVersion of a ClusterDomainClaim.

type ClusterDomainClaimList

type ClusterDomainClaimList struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object metadata.
	// More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items is the list of ClusterDomainClaim objects.
	Items []ClusterDomainClaim `json:"items"`
}

ClusterDomainClaimList is a collection of ClusterDomainClaim objects.

func (*ClusterDomainClaimList) DeepCopy

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

func (*ClusterDomainClaimList) DeepCopyInto

func (in *ClusterDomainClaimList) DeepCopyInto(out *ClusterDomainClaimList)

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

func (*ClusterDomainClaimList) DeepCopyObject

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

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

type ClusterDomainClaimSpec

type ClusterDomainClaimSpec struct {
	// Namespace is the namespace which is allowed to create a DomainMapping
	// using this ClusterDomainClaim's name.
	Namespace string `json:"namespace"`
}

ClusterDomainClaimSpec is the desired state of the ClusterDomainClaim. Its only field is `namespace`, which controls which namespace currently owns the ability to create a DomainMapping with the ClusterDomainClaim's name.

func (*ClusterDomainClaimSpec) DeepCopy

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

func (*ClusterDomainClaimSpec) DeepCopyInto

func (in *ClusterDomainClaimSpec) DeepCopyInto(out *ClusterDomainClaimSpec)

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

type HTTP01Challenge

type HTTP01Challenge struct {
	// URL is the URL that the HTTP01 challenge is expected to serve on.
	URL *apis.URL `json:"url,omitempty"`

	// ServiceName is the name of the service to serve HTTP01 challenge requests.
	ServiceName string `json:"serviceName,omitempty"`

	// ServiceNamespace is the namespace of the service to serve HTTP01 challenge requests.
	ServiceNamespace string `json:"serviceNamespace,omitempty"`

	// ServicePort is the port of the service to serve HTTP01 challenge requests.
	ServicePort intstr.IntOrString `json:"servicePort,omitempty"`
}

HTTP01Challenge defines the status of a HTTP01 challenge that a certificate needs to fulfill.

func (*HTTP01Challenge) DeepCopy

func (in *HTTP01Challenge) DeepCopy() *HTTP01Challenge

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

func (*HTTP01Challenge) DeepCopyInto

func (in *HTTP01Challenge) DeepCopyInto(out *HTTP01Challenge)

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

type HTTPIngressPath

type HTTPIngressPath struct {
	// Path represents a literal prefix to which this rule should apply.
	// Currently it can contain characters disallowed from the conventional
	// "path" part of a URL as defined by RFC 3986. Paths must begin with
	// a '/'. If unspecified, the path defaults to a catch all sending
	// traffic to the backend.
	// +optional
	Path string `json:"path,omitempty"`

	// RewriteHost rewrites the incoming request's host header.
	//
	// This field is currently experimental and not supported by all Ingress
	// implementations.
	RewriteHost string `json:"rewriteHost,omitempty"`

	// Headers defines header matching rules which is a map from a header name
	// to HeaderMatch which specify a matching condition.
	// When a request matched with all the header matching rules,
	// the request is routed by the corresponding ingress rule.
	// If it is empty, the headers are not used for matching
	// +optional
	Headers map[string]HeaderMatch `json:"headers,omitempty"`

	// Splits defines the referenced service endpoints to which the traffic
	// will be forwarded to.
	Splits []IngressBackendSplit `json:"splits"`

	// AppendHeaders allow specifying additional HTTP headers to add
	// before forwarding a request to the destination service.
	//
	// NOTE: This differs from K8s Ingress which doesn't allow header appending.
	// +optional
	AppendHeaders map[string]string `json:"appendHeaders,omitempty"`
}

HTTPIngressPath associates a path regex with a backend. Incoming URLs matching the path are forwarded to the backend.

func (*HTTPIngressPath) DeepCopy

func (in *HTTPIngressPath) DeepCopy() *HTTPIngressPath

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

func (*HTTPIngressPath) DeepCopyInto

func (in *HTTPIngressPath) DeepCopyInto(out *HTTPIngressPath)

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

func (*HTTPIngressPath) SetDefaults

func (h *HTTPIngressPath) SetDefaults(_ context.Context)

SetDefaults populates default values in HTTPIngressPath

func (HTTPIngressPath) Validate

func (h HTTPIngressPath) Validate(ctx context.Context) *apis.FieldError

Validate inspects and validates HTTPIngressPath object.

type HTTPIngressRuleValue

type HTTPIngressRuleValue struct {
	// A collection of paths that map requests to backends.
	//
	// If they are multiple matching paths, the first match takes precedence.
	Paths []HTTPIngressPath `json:"paths"`
}

HTTPIngressRuleValue is a list of http selectors pointing to backends. In the example: http://<host>/<path>?<searchpart> -> backend where where parts of the url correspond to RFC 3986, this resource will be used to match against everything after the last '/' and before the first '?' or '#'.

func (*HTTPIngressRuleValue) DeepCopy

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

func (*HTTPIngressRuleValue) DeepCopyInto

func (in *HTTPIngressRuleValue) DeepCopyInto(out *HTTPIngressRuleValue)

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

func (*HTTPIngressRuleValue) SetDefaults

func (h *HTTPIngressRuleValue) SetDefaults(ctx context.Context)

SetDefaults populates default values in HTTPIngressRuleValue

func (*HTTPIngressRuleValue) Validate

Validate inspects and validates HTTPIngressRuleValue object.

type HTTPOption

type HTTPOption string
const (
	// HTTPOptionEnabled defines that the knative ingress will be able to serve HTTP
	// connections.
	HTTPOptionEnabled HTTPOption = "Enabled"
	// HTTPOptionRedirected defines that the knative will return redirection HTTP status
	// for the clients, asking the clients to redirect their requests to HTTPS.
	HTTPOptionRedirected HTTPOption = "Redirected"
)

func (HTTPOption) Validate

func (t HTTPOption) Validate(_ context.Context) (all *apis.FieldError)

type HTTPRetry

type HTTPRetry struct {
	// Number of retries for a given request.
	Attempts int `json:"attempts"`

	// Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.
	PerTryTimeout *metav1.Duration `json:"perTryTimeout"`
}

HTTPRetry is DEPRECATED. Retry is not used in KIngress.

func (*HTTPRetry) DeepCopy

func (in *HTTPRetry) DeepCopy() *HTTPRetry

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

func (*HTTPRetry) DeepCopyInto

func (in *HTTPRetry) DeepCopyInto(out *HTTPRetry)

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

type HeaderMatch

type HeaderMatch struct {
	Exact string `json:"exact"`
}

HeaderMatch represents a matching value of Headers in HTTPIngressPath. Currently, only the exact matching is supported.

func (*HeaderMatch) DeepCopy

func (in *HeaderMatch) DeepCopy() *HeaderMatch

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

func (*HeaderMatch) DeepCopyInto

func (in *HeaderMatch) DeepCopyInto(out *HeaderMatch)

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

type Ingress

type Ingress struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the desired state of the Ingress.
	// More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	// +optional
	Spec IngressSpec `json:"spec,omitempty"`

	// Status is the current state of the Ingress.
	// More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	// +optional
	Status IngressStatus `json:"status,omitempty"`
}

Ingress is a collection of rules that allow inbound connections to reach the endpoints defined by a backend. An Ingress can be configured to give services externally-reachable URLs, load balance traffic, offer name based virtual hosting, etc.

This is heavily based on K8s Ingress https://godoc.org/k8s.io/api/networking/v1beta1#Ingress which some highlighted modifications.

func (*Ingress) DeepCopy

func (in *Ingress) DeepCopy() *Ingress

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

func (*Ingress) DeepCopyInto

func (in *Ingress) DeepCopyInto(out *Ingress)

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

func (*Ingress) DeepCopyObject

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

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

func (*Ingress) GetConditionSet

func (*Ingress) GetConditionSet() apis.ConditionSet

GetConditionSet retrieves the condition set for this resource. Implements the KRShaped interface.

func (*Ingress) GetGroupVersionKind

func (i *Ingress) GetGroupVersionKind() schema.GroupVersionKind

GetGroupVersionKind returns SchemeGroupVersion of an Ingress

func (*Ingress) GetIngressTLSForVisibility

func (i *Ingress) GetIngressTLSForVisibility(visibility IngressVisibility) []IngressTLS

GetIngressTLSForVisibility returns a list of `Spec.TLS` where each host in the `Rules.Hosts` field is present in `Spec.TLS.Hosts` and where the Rules have the defined ingress visibility. This method can be used in net-* implementations to select the correct `IngressTLS` entries for cluster-local and cluster-external gateways/listeners.

func (*Ingress) GetStatus

func (i *Ingress) GetStatus() *duckv1.Status

GetStatus retrieves the status of the Ingress. Implements the KRShaped interface.

func (*Ingress) IsReady

func (i *Ingress) IsReady() bool

IsReady returns true if the Status condition MetricConditionReady is true and the latest spec has been observed.

func (*Ingress) SetDefaults

func (i *Ingress) SetDefaults(ctx context.Context)

SetDefaults populates default values in Ingress

func (*Ingress) Validate

func (i *Ingress) Validate(ctx context.Context) *apis.FieldError

Validate inspects and validates Ingress object.

type IngressBackend

type IngressBackend struct {
	// Specifies the namespace of the referenced service.
	//
	// NOTE: This differs from K8s Ingress to allow routing to different namespaces.
	ServiceNamespace string `json:"serviceNamespace"`

	// Specifies the name of the referenced service.
	ServiceName string `json:"serviceName"`

	// Specifies the port of the referenced service.
	ServicePort intstr.IntOrString `json:"servicePort"`
}

IngressBackend describes all endpoints for a given service and port.

func (*IngressBackend) DeepCopy

func (in *IngressBackend) DeepCopy() *IngressBackend

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

func (*IngressBackend) DeepCopyInto

func (in *IngressBackend) DeepCopyInto(out *IngressBackend)

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

func (IngressBackend) Validate

func (b IngressBackend) Validate(ctx context.Context) *apis.FieldError

Validate inspects the fields of the type IngressBackend to determine if they are valid.

type IngressBackendSplit

type IngressBackendSplit struct {
	// Specifies the backend receiving the traffic split.
	IngressBackend `json:",inline"`

	// Specifies the split percentage, a number between 0 and 100.  If
	// only one split is specified, we default to 100.
	//
	// NOTE: This differs from K8s Ingress to allow percentage split.
	Percent int `json:"percent,omitempty"`

	// AppendHeaders allow specifying additional HTTP headers to add
	// before forwarding a request to the destination service.
	//
	// NOTE: This differs from K8s Ingress which doesn't allow header appending.
	// +optional
	AppendHeaders map[string]string `json:"appendHeaders,omitempty"`
}

IngressBackendSplit describes all endpoints for a given service and port.

func (*IngressBackendSplit) DeepCopy

func (in *IngressBackendSplit) DeepCopy() *IngressBackendSplit

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

func (*IngressBackendSplit) DeepCopyInto

func (in *IngressBackendSplit) DeepCopyInto(out *IngressBackendSplit)

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

func (IngressBackendSplit) Validate

Validate inspects and validates HTTPIngressPath object.

type IngressList

type IngressList struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object metadata.
	// More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items is the list of Ingress objects.
	Items []Ingress `json:"items"`
}

IngressList is a collection of Ingress objects.

func (*IngressList) DeepCopy

func (in *IngressList) DeepCopy() *IngressList

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

func (*IngressList) DeepCopyInto

func (in *IngressList) DeepCopyInto(out *IngressList)

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

func (*IngressList) DeepCopyObject

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

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

type IngressRule

type IngressRule struct {
	// Host is the fully qualified domain name of a network host, as defined
	// by RFC 3986. Note the following deviations from the "host" part of the
	// URI as defined in the RFC:
	// 1. IPs are not allowed. Currently a rule value can only apply to the
	//	  IP in the Spec of the parent .
	// 2. The `:` delimiter is not respected because ports are not allowed.
	//	  Currently the port of an Ingress is implicitly :80 for http and
	//	  :443 for https.
	// Both these may change in the future.
	// If the host is unspecified, the Ingress routes all traffic based on the
	// specified IngressRuleValue.
	// If multiple matching Hosts were provided, the first rule will take precedent.
	// +optional
	Hosts []string `json:"hosts,omitempty"`

	// Visibility signifies whether this rule should `ClusterLocal`. If it's not
	// specified then it defaults to `ExternalIP`.
	Visibility IngressVisibility `json:"visibility,omitempty"`

	// HTTP represents a rule to apply against incoming requests. If the
	// rule is satisfied, the request is routed to the specified backend.
	HTTP *HTTPIngressRuleValue `json:"http,omitempty"`
}

IngressRule represents the rules mapping the paths under a specified host to the related backend services. Incoming requests are first evaluated for a host match, then routed to the backend associated with the matching IngressRuleValue.

func (*IngressRule) DeepCopy

func (in *IngressRule) DeepCopy() *IngressRule

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

func (*IngressRule) DeepCopyInto

func (in *IngressRule) DeepCopyInto(out *IngressRule)

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

func (*IngressRule) SetDefaults

func (r *IngressRule) SetDefaults(ctx context.Context)

SetDefaults populates default values in IngressRule

func (*IngressRule) Validate

func (r *IngressRule) Validate(ctx context.Context) *apis.FieldError

Validate inspects and validates IngressRule object.

type IngressSpec

type IngressSpec struct {
	// TLS configuration. Currently Ingress only supports a single TLS
	// port: 443. If multiple members of this list specify different hosts, they
	// will be multiplexed on the same port according to the hostname specified
	// through the SNI TLS extension, if the ingress controller fulfilling the
	// ingress supports SNI.
	// +optional
	TLS []IngressTLS `json:"tls,omitempty"`

	// A list of host rules used to configure the Ingress.
	// +optional
	Rules []IngressRule `json:"rules,omitempty"`

	// HTTPOption is the option of HTTP. It has the following two values:
	// `HTTPOptionEnabled`, `HTTPOptionRedirected`
	HTTPOption HTTPOption `json:"httpOption,omitempty"`
}

IngressSpec describes the Ingress the user wishes to exist.

In general this follows the same shape as K8s Ingress. Some notable differences: - Backends now can have namespace: - Traffic can be split across multiple backends. - Timeout & Retry can be configured. - Headers can be appended.

func (*IngressSpec) DeepCopy

func (in *IngressSpec) DeepCopy() *IngressSpec

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

func (*IngressSpec) DeepCopyInto

func (in *IngressSpec) DeepCopyInto(out *IngressSpec)

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

func (*IngressSpec) SetDefaults

func (is *IngressSpec) SetDefaults(ctx context.Context)

SetDefaults populates default values in IngressSpec

func (*IngressSpec) Validate

func (is *IngressSpec) Validate(ctx context.Context) *apis.FieldError

Validate inspects and validates IngressSpec object.

type IngressStatus

type IngressStatus struct {
	duckv1.Status `json:",inline"`

	// PublicLoadBalancer contains the current status of the load-balancer.
	// +optional
	PublicLoadBalancer *LoadBalancerStatus `json:"publicLoadBalancer,omitempty"`

	// PrivateLoadBalancer contains the current status of the load-balancer.
	// +optional
	PrivateLoadBalancer *LoadBalancerStatus `json:"privateLoadBalancer,omitempty"`
}

IngressStatus describe the current state of the Ingress.

func (*IngressStatus) DeepCopy

func (in *IngressStatus) DeepCopy() *IngressStatus

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

func (*IngressStatus) DeepCopyInto

func (in *IngressStatus) DeepCopyInto(out *IngressStatus)

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

func (*IngressStatus) GetCondition

func (is *IngressStatus) GetCondition(t apis.ConditionType) *apis.Condition

GetCondition returns the current condition of a given condition type

func (*IngressStatus) InitializeConditions

func (is *IngressStatus) InitializeConditions()

InitializeConditions initializes conditions of an IngressStatus

func (*IngressStatus) MarkIngressNotReady

func (is *IngressStatus) MarkIngressNotReady(reason, message string)

MarkIngressNotReady marks the "IngressConditionReady" condition to unknown.

func (*IngressStatus) MarkLoadBalancerFailed

func (is *IngressStatus) MarkLoadBalancerFailed(reason, message string)

MarkLoadBalancerFailed marks the "IngressConditionLoadBalancerReady" condition to false.

func (*IngressStatus) MarkLoadBalancerNotReady

func (is *IngressStatus) MarkLoadBalancerNotReady()

MarkLoadBalancerNotReady marks the "IngressConditionLoadBalancerReady" condition to unknown to reflect that the load balancer is not ready yet.

func (*IngressStatus) MarkLoadBalancerReady

func (is *IngressStatus) MarkLoadBalancerReady(publicLbs []LoadBalancerIngressStatus, privateLbs []LoadBalancerIngressStatus)

MarkLoadBalancerReady marks the Ingress with IngressConditionLoadBalancerReady, and also populate the address of the load balancer.

func (*IngressStatus) MarkNetworkConfigured

func (is *IngressStatus) MarkNetworkConfigured()

MarkNetworkConfigured set IngressConditionNetworkConfigured in IngressStatus as true

func (*IngressStatus) MarkResourceNotOwned

func (is *IngressStatus) MarkResourceNotOwned(kind, name string)

MarkResourceNotOwned changes the "NetworkConfigured" condition to false to reflect that the resource of the given kind and name has already been created, and we do not own it.

type IngressTLS

type IngressTLS struct {
	// Hosts is a list of hosts included in the TLS certificate. The values in
	// this list must match the name/s used in the tlsSecret. Defaults to the
	// wildcard host setting for the loadbalancer controller fulfilling this
	// Ingress, if left unspecified.
	// +optional
	Hosts []string `json:"hosts,omitempty"`

	// SecretName is the name of the secret used to terminate SSL traffic.
	SecretName string `json:"secretName,omitempty"`

	// SecretNamespace is the namespace of the secret used to terminate SSL traffic.
	// If not set the namespace should be assumed to be the same as the Ingress.
	// If set the secret should have the same namespace as the Ingress otherwise
	// the behaviour is undefined and not supported.
	//
	// +optional
	SecretNamespace string `json:"secretNamespace,omitempty"`
}

IngressTLS describes the transport layer security associated with an Ingress.

func (*IngressTLS) DeepCopy

func (in *IngressTLS) DeepCopy() *IngressTLS

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

func (*IngressTLS) DeepCopyInto

func (in *IngressTLS) DeepCopyInto(out *IngressTLS)

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

func (*IngressTLS) SetDefaults

func (t *IngressTLS) SetDefaults(_ context.Context)

SetDefaults populates default values in IngressTLS

func (*IngressTLS) Validate

func (t *IngressTLS) Validate(_ context.Context) *apis.FieldError

Validate inspects and validates IngressTLS object.

type IngressVisibility

type IngressVisibility string

IngressVisibility describes whether the Ingress should be exposed to public gateways or not.

const (
	// IngressVisibilityExternalIP is used to denote that the Ingress
	// should be exposed via an external IP, for example a LoadBalancer
	// Service.  This is the default value for IngressVisibility.
	IngressVisibilityExternalIP IngressVisibility = "ExternalIP"
	// IngressVisibilityClusterLocal is used to denote that the Ingress
	// should be only be exposed locally to the cluster.
	IngressVisibilityClusterLocal IngressVisibility = "ClusterLocal"
)

type LoadBalancerIngressStatus

type LoadBalancerIngressStatus struct {
	// IP is set for load-balancer ingress points that are IP based
	// (typically GCE or OpenStack load-balancers)
	// +optional
	IP string `json:"ip,omitempty"`

	// Domain is set for load-balancer ingress points that are DNS based
	// (typically AWS load-balancers)
	// +optional
	Domain string `json:"domain,omitempty"`

	// DomainInternal is set if there is a cluster-local DNS name to access the Ingress.
	//
	// NOTE: This differs from K8s Ingress, since we also desire to have a cluster-local
	//       DNS name to allow routing in case of not having a mesh.
	//
	// +optional
	DomainInternal string `json:"domainInternal,omitempty"`

	// MeshOnly is set if the Ingress is only load-balanced through a Service mesh.
	// +optional
	MeshOnly bool `json:"meshOnly,omitempty"`
}

LoadBalancerIngressStatus represents the status of a load-balancer ingress point: traffic intended for the service should be sent to an ingress point.

func (*LoadBalancerIngressStatus) DeepCopy

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

func (*LoadBalancerIngressStatus) DeepCopyInto

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

type LoadBalancerStatus

type LoadBalancerStatus struct {
	// Ingress is a list containing ingress points for the load-balancer.
	// Traffic intended for the service should be sent to these ingress points.
	// +optional
	Ingress []LoadBalancerIngressStatus `json:"ingress,omitempty"`
}

LoadBalancerStatus represents the status of a load-balancer.

func (*LoadBalancerStatus) DeepCopy

func (in *LoadBalancerStatus) DeepCopy() *LoadBalancerStatus

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

func (*LoadBalancerStatus) DeepCopyInto

func (in *LoadBalancerStatus) DeepCopyInto(out *LoadBalancerStatus)

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

type ServerlessService

type ServerlessService struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the desired state of the ServerlessService.
	// More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	// +optional
	Spec ServerlessServiceSpec `json:"spec,omitempty"`

	// Status is the current state of the ServerlessService.
	// More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	// +optional
	Status ServerlessServiceStatus `json:"status,omitempty"`
}

ServerlessService is a proxy for the K8s service objects containing the endpoints for the revision, whether those are endpoints of the activator or revision pods. See: https://knative.page.link/naxz for details.

func (*ServerlessService) DeepCopy

func (in *ServerlessService) DeepCopy() *ServerlessService

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

func (*ServerlessService) DeepCopyInto

func (in *ServerlessService) DeepCopyInto(out *ServerlessService)

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

func (*ServerlessService) DeepCopyObject

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

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

func (*ServerlessService) GetConditionSet

func (*ServerlessService) GetConditionSet() apis.ConditionSet

GetConditionSet retrieves the condition set for this resource. Implements the KRShaped interface.

func (*ServerlessService) GetGroupVersionKind

func (ss *ServerlessService) GetGroupVersionKind() schema.GroupVersionKind

GetGroupVersionKind returns the GVK for the ServerlessService.

func (*ServerlessService) GetStatus

func (ss *ServerlessService) GetStatus() *duckv1.Status

GetStatus retrieves the status of the ServerlessService. Implements the KRShaped interface.

func (*ServerlessService) IsReady

func (ss *ServerlessService) IsReady() bool

IsReady returns true if the Status condition Ready is true and the latest spec has been observed.

func (*ServerlessService) SetDefaults

func (ss *ServerlessService) SetDefaults(ctx context.Context)

SetDefaults sets default values on the ServerlessServiceSpec.

func (*ServerlessService) Validate

func (ss *ServerlessService) Validate(ctx context.Context) (errs *apis.FieldError)

Validate inspects and validates ClusterServerlessService object.

type ServerlessServiceList

type ServerlessServiceList struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items is the list of ServerlessService.
	Items []ServerlessService `json:"items"`
}

ServerlessServiceList is a collection of ServerlessService.

func (*ServerlessServiceList) DeepCopy

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

func (*ServerlessServiceList) DeepCopyInto

func (in *ServerlessServiceList) DeepCopyInto(out *ServerlessServiceList)

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

func (*ServerlessServiceList) DeepCopyObject

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

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

type ServerlessServiceOperationMode

type ServerlessServiceOperationMode string

ServerlessServiceOperationMode is an enumeration of the modes of operation for the ServerlessService.

const (
	// SKSOperationModeServe is reserved for the state when revision
	// pods are serving using traffic.
	SKSOperationModeServe ServerlessServiceOperationMode = "Serve"

	// SKSOperationModeProxy is reserved for the state when activator
	// pods are serving using traffic.
	SKSOperationModeProxy ServerlessServiceOperationMode = "Proxy"
)

type ServerlessServiceSpec

type ServerlessServiceSpec struct {
	// Mode describes the mode of operation of the ServerlessService.
	Mode ServerlessServiceOperationMode `json:"mode,omitempty"`

	// ObjectRef defines the resource that this ServerlessService
	// is responsible for making "serverless".
	ObjectRef corev1.ObjectReference `json:"objectRef"`

	// The application-layer protocol. Matches `RevisionProtocolType` set on the owning pa/revision.
	// serving imports networking, so just use string.
	ProtocolType networking.ProtocolType `json:"protocolType"`

	// NumActivators contains number of Activators that this revision should be
	// assigned.
	// O means — assign all.
	NumActivators int32 `json:"numActivators,omitempty"`
}

ServerlessServiceSpec describes the ServerlessService.

func (*ServerlessServiceSpec) DeepCopy

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

func (*ServerlessServiceSpec) DeepCopyInto

func (in *ServerlessServiceSpec) DeepCopyInto(out *ServerlessServiceSpec)

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

func (*ServerlessServiceSpec) SetDefaults

func (*ServerlessServiceSpec) SetDefaults(_ context.Context)

SetDefaults sets default values on the ServerlessServiceSpec.

func (*ServerlessServiceSpec) Validate

func (sss *ServerlessServiceSpec) Validate(ctx context.Context) *apis.FieldError

Validate inspects and validates ServerlessServiceSpec object.

type ServerlessServiceStatus

type ServerlessServiceStatus struct {
	duckv1.Status `json:",inline"`

	// ServiceName holds the name of a core K8s Service resource that
	// load balances over the pods backing this Revision (activator or revision).
	// +optional
	ServiceName string `json:"serviceName,omitempty"`

	// PrivateServiceName holds the name of a core K8s Service resource that
	// load balances over the user service pods backing this Revision.
	// +optional
	PrivateServiceName string `json:"privateServiceName,omitempty"`
}

ServerlessServiceStatus describes the current state of the ServerlessService.

func (*ServerlessServiceStatus) DeepCopy

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

func (*ServerlessServiceStatus) DeepCopyInto

func (in *ServerlessServiceStatus) DeepCopyInto(out *ServerlessServiceStatus)

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

func (*ServerlessServiceStatus) GetCondition

GetCondition returns the value of the condition `t`.

func (*ServerlessServiceStatus) InitializeConditions

func (sss *ServerlessServiceStatus) InitializeConditions()

InitializeConditions initializes the conditions.

func (*ServerlessServiceStatus) MarkActivatorEndpointsPopulated

func (sss *ServerlessServiceStatus) MarkActivatorEndpointsPopulated()

MarkActivatorEndpointsPopulated is setting the ActivatorEndpointsPopulated to True.

func (*ServerlessServiceStatus) MarkActivatorEndpointsRemoved

func (sss *ServerlessServiceStatus) MarkActivatorEndpointsRemoved()

MarkActivatorEndpointsRemoved is setting the ActivatorEndpointsPopulated to False.

func (*ServerlessServiceStatus) MarkEndpointsNotOwned

func (sss *ServerlessServiceStatus) MarkEndpointsNotOwned(kind, name string)

MarkEndpointsNotOwned marks that we don't own K8s service.

func (*ServerlessServiceStatus) MarkEndpointsNotReady

func (sss *ServerlessServiceStatus) MarkEndpointsNotReady(reason string)

MarkEndpointsNotReady marks the ServerlessServiceStatus endpoints populated condition to unknown.

func (*ServerlessServiceStatus) MarkEndpointsReady

func (sss *ServerlessServiceStatus) MarkEndpointsReady()

MarkEndpointsReady marks the ServerlessServiceStatus endpoints populated condition to true.

func (*ServerlessServiceStatus) ProxyFor

func (sss *ServerlessServiceStatus) ProxyFor() time.Duration

ProxyFor returns how long it has been since Activator was moved to the request path.

Jump to

Keyboard shortcuts

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