Documentation ¶
Overview ¶
Package v1beta1 contains API Schema definitions for the kubegateway v1beta1 API group +kubebuilder:object:generate=true +groupName=kubegateway.kubevirt.io
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "kubegateway.kubevirt.io", Version: "v1beta1"} // 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 GateServer ¶
type GateServer struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec GateServerSpec `json:"spec,omitempty"` Status GateServerStatus `json:"status,omitempty"` }
GateServer is the Schema for the gateservers API
func (*GateServer) DeepCopy ¶
func (in *GateServer) DeepCopy() *GateServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GateServer.
func (*GateServer) DeepCopyInto ¶
func (in *GateServer) DeepCopyInto(out *GateServer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GateServer) DeepCopyObject ¶
func (in *GateServer) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GateServerList ¶
type GateServerList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []GateServer `json:"items"` }
GateServerList contains a list of GateServer
func (*GateServerList) DeepCopy ¶
func (in *GateServerList) DeepCopy() *GateServerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GateServerList.
func (*GateServerList) DeepCopyInto ¶
func (in *GateServerList) DeepCopyInto(out *GateServerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GateServerList) DeepCopyObject ¶
func (in *GateServerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GateServerSpec ¶
type GateServerSpec struct { // img is the kube-gateway image to use. // Defalut value is "quay.io/kubevirt-ui/kube-gateway:latest". // +kubebuilder:validation:Optional // +kubebuilder:validation:Type="string" // +kubebuilder:validation:MaxLength=1024 // +kubebuilder:default:="quay.io/kubevirt-ui/kube-gateway:latest" IMG string `json:"img,omitempty"` // api-url is the k8s API url. // Defalut value is "https://kubernetes.default.svc". // +kubebuilder:validation:Optional // +kubebuilder:validation:Type="string" // +kubebuilder:validation:Pattern="^(http|https)://.*" // +kubebuilder:validation:MaxLength=1024 // +kubebuilder:default:="https://kubernetes.default.svc" APIURL string `json:"api-url,omitempty"` // route for the gate proxy server. // +required // +kubebuilder:validation:Required // +kubebuilder:validation:Type="string" // +kubebuilder:validation:Pattern="^([a-z0-9-_])+[.]([a-z0-9-_])+[.]([a-z0-9-._])+$" // +kubebuilder:validation:MaxLength=226 Route string `json:"route,omitempty"` // admin-role is the verbs athorization role of the service (reader/admin) // if service is role is reader, clients getting tokens to use this service // will be able to excute get, watch and list verbs. // if service is role is admin, clients getting tokens to use this service // will be able to excute get, watch, list, patch, creat and delete verbs. // Defalut value is "reader". // +kubebuilder:validation:Optional // +kubebuilder:validation:Type="string" // +kubebuilder:validation:Pattern="^(reader|admin)$" // +kubebuilder:validation:MaxLength=1024 // +kubebuilder:default:="reader" AdminRole string `json:"admin-role,omitempty"` // admin-resources is a comma seperated list of resources athorization role of the service // if left empty service could access any resource. // Defalut value is "". // +kubebuilder:validation:Optional // +kubebuilder:validation:Type="string" // +kubebuilder:validation:MaxLength=1024 // +kubebuilder:default:="" AdminResources string `json:"admin-resources,omitempty"` }
GateServerSpec defines the desired state of GateServer
func (*GateServerSpec) DeepCopy ¶
func (in *GateServerSpec) DeepCopy() *GateServerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GateServerSpec.
func (*GateServerSpec) DeepCopyInto ¶
func (in *GateServerSpec) DeepCopyInto(out *GateServerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GateServerStatus ¶
type GateServerStatus struct { // Conditions represent the latest available observations of an object's state Conditions []metav1.Condition `json:"conditions"` // Token generation phase (ready|error) Phase string `json:"phase"` }
GateServerStatus defines the observed state of GateServer
func (*GateServerStatus) DeepCopy ¶
func (in *GateServerStatus) DeepCopy() *GateServerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GateServerStatus.
func (*GateServerStatus) DeepCopyInto ¶
func (in *GateServerStatus) DeepCopyInto(out *GateServerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GateToken ¶
type GateToken struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec GateTokenSpec `json:"spec,omitempty"` Status GateTokenStatus `json:"status,omitempty"` }
GateToken is the Schema for the gatetokens API
func (*GateToken) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GateToken.
func (*GateToken) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GateToken) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GateTokenCache ¶
type GateTokenCache struct { From string `json:"from"` Until string `json:"until"` Duration string `json:"duration"` NBf int64 `json:"nbf"` Exp int64 `json:"exp"` Verbs []string `json:"verbs"` URLs []string `json:"urls"` }
GateTokenCache stores initial token data
func (*GateTokenCache) DeepCopy ¶
func (in *GateTokenCache) DeepCopy() *GateTokenCache
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GateTokenCache.
func (*GateTokenCache) DeepCopyInto ¶
func (in *GateTokenCache) DeepCopyInto(out *GateTokenCache)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GateTokenList ¶
type GateTokenList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []GateToken `json:"items"` }
GateTokenList contains a list of GateToken
func (*GateTokenList) DeepCopy ¶
func (in *GateTokenList) DeepCopy() *GateTokenList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GateTokenList.
func (*GateTokenList) DeepCopyInto ¶
func (in *GateTokenList) DeepCopyInto(out *GateTokenList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GateTokenList) DeepCopyObject ¶
func (in *GateTokenList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GateTokenSpec ¶
type GateTokenSpec struct { // urls is a list of urls used to validate API request path, // API requests matching one pattern will be validated by the token. // This field may not be empty. // +required // +kubebuilder:validation:Required // +kubebuilder:validation:MaxItems=500 // +kubebuilder:validation:MinItems=1 URLs []string `json:"urls"` // from is time of token invocation, the token will not validate before this time, // the token duration will start from this time. // Defalut to token object creation time. // +kubebuilder:validation:Optional // +kubebuilder:validation:Type="string" // +kubebuilder:validation:Format="date-time" From string `json:"from"` // duration is the duration the token will be validated since it's invocation. // Defalut value is "1h". // +kubebuilder:validation:Optional // +kubebuilder:validation:Type="string" // +kubebuilder:default:="1h" Duration string `json:"duration"` // verbs is a comma separated list of allowed http methods, // only API requests matching one of the allowed methods will be validated. // Defalut value is "[GET,OPTIONS]". // +kubebuilder:validation:Optional // +kubebuilder:validation:MaxItems=500 // +kubebuilder:validation:MinItems=1 Verbs []string `json:"verbs"` // secret-name is the name of the secret holding the private key used to sign the token. // +kubebuilder:validation:Required // +kubebuilder:validation:Type="string" // +kubebuilder:default:="" SecretName string `json:"secret-name"` // secret-namspace is the namespace of the secret holding the private key used to sign the token. // Defalut value is "". // +kubebuilder:validation:Optional // +kubebuilder:validation:Type="string" // +kubebuilder:default:="" SecretNamespace string `json:"secret-namespace"` // secret-file is the file entry in the secret holding the private key used to sign the token. // Defalut value is "tls.key". // +kubebuilder:validation:Optional // +kubebuilder:validation:Type="string" // +kubebuilder:default:="tls.key" SecretFile string `json:"secret-file"` }
GateTokenSpec defines the desired state of GateToken
func (*GateTokenSpec) DeepCopy ¶
func (in *GateTokenSpec) DeepCopy() *GateTokenSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GateTokenSpec.
func (*GateTokenSpec) DeepCopyInto ¶
func (in *GateTokenSpec) DeepCopyInto(out *GateTokenSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GateTokenStatus ¶
type GateTokenStatus struct { // Conditions represent the latest available observations of an object's state Conditions []metav1.Condition `json:"conditions"` // The generated token Token string `json:"token"` // Cached data, once created, user can not change this valuse Data GateTokenCache `json:"data"` // Token generation phase (ready|error) Phase string `json:"phase"` }
GateTokenStatus defines the observed state of GateToken
func (*GateTokenStatus) DeepCopy ¶
func (in *GateTokenStatus) DeepCopy() *GateTokenStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GateTokenStatus.
func (*GateTokenStatus) DeepCopyInto ¶
func (in *GateTokenStatus) DeepCopyInto(out *GateTokenStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.