v1alpha1

package
v0.0.0-...-b262299 Latest Latest
Warning

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

Go to latest
Published: Aug 19, 2024 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the kube-cgi v1alpha1 API group +kubebuilder:object:generate=true +groupName=kube-cgi.aic.cs.nycu.edu.tw

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "kube-cgi.aic.cs.nycu.edu.tw", 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 API

type API struct {
	// Path of this API endpoint.
	// /readyz is reserved for internal readiness checks.
	//+kubebuilder:validation:Format=uri
	Path string `json:"path"`

	// Spec of the pod.
	// Only one container expected, restartPolicy must be Never.
	// If stdin of the container is true, stdinOnce must also be true,
	// where request body will also be sent to stdin.
	//+kubebuilder:validation:XValidation:message="Only one container in each podSpec is allowed",rule="self.containers.size() == 1"
	//+kubebuilder:validation:XValidation:message="Container with stdin must also set stdinOnce",rule="!has(self.containers[0].stdin) || self.containers[0].stdin != true || self.containers[0].stdinOnce == true"
	//+kubebuilder:validation:XValidation:message="restartPolicy must be Never",rule="self.restartPolicy == 'Never' && (!has(self.containers[0].restartPolicy) || self.containers[0].restartPolicy == 'Never')"
	//+kubebuilder:validation:XValidation:message="initContainers is not supported",rule="!has(self.initContainers) || self.initContainers.size() == 0"
	//+kubebuilder:validation:XValidation:message="ephemeralContainers is not supported",rule="!has(self.ephemeralContainers)"
	corev1.PodSpec `json:"podSpec"`

	*Request  `json:"request,omitempty"`
	*Response `json:"response,omitempty"`
}

func (*API) DeepCopy

func (in *API) DeepCopy() *API

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

func (*API) DeepCopyInto

func (in *API) DeepCopyInto(out *API)

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

type APISet

type APISet struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   APISetSpec   `json:"spec,omitempty"`
	Status APISetStatus `json:"status,omitempty"`
}

APISet is the Schema for the apisets API

func (*APISet) DeepCopy

func (in *APISet) DeepCopy() *APISet

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

func (*APISet) DeepCopyInto

func (in *APISet) DeepCopyInto(out *APISet)

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

func (*APISet) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*APISet) SetupWebhookWithManager

func (r *APISet) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*APISet) ValidateCreate

func (r *APISet) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*APISet) ValidateDelete

func (r *APISet) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*APISet) ValidateUpdate

func (r *APISet) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type APISetList

type APISetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []APISet `json:"items"`
}

APISetList contains a list of APISet

func (*APISetList) DeepCopy

func (in *APISetList) DeepCopy() *APISetList

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

func (*APISetList) DeepCopyInto

func (in *APISetList) DeepCopyInto(out *APISetList)

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

