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 ¶
- Variables
- type API
- type APISet
- func (in *APISet) DeepCopy() *APISet
- func (in *APISet) DeepCopyInto(out *APISet)
- func (in *APISet) DeepCopyObject() runtime.Object
- func (r *APISet) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *APISet) ValidateCreate() (admission.Warnings, error)
- func (r *APISet) ValidateDelete() (admission.Warnings, error)
- func (r *APISet) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type APISetList
- type APISetSpec
- type APISetStatus
- type HistoryLimit
- type HistoryLimitSpec
- type Kcgid
- type Request
- type Response
- type Schema
Constants ¶
This section is empty.
Variables ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new API.
func (*API) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APISet.
func (*APISet) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*APISet) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*APISet) SetupWebhookWithManager ¶
func (*APISet) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*APISet) ValidateDelete ¶
ValidateDelete 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Kcgid.
func (*Kcgid) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Request.
func (*Request) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Response.
func (*Response) DeepCopyInto ¶
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