Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the enginefeatures.everest v1alpha1 API group. +kubebuilder:object:generate=true +groupName=enginefeatures.everest.percona.com
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "enginefeatures.everest.percona.com", 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 SplitHorizonDNSConfig ¶
type SplitHorizonDNSConfig struct {
metav1.TypeMeta `json:",inline"`
// metadata is a standard object metadata
// +kubebuilder:validation:Optional
metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`
// Spec defines the desired state of SplitHorizonDNSConfig
// +kubebuilder:validation:Required
Spec SplitHorizonDNSConfigSpec `json:"spec"`
// Status defines the observed state of SplitHorizonDNSConfig
// +kubebuilder:default={"inUse": false}
Status SplitHorizonDNSConfigStatus `json:"status,omitempty"`
}
SplitHorizonDNSConfig is the Schema for the splithorizondnsconfigs API.
func (*SplitHorizonDNSConfig) DeepCopy ¶
func (in *SplitHorizonDNSConfig) DeepCopy() *SplitHorizonDNSConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SplitHorizonDNSConfig.
func (*SplitHorizonDNSConfig) DeepCopyInto ¶
func (in *SplitHorizonDNSConfig) DeepCopyInto(out *SplitHorizonDNSConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SplitHorizonDNSConfig) DeepCopyObject ¶
func (in *SplitHorizonDNSConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SplitHorizonDNSConfigList ¶
type SplitHorizonDNSConfigList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []SplitHorizonDNSConfig `json:"items"`
}
SplitHorizonDNSConfigList contains a list of SplitHorizonDNSConfig.
func (*SplitHorizonDNSConfigList) DeepCopy ¶
func (in *SplitHorizonDNSConfigList) DeepCopy() *SplitHorizonDNSConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SplitHorizonDNSConfigList.
func (*SplitHorizonDNSConfigList) DeepCopyInto ¶
func (in *SplitHorizonDNSConfigList) DeepCopyInto(out *SplitHorizonDNSConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SplitHorizonDNSConfigList) DeepCopyObject ¶
func (in *SplitHorizonDNSConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SplitHorizonDNSConfigSpec ¶
type SplitHorizonDNSConfigSpec struct {
// BaseDomainNameSuffix is the base domain name suffix for generating domain names for each Pod in ReplicaSet.
// It should be a valid domain name suffix.
// +kubebuilder:validation:Pattern=`^([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}$`
// +kubebuilder:validation:MinLength=3
// +kubebuilder:example="example.com"
// +kubebuilder:validation:Required
BaseDomainNameSuffix string `json:"baseDomainNameSuffix,omitempty,omitzero"`
// TLS is the TLS configuration for the split-horizon DNS configuration.
// +kubebuilder:validation:Required
TLS SplitHorizonDNSConfigTLSSpec `json:"tls"`
}
SplitHorizonDNSConfigSpec defines the desired state of SplitHorizonDNSConfig.
func (*SplitHorizonDNSConfigSpec) DeepCopy ¶
func (in *SplitHorizonDNSConfigSpec) DeepCopy() *SplitHorizonDNSConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SplitHorizonDNSConfigSpec.
func (*SplitHorizonDNSConfigSpec) DeepCopyInto ¶
func (in *SplitHorizonDNSConfigSpec) DeepCopyInto(out *SplitHorizonDNSConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SplitHorizonDNSConfigStatus ¶
type SplitHorizonDNSConfigStatus struct {
// InUse is a flag that indicates if the config is used by any DB cluster.
// +kubebuilder:default=false
InUse bool `json:"inUse,omitempty"`
// LastObservedGeneration is the most recent generation observed for this SplitHorizonDNSConfig.
LastObservedGeneration int64 `json:"lastObservedGeneration,omitempty"`
}
SplitHorizonDNSConfigStatus defines the observed state of SplitHorizonDNSConfig resource.
func (*SplitHorizonDNSConfigStatus) DeepCopy ¶
func (in *SplitHorizonDNSConfigStatus) DeepCopy() *SplitHorizonDNSConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SplitHorizonDNSConfigStatus.
func (*SplitHorizonDNSConfigStatus) DeepCopyInto ¶
func (in *SplitHorizonDNSConfigStatus) DeepCopyInto(out *SplitHorizonDNSConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SplitHorizonDNSConfigTLSCertificateSpec ¶
type SplitHorizonDNSConfigTLSCertificateSpec struct {
// CA Private Key is based64 encoded ca-key.pem file content.
// It is provided as a write-only input field for convenience.
// When this field is set, a webhook writes this value in the Secret specified by `.spec.tls.secretName`
// and empties this field.
// This field is not stored in the API.
// +kubebuilder:validation:Required
CAKey string `json:"ca.key"`
// CACert is based64 encoded ca.pem file content.
// It is provided as a write-only input field for convenience.
// When this field is set, a webhook writes this value in the Secret specified by `.spec.tls.secretName`
// and empties this field.
// This field is not stored in the API.
// +kubebuilder:validation:Required
CACert string `json:"ca.crt"`
}
SplitHorizonDNSConfigTLSCertificateSpec defines TLS certificate parameters.
func (*SplitHorizonDNSConfigTLSCertificateSpec) DeepCopy ¶
func (in *SplitHorizonDNSConfigTLSCertificateSpec) DeepCopy() *SplitHorizonDNSConfigTLSCertificateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SplitHorizonDNSConfigTLSCertificateSpec.
func (*SplitHorizonDNSConfigTLSCertificateSpec) DeepCopyInto ¶
func (in *SplitHorizonDNSConfigTLSCertificateSpec) DeepCopyInto(out *SplitHorizonDNSConfigTLSCertificateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SplitHorizonDNSConfigTLSSpec ¶
type SplitHorizonDNSConfigTLSSpec struct {
// SecretName is the name of the secret containing the TLS certificate and key for the split-horizon DNS configuration.
// +kubebuilder:example="my-tls-secret"
// +kubebuilder:validation:Required
SecretName string `json:"secretName"`
// Certificate is the TLS certificate and key for the split-horizon DNS configuration.
// +kubebuilder:validation:Optional
Certificate *SplitHorizonDNSConfigTLSCertificateSpec `json:"certificate,omitempty"`
}
SplitHorizonDNSConfigTLSSpec defines TLS configuration for SplitHorizonDNSConfig. It can be provided either via a secret or directly as a certificate.
func (*SplitHorizonDNSConfigTLSSpec) DeepCopy ¶
func (in *SplitHorizonDNSConfigTLSSpec) DeepCopy() *SplitHorizonDNSConfigTLSSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SplitHorizonDNSConfigTLSSpec.
func (*SplitHorizonDNSConfigTLSSpec) DeepCopyInto ¶
func (in *SplitHorizonDNSConfigTLSSpec) DeepCopyInto(out *SplitHorizonDNSConfigTLSSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SplitHorizonDomain ¶
type SplitHorizonDomain struct {
// Domain is the SplitHorizon domain name.
Domain string `json:"domain,omitempty"`
// PrivateIP is the private IP address for the domain.
PrivateIP string `json:"privateIP,omitempty"`
// PublicIP is the public IP address for the domain.
PublicIP string `json:"publicIP,omitempty"`
}
SplitHorizonDomain defines SplitHorizon domain status (domain -> IPs mapping).
func (*SplitHorizonDomain) DeepCopy ¶
func (in *SplitHorizonDomain) DeepCopy() *SplitHorizonDomain
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SplitHorizonDomain.
func (*SplitHorizonDomain) DeepCopyInto ¶
func (in *SplitHorizonDomain) DeepCopyInto(out *SplitHorizonDomain)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SplitHorizonStatus ¶
type SplitHorizonStatus struct {
// ConnectionURL is the connection URL using SplitHorizon domains.
Host string `json:"host,omitempty"`
// SplitHorizon status of SplitHorizon feature.
Domains []SplitHorizonDomain `json:"domains,omitempty"`
}
SplitHorizonStatus holds SplitHorizon engine feature status.
func (*SplitHorizonStatus) DeepCopy ¶
func (in *SplitHorizonStatus) DeepCopy() *SplitHorizonStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SplitHorizonStatus.
func (*SplitHorizonStatus) DeepCopyInto ¶
func (in *SplitHorizonStatus) DeepCopyInto(out *SplitHorizonStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.