Documentation ¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the API.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // SchemeGroupVersion is group version used to register MeshConfig SchemeGroupVersion = schema.GroupVersion{ Group: "flomesh.io", Version: "v1alpha1", } // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme adds all Resources to the Scheme AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type HTTP ¶
type HTTP struct { // +kubebuilder:default=true // +optional // Enabled, if HTTP is enabled for the Ingress Controller Enabled bool `json:"enabled"` // +kubebuilder:default={name: http, protocol: TCP, port: 80, targetPort: 8000} // +optional // Port, The http port that are exposed by this ingress service. Port ServicePort `json:"port,omitempty"` }
HTTP defines the http configuration of this ingress controller.
func (*HTTP) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTP.
func (*HTTP) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamespacedIngress ¶
type NamespacedIngress struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec NamespacedIngressSpec `json:"spec,omitempty"` Status NamespacedIngressStatus `json:"status,omitempty"` }
NamespacedIngress is the Schema for the NamespacedIngresss API
func (*NamespacedIngress) DeepCopy ¶
func (in *NamespacedIngress) DeepCopy() *NamespacedIngress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedIngress.
func (*NamespacedIngress) DeepCopyInto ¶
func (in *NamespacedIngress) DeepCopyInto(out *NamespacedIngress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NamespacedIngress) DeepCopyObject ¶
func (in *NamespacedIngress) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NamespacedIngressList ¶
type NamespacedIngressList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []NamespacedIngress `json:"items"` }
NamespacedIngressList contains a list of NamespacedIngress
func (*NamespacedIngressList) DeepCopy ¶
func (in *NamespacedIngressList) DeepCopy() *NamespacedIngressList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedIngressList.
func (*NamespacedIngressList) DeepCopyInto ¶
func (in *NamespacedIngressList) DeepCopyInto(out *NamespacedIngressList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NamespacedIngressList) DeepCopyObject ¶
func (in *NamespacedIngressList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NamespacedIngressSpec ¶
type NamespacedIngressSpec struct { // ServiceType determines how the Ingress is exposed. For an Ingress // the most used types are NodePort, and LoadBalancer // +kubebuilder:default=LoadBalancer // +optional ServiceType corev1.ServiceType `json:"serviceType,omitempty"` // ServiceAnnotations, those annotations are applied to Ingress Service // +optional ServiceAnnotations map[string]string `json:"serviceAnnotations,omitempty"` // ServiceLabels, those annotations are applied to Ingress Service // +optional ServiceLabels map[string]string `json:"serviceLabels,omitempty"` // PodAnnotations, those annotations are applied to Ingress POD // +optional PodAnnotations map[string]string `json:"podAnnotations,omitempty"` // PodAnnotations, those labels are applied to Ingress POD // +optional PodLabels map[string]string `json:"podLabels,omitempty"` // +kubebuilder:default={enabled: true, port: {name: http, protocol: TCP, port: 80, targetPort: 8000}} // +optional // The HTTP configuration of this ingress controller. HTTP HTTP `json:"http,omitempty"` // +kubebuilder:default={enabled: false, port: {name: https, protocol: TCP, port: 443, targetPort: 8443}, sslPassthrough: {enabled: false, upstreamPort: 443}} // +optional // TLS is the configuration of TLS of this ingress controller TLS TLS `json:"tls,omitempty"` // List of environment variables to set in the ingress container. // Cannot be updated. // +optional Env []corev1.EnvVar `json:"env,omitempty"` // Compute Resources required by Ingress container. // Cannot be updated. // +optional Resources corev1.ResourceRequirements `json:"resources,omitempty"` // NodeSelector is a selector which must be true for the pod to fit on a node. // Selector which must match a node's labels for the pod to be scheduled on that node. // +optional // +mapType=atomic NodeSelector map[string]string `json:"nodeSelector,omitempty"` // ServiceAccountName is the name of the ServiceAccount to use to run this pod. // +optional ServiceAccountName string `json:"serviceAccountName,omitempty"` // If specified, the pod's scheduling constraints // +optional Affinity *corev1.Affinity `json:"affinity,omitempty"` // If specified, the pod's tolerations. // +optional Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // +kubebuilder:default=info // +kubebuilder:validation:Enum=trace;debug;info;warn;error;fatal;panic;disabled // +optional // LogLevel is the log level of this ingress controller pod. LogLevel *string `json:"logLevel,omitempty"` // +kubebuilder:default=1 // +kubebuilder:validation:Minimum=1 // +optional // Replicas, how many replicas of the ingress controller will be running for this namespace. Replicas *int32 `json:"replicas,omitempty"` // SecurityContext defines the security options the container should be run with. // If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. // +optional SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"` // PodSecurityContext holds pod-level security attributes and common container settings. // Optional: Defaults to empty. See type description for default values of each field. // +optional PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"` }
NamespacedIngressSpec defines the desired state of NamespacedIngress
func (*NamespacedIngressSpec) DeepCopy ¶
func (in *NamespacedIngressSpec) DeepCopy() *NamespacedIngressSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedIngressSpec.
func (*NamespacedIngressSpec) DeepCopyInto ¶
func (in *NamespacedIngressSpec) DeepCopyInto(out *NamespacedIngressSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamespacedIngressStatus ¶
type NamespacedIngressStatus struct { Replicas int32 `json:"replicas"` Selector string `json:"selector"` }
NamespacedIngressStatus defines the observed state of NamespacedIngress
func (*NamespacedIngressStatus) DeepCopy ¶
func (in *NamespacedIngressStatus) DeepCopy() *NamespacedIngressStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedIngressStatus.
func (*NamespacedIngressStatus) DeepCopyInto ¶
func (in *NamespacedIngressStatus) DeepCopyInto(out *NamespacedIngressStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSLPassthrough ¶
type SSLPassthrough struct { // +kubebuilder:default=false // +optional // Enabled, if SSL passthrough is enabled for the Ingress Controller // It's mutual exclusive with TLS offload/termination within the controller scope. Enabled bool `json:"enabled"` // +kubebuilder:default=443 // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 // +optional // UpstreamPort, is the port of upstream services. UpstreamPort *int32 `json:"upstreamPort"` }
SSLPassthrough defines the SSLPassthrough configuration of this ingress controller.
func (*SSLPassthrough) DeepCopy ¶
func (in *SSLPassthrough) DeepCopy() *SSLPassthrough
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSLPassthrough.
func (*SSLPassthrough) DeepCopyInto ¶
func (in *SSLPassthrough) DeepCopyInto(out *SSLPassthrough)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServicePort ¶ added in v1.2.0
type ServicePort struct { // The name of this port within the service. This must be a DNS_LABEL. // All ports within a ServiceSpec must have unique names. When considering // the endpoints for a Service, this must match the 'name' field in the // EndpointPort. // Optional if only one ServicePort is defined on this service. // +optional Name string `json:"name,omitempty"` // The IP protocol for this port. Supports "TCP", "UDP", and "SCTP". // Default is TCP. // +default="TCP" // +optional Protocol corev1.Protocol `json:"protocol,omitempty"` // The port that will be exposed by this service. Port int32 `json:"port"` // Number or name of the port to access on the pods targeted by the service. // Number must be in the range 1 to 65535. // +optional TargetPort int32 `json:"targetPort,omitempty"` // The port on each node on which this service is exposed when type is // NodePort or LoadBalancer. Usually assigned by the system. If a value is // specified, in-range, and not in use it will be used, otherwise the // operation will fail. If not specified, a port will be allocated if this // Service requires one. If this field is specified when creating a // Service which does not need it, creation will fail. This field will be // wiped when updating a Service to no longer need it (e.g. changing type // from NodePort to ClusterIP). // +optional NodePort int32 `json:"nodePort,omitempty"` }
ServicePort contains information on service's port.
func (*ServicePort) DeepCopy ¶ added in v1.2.0
func (in *ServicePort) DeepCopy() *ServicePort
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServicePort.
func (*ServicePort) DeepCopyInto ¶ added in v1.2.0
func (in *ServicePort) DeepCopyInto(out *ServicePort)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLS ¶
type TLS struct { // +kubebuilder:default=false // +optional // Enabled, if TLS is enabled for the Ingress Controller Enabled bool `json:"enabled"` // +kubebuilder:default={name: https, protocol: TCP, port: 443, targetPort: 8443} // +optional // Port, The https port that are exposed by this ingress service. Port ServicePort `json:"port,omitempty"` // +kubebuilder:default=false // +optional // MTLS, if mTLS is enabled for the Ingress Controller MTLS bool `json:"mTLS,omitempty"` // +kubebuilder:default={enabled: false, upstreamPort: 443} // +optional // SSLPassthrough configuration SSLPassthrough SSLPassthrough `json:"sslPassthrough,omitempty"` }
TLS defines the TLS configuration of this ingress controller.
func (*TLS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLS.
func (*TLS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.