Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the validation v1alpha1 API group +kubebuilder:object:generate=true +groupName=validation.spectrocloud.labs
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "validation.spectrocloud.labs", 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 DNSRule ¶
type DNSRule struct {
RuleName string `json:"name" yaml:"name"`
Host string `json:"host" yaml:"host"`
Server string `json:"server,omitempty" yaml:"server,omitempty"`
}
func (*DNSRule) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRule.
func (*DNSRule) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ICMPRule ¶
type ICMPRule struct {
RuleName string `json:"name" yaml:"name"`
Host string `json:"host" yaml:"host"`
}
func (*ICMPRule) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ICMPRule.
func (*ICMPRule) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPRangeRule ¶
type IPRangeRule struct {
RuleName string `json:"name" yaml:"name"`
StartIP string `json:"startIp" yaml:"startIp"`
Length int `json:"length" yaml:"length"`
}
func (*IPRangeRule) DeepCopy ¶
func (in *IPRangeRule) DeepCopy() *IPRangeRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPRangeRule.
func (*IPRangeRule) DeepCopyInto ¶
func (in *IPRangeRule) DeepCopyInto(out *IPRangeRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (IPRangeRule) Name ¶
func (r IPRangeRule) Name() string
type MTURule ¶
type MTURule struct {
RuleName string `json:"name" yaml:"name"`
Host string `json:"host" yaml:"host"`
MTU int `json:"mtu" yaml:"mtu"`
}
func (*MTURule) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MTURule.
func (*MTURule) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkValidator ¶
type NetworkValidator struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec NetworkValidatorSpec `json:"spec,omitempty"`
Status NetworkValidatorStatus `json:"status,omitempty"`
}
NetworkValidator is the Schema for the networkvalidators API
func (*NetworkValidator) DeepCopy ¶
func (in *NetworkValidator) DeepCopy() *NetworkValidator
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkValidator.
func (*NetworkValidator) DeepCopyInto ¶
func (in *NetworkValidator) DeepCopyInto(out *NetworkValidator)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NetworkValidator) DeepCopyObject ¶
func (in *NetworkValidator) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NetworkValidatorList ¶
type NetworkValidatorList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []NetworkValidator `json:"items"`
}
NetworkValidatorList contains a list of NetworkValidator
func (*NetworkValidatorList) DeepCopy ¶
func (in *NetworkValidatorList) DeepCopy() *NetworkValidatorList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkValidatorList.
func (*NetworkValidatorList) DeepCopyInto ¶
func (in *NetworkValidatorList) DeepCopyInto(out *NetworkValidatorList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NetworkValidatorList) DeepCopyObject ¶
func (in *NetworkValidatorList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NetworkValidatorSpec ¶
type NetworkValidatorSpec struct {
// DNSRules validate DNS name resolution of network hosts
// +kubebuilder:validation:MaxItems=5
// +kubebuilder:validation:XValidation:message="DNSRules must have unique names",rule="self.all(e, size(self.filter(x, x.name == e.name)) == 1)"
DNSRules []DNSRule `json:"dnsRules,omitempty" yaml:"dnsRules,omitempty"`
// ICMPRules validate ICMP pings to network hosts
// +kubebuilder:validation:MaxItems=5
// +kubebuilder:validation:XValidation:message="ICMPRules must have unique names",rule="self.all(e, size(self.filter(x, x.name == e.name)) == 1)"
ICMPRules []ICMPRule `json:"icmpRules,omitempty" yaml:"icmpRules,omitempty"`
// IPRangeRules validate that all IPs in a given CIDR range are free (unallocated)
// +kubebuilder:validation:MaxItems=5
// +kubebuilder:validation:XValidation:message="IPRangeRules must have unique names",rule="self.all(e, size(self.filter(x, x.name == e.name)) == 1)"
IPRangeRules []IPRangeRule `json:"ipRangeRules,omitempty" yaml:"ipRangeRules,omitempty"`
// MTURules validate that the default NIC has an MTU of at least X, where X is the provided MTU
// +kubebuilder:validation:MaxItems=5
// +kubebuilder:validation:XValidation:message="MTURules must have unique names",rule="self.all(e, size(self.filter(x, x.name == e.name)) == 1)"
MTURules []MTURule `json:"mtuRules,omitempty" yaml:"mtuRules,omitempty"`
// TCPConnRules validate arbitrary TCP connections, including proxied connections
// +kubebuilder:validation:MaxItems=5
// +kubebuilder:validation:XValidation:message="TCPConnRules must have unique names",rule="self.all(e, size(self.filter(x, x.name == e.name)) == 1)"
TCPConnRules []TCPConnRule `json:"tcpConnRules,omitempty" yaml:"tcpConnRules,omitempty"`
}
NetworkValidatorSpec defines the desired state of NetworkValidator
func (*NetworkValidatorSpec) DeepCopy ¶
func (in *NetworkValidatorSpec) DeepCopy() *NetworkValidatorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkValidatorSpec.
func (*NetworkValidatorSpec) DeepCopyInto ¶
func (in *NetworkValidatorSpec) DeepCopyInto(out *NetworkValidatorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (NetworkValidatorSpec) ResultCount ¶
func (s NetworkValidatorSpec) ResultCount() int
type NetworkValidatorStatus ¶
type NetworkValidatorStatus struct{}
NetworkValidatorStatus defines the observed state of NetworkValidator
func (*NetworkValidatorStatus) DeepCopy ¶
func (in *NetworkValidatorStatus) DeepCopy() *NetworkValidatorStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkValidatorStatus.
func (*NetworkValidatorStatus) DeepCopyInto ¶
func (in *NetworkValidatorStatus) DeepCopyInto(out *NetworkValidatorStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPConnRule ¶
type TCPConnRule struct {
RuleName string `json:"name" yaml:"name"`
Host string `json:"host" yaml:"host"`
Ports []int `json:"ports" yaml:"ports"`
// +kubebuilder:validation:Pattern=`^(4|5|connect)?$`
ProxyProtocol string `json:"proxyProtocol,omitempty" yaml:"proxyProtocol,omitempty"`
ProxyAddress string `json:"proxyAddress,omitempty" yaml:"proxyAddress,omitempty"`
ProxyPort int `json:"proxyPort,omitempty" yaml:"proxyPort,omitempty"`
}
func (*TCPConnRule) DeepCopy ¶
func (in *TCPConnRule) DeepCopy() *TCPConnRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPConnRule.
func (*TCPConnRule) DeepCopyInto ¶
func (in *TCPConnRule) DeepCopyInto(out *TCPConnRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (TCPConnRule) Name ¶
func (r TCPConnRule) Name() string