Documentation ¶
Overview ¶
+k8s:deepcopy-gen=package +groupName=networking.internal.knative.dev
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type Certificate
- func (in *Certificate) DeepCopy() *Certificate
- func (in *Certificate) DeepCopyInto(out *Certificate)
- func (in *Certificate) DeepCopyObject() runtime.Object
- func (c *Certificate) GetGroupVersionKind() schema.GroupVersionKind
- func (c *Certificate) SetDefaults(context.Context)
- func (c *Certificate) Validate(ctx context.Context) *apis.FieldError
- type CertificateList
- type CertificateSpec
- type CertificateStatus
- func (in *CertificateStatus) DeepCopy() *CertificateStatus
- func (in *CertificateStatus) DeepCopyInto(out *CertificateStatus)
- func (cs *CertificateStatus) GetCondition(t apis.ConditionType) *apis.Condition
- func (cs *CertificateStatus) InitializeConditions()
- func (cs *CertificateStatus) IsReady() bool
- func (cs *CertificateStatus) MarkFailed(reason, message string)
- func (cs *CertificateStatus) MarkNotReady(reason, message string)
- func (cs *CertificateStatus) MarkReady()
- func (cs *CertificateStatus) MarkResourceNotOwned(kind, name string)
- type HTTP01Challenge
- type HTTPIngressPath
- type HTTPIngressRuleValue
- type HTTPRetry
- type Ingress
- func (in *Ingress) DeepCopy() *Ingress
- func (in *Ingress) DeepCopyInto(out *Ingress)
- func (in *Ingress) DeepCopyObject() runtime.Object
- func (i *Ingress) GetGroupVersionKind() schema.GroupVersionKind
- func (i *Ingress) IsPublic() bool
- func (i *Ingress) SetDefaults(ctx context.Context)
- func (i *Ingress) Validate(ctx context.Context) *apis.FieldError
- type IngressBackend
- type IngressBackendSplit
- type IngressList
- type IngressRule
- type IngressSpec
- type IngressStatus
- func (in *IngressStatus) DeepCopy() *IngressStatus
- func (in *IngressStatus) DeepCopyInto(out *IngressStatus)
- func (is *IngressStatus) GetCondition(t apis.ConditionType) *apis.Condition
- func (is *IngressStatus) InitializeConditions()
- func (is *IngressStatus) IsReady() bool
- func (is *IngressStatus) MarkIngressNotReady(reason, message string)
- func (is *IngressStatus) MarkLoadBalancerFailed(reason, message string)
- func (is *IngressStatus) MarkLoadBalancerNotReady()
- func (is *IngressStatus) MarkLoadBalancerReady(lbs []LoadBalancerIngressStatus, publicLbs []LoadBalancerIngressStatus, ...)
- func (is *IngressStatus) MarkNetworkConfigured()
- func (is *IngressStatus) MarkResourceNotOwned(kind, name string)
- type IngressTLS
- type IngressVisibility
- type LoadBalancerIngressStatus
- type LoadBalancerStatus
- type ServerlessService
- func (in *ServerlessService) DeepCopy() *ServerlessService
- func (in *ServerlessService) DeepCopyInto(out *ServerlessService)
- func (in *ServerlessService) DeepCopyObject() runtime.Object
- func (ss *ServerlessService) GetGroupVersionKind() schema.GroupVersionKind
- func (c *ServerlessService) SetDefaults(ctx context.Context)
- func (ci *ServerlessService) Validate(ctx context.Context) *apis.FieldError
- type ServerlessServiceList
- type ServerlessServiceOperationMode
- type ServerlessServiceSpec
- type ServerlessServiceStatus
- func (in *ServerlessServiceStatus) DeepCopy() *ServerlessServiceStatus
- func (in *ServerlessServiceStatus) DeepCopyInto(out *ServerlessServiceStatus)
- func (sss *ServerlessServiceStatus) GetCondition(t apis.ConditionType) *apis.Condition
- func (sss *ServerlessServiceStatus) InitializeConditions()
- func (sss *ServerlessServiceStatus) IsReady() bool
- func (sss *ServerlessServiceStatus) MarkActivatorEndpointsPopulated()
- func (sss *ServerlessServiceStatus) MarkActivatorEndpointsRemoved()
- func (sss *ServerlessServiceStatus) MarkEndpointsNotOwned(kind, name string)
- func (sss *ServerlessServiceStatus) MarkEndpointsNotReady(reason string)
- func (sss *ServerlessServiceStatus) MarkEndpointsReady()
- func (sss *ServerlessServiceStatus) ProxyFor() time.Duration
Constants ¶
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
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
const ( // CertificateConditionReady is set when the requested certificate // is provisioned and valid. CertificateConditionReady = apis.ConditionReady )
ConditionType represents a Certificate condition value
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: networking.GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type Certificate ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *Certificate) DeepCopy() *Certificate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Certificate.
func (*Certificate) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *Certificate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Certificate) GetGroupVersionKind ¶ added in v0.5.0
func (c *Certificate) GetGroupVersionKind() schema.GroupVersionKind
GetGroupVersionKind returns the GroupVersionKind of Certificate.
func (*Certificate) SetDefaults ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (c *Certificate) Validate(ctx context.Context) *apis.FieldError
Validate inspects and validates Certificate object.
type CertificateList ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *CertificateList) DeepCopy() *CertificateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateList.
func (*CertificateList) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *CertificateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CertificateSpec ¶ added in v0.5.0
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"` // 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 ¶ added in v0.5.0
func (in *CertificateSpec) DeepCopy() *CertificateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateSpec.
func (*CertificateSpec) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (spec *CertificateSpec) Validate(ctx context.Context) *apis.FieldError
Validate inspects and validates CertificateSpec object.
type CertificateStatus ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *CertificateStatus) DeepCopy() *CertificateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateStatus.
func (*CertificateStatus) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (cs *CertificateStatus) GetCondition(t apis.ConditionType) *apis.Condition
GetCondition gets a specific condition of the Certificate status.
func (*CertificateStatus) InitializeConditions ¶ added in v0.5.0
func (cs *CertificateStatus) InitializeConditions()
InitializeConditions initializes the certificate conditions.
func (*CertificateStatus) IsReady ¶ added in v0.5.0
func (cs *CertificateStatus) IsReady() bool
IsReady returns true is the Certificate is ready.
func (*CertificateStatus) MarkFailed ¶ added in v0.9.0
func (cs *CertificateStatus) MarkFailed(reason, message string)
MarkFailed marks the certificate as not ready.
func (*CertificateStatus) MarkNotReady ¶ added in v0.6.0
func (cs *CertificateStatus) MarkNotReady(reason, message string)
MarkNotReady marks the certificate status as unknown.
func (*CertificateStatus) MarkReady ¶ added in v0.5.0
func (cs *CertificateStatus) MarkReady()
MarkReady marks the certificate as ready to use.
func (*CertificateStatus) MarkResourceNotOwned ¶ added in v0.6.0
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 HTTP01Challenge ¶ added in v0.7.0
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 ¶ added in v0.7.0
func (in *HTTP01Challenge) DeepCopy() *HTTP01Challenge
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTP01Challenge.
func (*HTTP01Challenge) DeepCopyInto ¶ added in v0.7.0
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 ¶ added in v0.7.0
type HTTPIngressPath struct { // Path is an extended POSIX regex as defined by IEEE Std 1003.1, // (i.e this follows the egrep/unix syntax, not the perl syntax) // matched against the path of an incoming request. 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"` // 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"` // Timeout for HTTP requests. // // NOTE: This differs from K8s Ingress which doesn't allow setting timeouts. // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // Retry policy for HTTP requests. // // NOTE: This differs from K8s Ingress which doesn't allow retry settings. // +optional Retries *HTTPRetry `json:"retries,omitempty"` }
HTTPIngressPath associates a path regex with a backend. Incoming URLs matching the path are forwarded to the backend.
func (*HTTPIngressPath) DeepCopy ¶ added in v0.7.0
func (in *HTTPIngressPath) DeepCopy() *HTTPIngressPath
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPIngressPath.
func (*HTTPIngressPath) DeepCopyInto ¶ added in v0.7.0
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 ¶ added in v0.7.0
func (p *HTTPIngressPath) SetDefaults(ctx context.Context)
SetDefaults populates default values in HTTPIngressPath
func (HTTPIngressPath) Validate ¶ added in v0.7.0
func (h HTTPIngressPath) Validate(ctx context.Context) *apis.FieldError
Validate inspects and validates HTTPIngressPath object.
type HTTPIngressRuleValue ¶ added in v0.7.0
type HTTPIngressRuleValue struct { // A collection of paths that map requests to backends. // // If they are multiple matching paths, the first match takes precendent. 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 ¶ added in v0.7.0
func (in *HTTPIngressRuleValue) DeepCopy() *HTTPIngressRuleValue
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPIngressRuleValue.
func (*HTTPIngressRuleValue) DeepCopyInto ¶ added in v0.7.0
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 ¶ added in v0.7.0
func (r *HTTPIngressRuleValue) SetDefaults(ctx context.Context)
SetDefaults populates default values in HTTPIngressRuleValue
func (*HTTPIngressRuleValue) Validate ¶ added in v0.7.0
func (h *HTTPIngressRuleValue) Validate(ctx context.Context) *apis.FieldError
Validate inspects and validates HTTPIngressRuleValue object.
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 describes the retry policy to use when a HTTP request fails.
func (*HTTPRetry) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRetry.
func (*HTTPRetry) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Ingress ¶ added in v0.7.0
type Ingress struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // Spec is the desired state of the Ingress. // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status // +optional Spec IngressSpec `json:"spec,omitempty"` // Status is the current state of the Ingress. // More info: https://git.k8s.io/community/contributors/devel/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 ¶ added in v0.7.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ingress.
func (*Ingress) DeepCopyInto ¶ added in v0.7.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Ingress) DeepCopyObject ¶ added in v0.7.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Ingress) GetGroupVersionKind ¶ added in v0.7.0
func (i *Ingress) GetGroupVersionKind() schema.GroupVersionKind
GetGroupVersionKind returns SchemeGroupVersion of an Ingress
func (*Ingress) IsPublic ¶ added in v0.7.0
IsPublic returns whether the Ingress should be exposed publicly.
func (*Ingress) SetDefaults ¶ added in v0.7.0
SetDefaults populates default values in Ingress
type IngressBackend ¶ added in v0.7.0
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 ¶ added in v0.7.0
func (in *IngressBackend) DeepCopy() *IngressBackend
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressBackend.
func (*IngressBackend) DeepCopyInto ¶ added in v0.7.0
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 ¶ added in v0.7.0
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 ¶ added in v0.7.0
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 ¶ added in v0.7.0
func (in *IngressBackendSplit) DeepCopy() *IngressBackendSplit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressBackendSplit.
func (*IngressBackendSplit) DeepCopyInto ¶ added in v0.7.0
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 ¶ added in v0.7.0
func (s IngressBackendSplit) Validate(ctx context.Context) *apis.FieldError
Validate inspects and validates HTTPIngressPath object.
type IngressList ¶ added in v0.7.0
type IngressList struct { metav1.TypeMeta `json:",inline"` // Standard object metadata. // More info: https://git.k8s.io/community/contributors/devel/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 ¶ added in v0.7.0
func (in *IngressList) DeepCopy() *IngressList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressList.
func (*IngressList) DeepCopyInto ¶ added in v0.7.0
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 ¶ added in v0.7.0
func (in *IngressList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IngressRule ¶ added in v0.7.0
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`. // +optional 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 ¶ added in v0.7.0
func (in *IngressRule) DeepCopy() *IngressRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRule.
func (*IngressRule) DeepCopyInto ¶ added in v0.7.0
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 ¶ added in v0.7.0
func (r *IngressRule) SetDefaults(ctx context.Context)
SetDefaults populates default values in IngressRule
func (*IngressRule) Validate ¶ added in v0.7.0
func (r *IngressRule) Validate(ctx context.Context) *apis.FieldError
Validate inspects and validates IngressRule object.
type IngressSpec ¶
type IngressSpec struct { // DeprecatedGeneration was used prior in Kubernetes versions <1.11 // when metadata.generation was not being incremented by the api server // // This property will be dropped in future Knative releases and should // not be used - use metadata.generation // // Tracking issue: https://github.com/knative/serving/issues/643 // // +optional DeprecatedGeneration int64 `json:"generation,omitempty"` // 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"` // Visibility setting. Visibility IngressVisibility `json:"visibility,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 (s *IngressSpec) SetDefaults(ctx context.Context)
SetDefaults populates default values in IngressSpec
func (*IngressSpec) Validate ¶
func (spec *IngressSpec) Validate(ctx context.Context) *apis.FieldError
Validate inspects and validates IngressSpec object.
type IngressStatus ¶
type IngressStatus struct { duckv1.Status `json:",inline"` // LoadBalancer contains the current status of the load-balancer. // This is to be superseded by the combination of `PublicLoadBalancer` and `PrivateLoadBalancer` // +optional LoadBalancer *LoadBalancerStatus `json:"loadBalancer,omitempty"` // 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) IsReady ¶
func (is *IngressStatus) IsReady() bool
IsReady looks at the conditions and if the Status has a condition IngressConditionReady returns true if ConditionStatus is True
func (*IngressStatus) MarkIngressNotReady ¶ added in v0.9.0
func (is *IngressStatus) MarkIngressNotReady(reason, message string)
MarkIngressNotReady marks the "IngressConditionReady" condition to unknown.
func (*IngressStatus) MarkLoadBalancerFailed ¶ added in v0.11.0
func (is *IngressStatus) MarkLoadBalancerFailed(reason, message string)
MarkLoadBalancerFailed marks the "IngressConditionLoadBalancerReady" condition to false.
func (*IngressStatus) MarkLoadBalancerNotReady ¶ added in v0.11.0
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(lbs []LoadBalancerIngressStatus, 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 ¶ added in v0.4.0
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 ¶ added in v0.7.0
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. SecretNamespace string `json:"secretNamespace,omitempty"` // ServerCertificate identifies the certificate filename in the secret. // Defaults to `tls.crt`. // +optional DeprecatedServerCertificate string `json:"serverCertificate,omitempty"` // PrivateKey identifies the private key filename in the secret. // Defaults to `tls.key`. // +optional DeprecatedPrivateKey string `json:"privateKey,omitempty"` }
IngressTLS describes the transport layer security associated with an Ingress.
func (*IngressTLS) DeepCopy ¶ added in v0.7.0
func (in *IngressTLS) DeepCopy() *IngressTLS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressTLS.
func (*IngressTLS) DeepCopyInto ¶ added in v0.7.0
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 ¶ added in v0.7.0
func (t *IngressTLS) SetDefaults(ctx context.Context)
SetDefaults populates default values in IngressTLS
func (*IngressTLS) Validate ¶ added in v0.7.0
func (t *IngressTLS) Validate(ctx context.Context) *apis.FieldError
Validate inspects and validates IngressTLS object.
type IngressVisibility ¶ added in v0.3.0
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 ¶
func (in *LoadBalancerIngressStatus) DeepCopy() *LoadBalancerIngressStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerIngressStatus.
func (*LoadBalancerIngressStatus) DeepCopyInto ¶
func (in *LoadBalancerIngressStatus) DeepCopyInto(out *LoadBalancerIngressStatus)
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 ¶ added in v0.5.0
type ServerlessService struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // Spec is the desired state of the ServerlessService. // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status // +optional Spec ServerlessServiceSpec `json:"spec,omitempty"` // Status is the current state of the ServerlessService. // More info: https://git.k8s.io/community/contributors/devel/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 ¶ added in v0.5.0
func (in *ServerlessService) DeepCopy() *ServerlessService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerlessService.
func (*ServerlessService) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *ServerlessService) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ServerlessService) GetGroupVersionKind ¶ added in v0.5.0
func (ss *ServerlessService) GetGroupVersionKind() schema.GroupVersionKind
GetGroupVersionKind returns the GVK for the ServerlessService.
func (*ServerlessService) SetDefaults ¶ added in v0.5.0
func (c *ServerlessService) SetDefaults(ctx context.Context)
SetDefaults sets default values on the ServerlessServiceSpec.
func (*ServerlessService) Validate ¶ added in v0.5.0
func (ci *ServerlessService) Validate(ctx context.Context) *apis.FieldError
Validate inspects and validates ClusterServerlessService object.
type ServerlessServiceList ¶ added in v0.5.0
type ServerlessServiceList struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/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 ¶ added in v0.5.0
func (in *ServerlessServiceList) DeepCopy() *ServerlessServiceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerlessServiceList.
func (*ServerlessServiceList) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *ServerlessServiceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ServerlessServiceOperationMode ¶ added in v0.5.0
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 ¶ added in v0.5.0
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 // 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 ¶ added in v0.5.0
func (in *ServerlessServiceSpec) DeepCopy() *ServerlessServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerlessServiceSpec.
func (*ServerlessServiceSpec) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (c *ServerlessServiceSpec) SetDefaults(ctx context.Context)
SetDefaults sets default values on the ServerlessServiceSpec.
func (*ServerlessServiceSpec) Validate ¶ added in v0.5.0
func (spec *ServerlessServiceSpec) Validate(ctx context.Context) *apis.FieldError
Validate inspects and validates ServerlessServiceSpec object.
type ServerlessServiceStatus ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *ServerlessServiceStatus) DeepCopy() *ServerlessServiceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerlessServiceStatus.
func (*ServerlessServiceStatus) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (sss *ServerlessServiceStatus) GetCondition(t apis.ConditionType) *apis.Condition
GetCondition returns the value of the condition `t`.
func (*ServerlessServiceStatus) InitializeConditions ¶ added in v0.5.0
func (sss *ServerlessServiceStatus) InitializeConditions()
InitializeConditions initializes the conditions.
func (*ServerlessServiceStatus) IsReady ¶ added in v0.5.0
func (sss *ServerlessServiceStatus) IsReady() bool
IsReady returns true if ServerlessService is ready.
func (*ServerlessServiceStatus) MarkActivatorEndpointsPopulated ¶ added in v0.8.0
func (sss *ServerlessServiceStatus) MarkActivatorEndpointsPopulated()
MarkActivatorEndpointsPopulated is setting the ActivatorEndpointsPopulated to True.
func (*ServerlessServiceStatus) MarkActivatorEndpointsRemoved ¶ added in v0.8.0
func (sss *ServerlessServiceStatus) MarkActivatorEndpointsRemoved()
MarkActivatorEndpointsRemoved is setting the ActivatorEndpointsPopulated to False.
func (*ServerlessServiceStatus) MarkEndpointsNotOwned ¶ added in v0.6.0
func (sss *ServerlessServiceStatus) MarkEndpointsNotOwned(kind, name string)
MarkEndpointsNotOwned marks that we don't own K8s service.
func (*ServerlessServiceStatus) MarkEndpointsNotReady ¶ added in v0.6.0
func (sss *ServerlessServiceStatus) MarkEndpointsNotReady(reason string)
MarkEndpointsNotReady marks the ServerlessServiceStatus endpoints populated condition to unknown.
func (*ServerlessServiceStatus) MarkEndpointsReady ¶ added in v0.6.0
func (sss *ServerlessServiceStatus) MarkEndpointsReady()
MarkEndpointsReady marks the ServerlessServiceStatus endpoints populated condition to true.
func (*ServerlessServiceStatus) ProxyFor ¶ added in v0.8.0
func (sss *ServerlessServiceStatus) ProxyFor() time.Duration
ProxyFor returns how long it has been since Activator was moved to the request path.
Source Files ¶
- certificate_defaults.go
- certificate_lifecycle.go
- certificate_types.go
- certificate_validation.go
- doc.go
- ingress_defaults.go
- ingress_lifecycle.go
- ingress_types.go
- ingress_validation.go
- register.go
- serverlessservice_defaults.go
- serverlessservice_lifecycle.go
- serverlessservice_types.go
- serverlessservice_validation.go
- zz_generated.deepcopy.go