v1beta1

package
v0.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 30, 2021 License: Apache-2.0 Imports: 4 Imported by: 0

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

View Source
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

func (in *GateToken) DeepCopy() *GateToken

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GateToken.

func (*GateToken) DeepCopyInto

func (in *GateToken) DeepCopyInto(out *GateToken)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GateToken) DeepCopyObject

func (in *GateToken) DeepCopyObject() runtime.Object

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL