Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the projectcontour.io v1alpha1 API group
+kubebuilder:object:generate=true +k8s:deepcopy-gen=package +groupName=projectcontour.io
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "projectcontour.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
var ExtensionServiceGVR = GroupVersion.WithResource("extensionservices")
Functions ¶
This section is empty.
Types ¶
type ExtensionProtocolVersion ¶
type ExtensionProtocolVersion string
ExtensionProtocolVersion is the version of the GRPC protocol used to access extension services. The only version currently supported is "v3".
const ( // SupportProtocolVersion2 requests the "v2" support protocol version. // // Deprecated: this protocol version is no longer supported and the // constant is retained for backwards compatibility only. SupportProtocolVersion2 ExtensionProtocolVersion = "v2" // SupportProtocolVersion3 requests the "v3" support protocol version. SupportProtocolVersion3 ExtensionProtocolVersion = "v3" )
type ExtensionService ¶
type ExtensionService struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ExtensionServiceSpec `json:"spec,omitempty"` Status ExtensionServiceStatus `json:"status,omitempty"` }
ExtensionService is the schema for the Contour extension services API. An ExtensionService resource binds a network service to the Contour API so that Contour API features can be implemented by collaborating components.
func (*ExtensionService) DeepCopy ¶
func (in *ExtensionService) DeepCopy() *ExtensionService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionService.
func (*ExtensionService) DeepCopyInto ¶
func (in *ExtensionService) DeepCopyInto(out *ExtensionService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExtensionService) DeepCopyObject ¶
func (in *ExtensionService) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ExtensionServiceList ¶
type ExtensionServiceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ExtensionService `json:"items"` }
ExtensionServiceList contains a list of ExtensionService resources.
func (*ExtensionServiceList) DeepCopy ¶
func (in *ExtensionServiceList) DeepCopy() *ExtensionServiceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionServiceList.
func (*ExtensionServiceList) DeepCopyInto ¶
func (in *ExtensionServiceList) DeepCopyInto(out *ExtensionServiceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExtensionServiceList) DeepCopyObject ¶
func (in *ExtensionServiceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ExtensionServiceSpec ¶
type ExtensionServiceSpec struct { // Services specifies the set of Kubernetes Service resources that // receive GRPC extension API requests. // If no weights are specified for any of the entries in // this array, traffic will be spread evenly across all the // services. // Otherwise, traffic is balanced proportionally to the // Weight field in each entry. // // +required // +kubebuilder:validation:MinItems=1 Services []ExtensionServiceTarget `json:"services"` // UpstreamValidation defines how to verify the backend service's certificate // +optional UpstreamValidation *contour_api_v1.UpstreamValidation `json:"validation,omitempty"` // Protocol may be used to specify (or override) the protocol used to reach this Service. // Values may be tls, h2, h2c. If omitted, protocol-selection falls back on Service annotations. // // +optional // +kubebuilder:validation:Enum=h2;h2c Protocol *string `json:"protocol,omitempty"` // The policy for load balancing GRPC service requests. Note that the // `Cookie` and `RequestHash` load balancing strategies cannot be used // here. // // +optional LoadBalancerPolicy *contour_api_v1.LoadBalancerPolicy `json:"loadBalancerPolicy,omitempty"` // The timeout policy for requests to the services. // // +optional TimeoutPolicy *contour_api_v1.TimeoutPolicy `json:"timeoutPolicy,omitempty"` // This field sets the version of the GRPC protocol that Envoy uses to // send requests to the extension service. Since Contour always uses the // v3 Envoy API, this is currently fixed at "v3". However, other // protocol options will be available in future. // // +optional // +kubebuilder:validation:Enum=v3 ProtocolVersion ExtensionProtocolVersion `json:"protocolVersion,omitempty"` }
ExtensionServiceSpec defines the desired state of an ExtensionService resource.
func (*ExtensionServiceSpec) DeepCopy ¶
func (in *ExtensionServiceSpec) DeepCopy() *ExtensionServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionServiceSpec.
func (*ExtensionServiceSpec) DeepCopyInto ¶
func (in *ExtensionServiceSpec) DeepCopyInto(out *ExtensionServiceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExtensionServiceStatus ¶
type ExtensionServiceStatus struct { // Conditions contains the current status of the ExtensionService resource. // // Contour will update a single condition, `Valid`, that is in normal-true polarity. // // Contour will not modify any other Conditions set in this block, // in case some other controller wants to add a Condition. // // +optional // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []contour_api_v1.DetailedCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` }
ExtensionServiceStatus defines the observed state of an ExtensionService resource.
func (*ExtensionServiceStatus) DeepCopy ¶
func (in *ExtensionServiceStatus) DeepCopy() *ExtensionServiceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionServiceStatus.
func (*ExtensionServiceStatus) DeepCopyInto ¶
func (in *ExtensionServiceStatus) DeepCopyInto(out *ExtensionServiceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExtensionServiceStatus) GetConditionFor ¶ added in v1.9.0
func (status *ExtensionServiceStatus) GetConditionFor(condType string) *contour_api_v1.DetailedCondition
GetConditionFor returns the a pointer to the condition for a given type, or nil if there are none currently present.
type ExtensionServiceTarget ¶ added in v1.9.0
type ExtensionServiceTarget struct { // Name is the name of Kubernetes service that will accept service // traffic. // // +required Name string `json:"name"` // Port (defined as Integer) to proxy traffic to since a service can have multiple defined. // // +required // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65536 // +kubebuilder:validation:ExclusiveMinimum=false // +kubebuilder:validation:ExclusiveMaximum=true Port int `json:"port"` // Weight defines proportion of traffic to balance to the Kubernetes Service. // // +optional Weight uint32 `json:"weight,omitempty"` }
ExtensionServiceTarget defines an Kubernetes Service to target with extension service traffic.
func (*ExtensionServiceTarget) DeepCopy ¶ added in v1.9.0
func (in *ExtensionServiceTarget) DeepCopy() *ExtensionServiceTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionServiceTarget.
func (*ExtensionServiceTarget) DeepCopyInto ¶ added in v1.9.0
func (in *ExtensionServiceTarget) DeepCopyInto(out *ExtensionServiceTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.