func (*APISetList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type APISetSpec

type APISetSpec struct {
	// The domain name this APISet should serve on
	//+kubebuilder:validation:Format=hostname
	Host string `json:"host"`

	// The APIs to host under the specified domain name
	APIs []API `json:"apis"`

	*Kcgid `json:"kcgid,omitempty"`

	// Hoist the images onto nodes with DaemonSets
	// The image is expected to contain a `true` command
	// TODO impl
	//+kubebuilder:default=false
	HoistImages *bool `json:"hoistImages,omitempty"`

	*HistoryLimit `json:"historyLimit,omitempty"`
}

APISetSpec defines the desired state of APISet

func (*APISetSpec) DeepCopy

func (in *APISetSpec) DeepCopy() *APISetSpec

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

func (*APISetSpec) DeepCopyInto

func (in *APISetSpec) DeepCopyInto(out *APISetSpec)

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

type APISetStatus

type APISetStatus struct {
	ServiceAccount  *corev1.ObjectReference `json:"serviceAccount,omitempty"`
	RoleBinding     *corev1.ObjectReference `json:"roleBinding,omitempty"`
	Deployment      *corev1.ObjectReference `json:"deployment,omitempty"`
	Service         *corev1.ObjectReference `json:"service,omitempty"`
	Ingress         *corev1.ObjectReference `json:"ingress,omitempty"`
	ImagePullSecret *corev1.ObjectReference `json:"imagePullSecret,omitempty"`
	ServiceMonitor  *corev1.ObjectReference `json:"serviceMonitor,omitempty"`
	Deployed        *bool                   `json:"deployed,omitempty"`

	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

APISetStatus defines the observed state of APISet

func (*APISetStatus) DeepCopy

func (in *APISetStatus) DeepCopy() *APISetStatus

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

func (*APISetStatus) DeepCopyInto

func (in *APISetStatus) DeepCopyInto(out *APISetStatus)

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

type HistoryLimit

type HistoryLimit struct {
	Succeeded HistoryLimitSpec `json:"succeeded,omitempty"`
	Failed    HistoryLimitSpec `json:"failed,omitempty"`
}

Policies to retain historic pods

func (*HistoryLimit) DeepCopy

func (in *HistoryLimit) DeepCopy() *HistoryLimit

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

func (*HistoryLimit) DeepCopyInto

func (in *HistoryLimit) DeepCopyInto(out *HistoryLimit)

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

type HistoryLimitSpec

type HistoryLimitSpec struct {
	// Retain at most this number of pods from current version.
	// Defaults to 0 on succeeded, 5 on failed.
	MaxCount *int32 `json:"maxCount,omitempty"`

	// Retain pods from current version for at most this amount of seconds
	// TODO impl
	MaxAge *int32 `json:"maxAge,omitempty"`

	// Pod from older version of this APISet should be retained
	//+kubebuilder:default=false
	KeepPreviousVersions *bool `json:"keepPreviousVersions,omitempty"`
}

A Pod is retained when it statisfies all specified rules

func (*HistoryLimitSpec) DeepCopy

func (in *HistoryLimitSpec) DeepCopy() *HistoryLimitSpec

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

func (*HistoryLimitSpec) DeepCopyInto

func (in *HistoryLimitSpec) DeepCopyInto(out *HistoryLimitSpec)

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

type Kcgid

type Kcgid struct {
	//+kubebuilder:default=1
	Replicas *int32 `json:"replicas,omitempty"`

	Args []string `json:"args,omitempty"`

	// Create monitoring.coreos.com/v1 ServiceMonitor for distributed API
	// runtime metrics
	//+kubebuilder:default=false
	ServiceMonitor bool `json:"serviceMonitor,omitempty"`
}

Deployment settings of the distributed API runtime

func (*Kcgid) DeepCopy

func (in *Kcgid) DeepCopy() *Kcgid

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

func (*Kcgid) DeepCopyInto

func (in *Kcgid) DeepCopyInto(out *Kcgid)

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

type Request

type Request struct {
	// JSON Schema to validate requests with, as an inline object.
	// Empty object may be used to enforce being JSON only.
	Schema *Schema `json:"schema,omitempty"`
}

func (*Request) DeepCopy

func (in *Request) DeepCopy() *Request

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

func (*Request) DeepCopyInto

func (in *Request) DeepCopyInto(out *Request)

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

type Response

type Response struct {
}

func (*Response) DeepCopy

func (in *Response) DeepCopy() *Response

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

func (*Response) DeepCopyInto

func (in *Response) DeepCopyInto(out *Response)

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

type Schema

type Schema struct {
	RawJSON string
}

+kubebuilder:validation:Type=object +kubebuilder:pruning:PreserveUnknownFields +kubebuilder:object:generate=false

func (*Schema) MarshalJSON

func (s *Schema) MarshalJSON() ([]byte, error)

func (*Schema) UnmarshalJSON

func (s *Schema) UnmarshalJSON(b []byte) error

Jump to

Keyboard shortcuts

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