Documentation
¶
Overview ¶
+kubebuilder:object:generate=true +groupName=gateway.openmcp.cloud
Index ¶
Constants ¶
const ( OperationAnnotation = "gateway." + openmcpconst.OperationAnnotation GatewayFinalizerOnCluster = "platformservice." + openmcpconst.OpenMCPGroupName + "/gateway" )
const GroupName = "gateway." + apiconst.OpenMCPGroupName
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type ClusterRef ¶
type ClusterRef struct {
// Name of the referenced Cluster.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
// Namespace of the referenced Cluster.
// +kubebuilder:default=default
Namespace string `json:"namespace"`
}
func (*ClusterRef) DeepCopy ¶
func (in *ClusterRef) DeepCopy() *ClusterRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRef.
func (*ClusterRef) DeepCopyInto ¶
func (in *ClusterRef) DeepCopyInto(out *ClusterRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSelector ¶
type ClusterSelector struct {
// MatchLabels selects clusters based on labels.
MatchLabels map[string]string `json:"matchLabels,omitempty"`
// MatchPurpose selects clusters based on purpose.
MatchPurpose string `json:"matchPurpose,omitempty"`
}
func (*ClusterSelector) DeepCopy ¶
func (in *ClusterSelector) DeepCopy() *ClusterSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSelector.
func (*ClusterSelector) DeepCopyInto ¶
func (in *ClusterSelector) DeepCopyInto(out *ClusterSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterTerm ¶
type ClusterTerm struct {
// Selector for multiple clusters using labels and purpose.
Selector *ClusterSelector `json:"selector,omitempty"`
// ClusterRef can be used to reference a single cluster.
ClusterRef *ClusterRef `json:"clusterRef,omitempty"`
}
func (*ClusterTerm) DeepCopy ¶
func (in *ClusterTerm) DeepCopy() *ClusterTerm
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTerm.
func (*ClusterTerm) DeepCopyInto ¶
func (in *ClusterTerm) DeepCopyInto(out *ClusterTerm)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSConfig ¶
type DNSConfig struct {
// BaseDomain is the domain from which subdomains will be derived. Example: dev.openmcp.example.com.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
BaseDomain string `json:"baseDomain"`
}
func (*DNSConfig) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSConfig.
func (*DNSConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyGatewayChart ¶
type EnvoyGatewayChart struct {
// URL to the chart. Default: oci://docker.io/envoyproxy/gateway-helm
// +kubebuilder:default="oci://docker.io/envoyproxy/gateway-helm"
URL string `json:"url"`
// Tag of the chart. Example: 1.5.4
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Tag string `json:"tag"`
}
func (*EnvoyGatewayChart) DeepCopy ¶
func (in *EnvoyGatewayChart) DeepCopy() *EnvoyGatewayChart
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyGatewayChart.
func (*EnvoyGatewayChart) DeepCopyInto ¶
func (in *EnvoyGatewayChart) DeepCopyInto(out *EnvoyGatewayChart)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyGatewayConfig ¶
type EnvoyGatewayConfig struct {
// Images overrides container image locations for Envoy components.
Images *ImagesConfig `json:"images,omitempty"`
// Chart configuration for Envoy Gateway.
Chart EnvoyGatewayChart `json:"chart"`
}
func (*EnvoyGatewayConfig) DeepCopy ¶
func (in *EnvoyGatewayConfig) DeepCopy() *EnvoyGatewayConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyGatewayConfig.
func (*EnvoyGatewayConfig) DeepCopyInto ¶
func (in *EnvoyGatewayConfig) DeepCopyInto(out *EnvoyGatewayConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GatewayServiceConfig ¶
type GatewayServiceConfig struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec GatewayServiceConfigSpec `json:"spec,omitempty"`
}
GatewayServiceConfig is the Schema for the Gateway PlatformService configuration API
func (*GatewayServiceConfig) DeepCopy ¶
func (in *GatewayServiceConfig) DeepCopy() *GatewayServiceConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayServiceConfig.
func (*GatewayServiceConfig) DeepCopyInto ¶
func (in *GatewayServiceConfig) DeepCopyInto(out *GatewayServiceConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GatewayServiceConfig) DeepCopyObject ¶
func (in *GatewayServiceConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GatewayServiceConfigList ¶
type GatewayServiceConfigList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []GatewayServiceConfig `json:"items"`
}
GatewayServiceConfigList contains a list of GatewayServiceConfig
func (*GatewayServiceConfigList) DeepCopy ¶
func (in *GatewayServiceConfigList) DeepCopy() *GatewayServiceConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayServiceConfigList.
func (*GatewayServiceConfigList) DeepCopyInto ¶
func (in *GatewayServiceConfigList) DeepCopyInto(out *GatewayServiceConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GatewayServiceConfigList) DeepCopyObject ¶
func (in *GatewayServiceConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GatewayServiceConfigSpec ¶
type GatewayServiceConfigSpec struct {
// EnvoyGateway configuration.
EnvoyGateway EnvoyGatewayConfig `json:"envoyGateway"`
// Clusters that should be included in the gateway configuration.
Clusters []ClusterTerm `json:"clusters,omitempty"`
// DNS configuration.
DNS DNSConfig `json:"dns"`
}
GatewayServiceConfigSpec defines the desired state of GatewayServiceConfig
func (*GatewayServiceConfigSpec) DeepCopy ¶
func (in *GatewayServiceConfigSpec) DeepCopy() *GatewayServiceConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayServiceConfigSpec.
func (*GatewayServiceConfigSpec) DeepCopyInto ¶
func (in *GatewayServiceConfigSpec) DeepCopyInto(out *GatewayServiceConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImagesConfig ¶
type ImagesConfig struct {
// EnvoyProxy image. Example: docker.io/envoyproxy/envoy:distroless-v1.35.3
EnvoyProxy string `json:"proxy"`
// EnvoyGateway image. Example: docker.io/envoyproxy/gateway:v1.5.1
EnvoyGateway string `json:"gateway"`
// Ratelimit image. Example: docker.io/envoyproxy/ratelimit:e74a664a
Ratelimit string `json:"rateLimit"`
}
func (*ImagesConfig) DeepCopy ¶
func (in *ImagesConfig) DeepCopy() *ImagesConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagesConfig.
func (*ImagesConfig) DeepCopyInto ¶
func (in *ImagesConfig) DeepCopyInto(out *ImagesConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.