Documentation ¶
Overview ¶
Package v1alpha2 contains API Schema definitions for the v1alpha2 API group +kubebuilder:object:generate=true +groupName=rig.dev
Index ¶
- Variables
- type CPUTarget
- type Capsule
- func (in *Capsule) DeepCopy() *Capsule
- func (in *Capsule) DeepCopyInto(out *Capsule)
- func (in *Capsule) DeepCopyObject() runtime.Object
- func (r *Capsule) Default()
- func (c *Capsule) Hub()
- func (r *Capsule) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Capsule) ValidateCreate() (admission.Warnings, error)
- func (r *Capsule) ValidateDelete() (admission.Warnings, error)
- func (r *Capsule) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type CapsuleInterface
- type CapsuleInterfaceIngress
- type CapsuleInterfaceLoadBalancer
- type CapsuleList
- type CapsulePublicInterface
- type CapsuleScale
- type CapsuleSpec
- type CapsuleStatus
- type DeploymentStatus
- type Env
- type EnvReference
- type File
- type FileContentReference
- type HorizontalScale
- type Instances
- type InterfaceGRPCProbe
- type InterfaceProbe
- type OwnedResource
- type ResourceLimits
- type ResourceRequest
- type VerticalScale
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "rig.dev", Version: "v1alpha2"} // 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 CPUTarget ¶
type CPUTarget struct { //+kubebuilder:validation:Minimum=1 //+kubebuilder:validation:Maximum=100 Utilization *uint32 `json:"utilization,omitempty"` }
CPUTarget defines an autoscaler target for the CPU metric If empty, no autoscaling will be done
func (*CPUTarget) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUTarget.
func (*CPUTarget) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Capsule ¶
type Capsule struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CapsuleSpec `json:"spec,omitempty"` Status *CapsuleStatus `json:"status,omitempty"` }
Capsule is the Schema for the capsules API
func (*Capsule) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Capsule.
func (*Capsule) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Capsule) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Capsule) Default ¶
func (r *Capsule) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*Capsule) SetupWebhookWithManager ¶
func (*Capsule) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Capsule) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
type CapsuleInterface ¶
type CapsuleInterface struct { Name string `json:"name"` //+kubebuilder:validation:Minimum=1 //+kubebuilder:validation:Maximum=65535 Port int32 `json:"port"` Liveness *InterfaceProbe `json:"liveness,omitempty"` Readiness *InterfaceProbe `json:"readiness,omitempty"` Public *CapsulePublicInterface `json:"public,omitempty"` }
CapsuleInterface defines an interface for a capsule
func (*CapsuleInterface) DeepCopy ¶
func (in *CapsuleInterface) DeepCopy() *CapsuleInterface
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapsuleInterface.
func (*CapsuleInterface) DeepCopyInto ¶
func (in *CapsuleInterface) DeepCopyInto(out *CapsuleInterface)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CapsuleInterfaceIngress ¶
type CapsuleInterfaceIngress struct {
Host string `json:"host"`
}
CapsuleInterfaceIngress defines that the interface should be exposed as http ingress
func (*CapsuleInterfaceIngress) DeepCopy ¶
func (in *CapsuleInterfaceIngress) DeepCopy() *CapsuleInterfaceIngress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapsuleInterfaceIngress.
func (*CapsuleInterfaceIngress) DeepCopyInto ¶
func (in *CapsuleInterfaceIngress) DeepCopyInto(out *CapsuleInterfaceIngress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CapsuleInterfaceLoadBalancer ¶
type CapsuleInterfaceLoadBalancer struct { //+kubebuilder:validation:Minimum=1 //+kubebuilder:validation:Maximum=65535 Port int32 `json:"port"` }
CapsuleInterfaceLoadBalancer defines that the interface should be exposed as a L4 loadbalancer
func (*CapsuleInterfaceLoadBalancer) DeepCopy ¶
func (in *CapsuleInterfaceLoadBalancer) DeepCopy() *CapsuleInterfaceLoadBalancer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapsuleInterfaceLoadBalancer.
func (*CapsuleInterfaceLoadBalancer) DeepCopyInto ¶
func (in *CapsuleInterfaceLoadBalancer) DeepCopyInto(out *CapsuleInterfaceLoadBalancer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CapsuleList ¶
type CapsuleList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Capsule `json:"items"` }
CapsuleList contains a list of Capsule
func (*CapsuleList) DeepCopy ¶
func (in *CapsuleList) DeepCopy() *CapsuleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapsuleList.
func (*CapsuleList) DeepCopyInto ¶
func (in *CapsuleList) DeepCopyInto(out *CapsuleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CapsuleList) DeepCopyObject ¶
func (in *CapsuleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CapsulePublicInterface ¶
type CapsulePublicInterface struct { Ingress *CapsuleInterfaceIngress `json:"ingress,omitempty"` LoadBalancer *CapsuleInterfaceLoadBalancer `json:"loadBalancer,omitempty"` }
CapsulePublicInterface defines how to publicly expose the interface
func (*CapsulePublicInterface) DeepCopy ¶
func (in *CapsulePublicInterface) DeepCopy() *CapsulePublicInterface
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapsulePublicInterface.
func (*CapsulePublicInterface) DeepCopyInto ¶
func (in *CapsulePublicInterface) DeepCopyInto(out *CapsulePublicInterface)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CapsuleScale ¶
type CapsuleScale struct { Horizontal HorizontalScale `json:"horizontal,omitempty"` Vertical *VerticalScale `json:"vertical,omitempty"` }
func (*CapsuleScale) DeepCopy ¶
func (in *CapsuleScale) DeepCopy() *CapsuleScale
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapsuleScale.
func (*CapsuleScale) DeepCopyInto ¶
func (in *CapsuleScale) DeepCopyInto(out *CapsuleScale)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CapsuleSpec ¶
type CapsuleSpec struct { Image string `json:"image"` Command string `json:"command,omitempty"` Args []string `json:"args,omitempty"` Interfaces []CapsuleInterface `json:"interfaces,omitempty"` Files []File `json:"files,omitempty"` Scale CapsuleScale `json:"scale,omitempty"` NodeSelector map[string]string `json:"nodeSelector,omitempty"` Env *Env `json:"env,omitempty"` }
CapsuleSpec defines the desired state of Capsule
func (*CapsuleSpec) DeepCopy ¶
func (in *CapsuleSpec) DeepCopy() *CapsuleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapsuleSpec.
func (*CapsuleSpec) DeepCopyInto ¶
func (in *CapsuleSpec) DeepCopyInto(out *CapsuleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CapsuleStatus ¶
type CapsuleStatus struct { Replicas uint32 `json:"replicas,omitempty"` ObservedGeneration int64 `json:"observedGeneration,omitempty"` OwnedResources []OwnedResource `json:"ownedResources,omitempty"` Deployment *DeploymentStatus `json:"deploymentStatus,omitempty"` }
CapsuleStatus defines the observed state of Capsule
func (*CapsuleStatus) DeepCopy ¶
func (in *CapsuleStatus) DeepCopy() *CapsuleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapsuleStatus.
func (*CapsuleStatus) DeepCopyInto ¶
func (in *CapsuleStatus) DeepCopyInto(out *CapsuleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentStatus ¶
type DeploymentStatus struct { // +kubebuilder:validation:Enum=created;failed State string `json:"state,omitempty"` Message string `json:"message,omitempty"` }
func (*DeploymentStatus) DeepCopy ¶
func (in *DeploymentStatus) DeepCopy() *DeploymentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentStatus.
func (*DeploymentStatus) DeepCopyInto ¶
func (in *DeploymentStatus) DeepCopyInto(out *DeploymentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Env ¶
type Env struct { // DisableAutomatic sets wether the capsule should disable automatically use // of existing secrets and configmaps which share the same name as the capsule // as environment variables. DisableAutomatic bool `json:"disable_automatic,omitempty"` // From holds a list of references to secrets and configmaps which should // be mounted as environment variables. From []EnvReference `json:"from,omitempty"` }
Env defines what secrets and configmaps should be used for environment variables in the capsule.
func (*Env) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Env.
func (*Env) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvReference ¶
type EnvReference struct { // Kind is the resource kind of the env reference, must be ConfigMap or Secret. Kind string `json:"kind"` // Name is the name of a ConfigMap or Secret in the same namespace as the Capsule. Name string `json:"name"` }
EnvSource holds a reference to either a ConfigMap or a Secret
func (*EnvReference) DeepCopy ¶
func (in *EnvReference) DeepCopy() *EnvReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvReference.
func (*EnvReference) DeepCopyInto ¶
func (in *EnvReference) DeepCopyInto(out *EnvReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type File ¶
type File struct { Ref *FileContentReference `json:"ref,omitempty"` Path string `json:"path"` }
File defines a mounted file and where to retrieve the contents from
func (*File) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new File.
func (*File) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FileContentReference ¶
type FileContentReference struct { Kind string `json:"kind"` Name string `json:"name"` Key string `json:"key"` }
FileContentRef defines the name of a config resource and the key from which to retrieve the contents
func (*FileContentReference) DeepCopy ¶
func (in *FileContentReference) DeepCopy() *FileContentReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileContentReference.
func (*FileContentReference) DeepCopyInto ¶
func (in *FileContentReference) DeepCopyInto(out *FileContentReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HorizontalScale ¶
type HorizontalScale struct { Instances Instances `json:"instances"` CPUTarget *CPUTarget `json:"cpuTarget,omitempty"` }
HorizontalScale defines the policy for the number of replicas of the capsule It can both be configured with autoscaling and with a static number of replicas
func (*HorizontalScale) DeepCopy ¶
func (in *HorizontalScale) DeepCopy() *HorizontalScale
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HorizontalScale.
func (*HorizontalScale) DeepCopyInto ¶
func (in *HorizontalScale) DeepCopyInto(out *HorizontalScale)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Instances ¶
func (*Instances) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Instances.
func (*Instances) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InterfaceGRPCProbe ¶
type InterfaceGRPCProbe struct {
Service string `json:"service"`
}
func (*InterfaceGRPCProbe) DeepCopy ¶
func (in *InterfaceGRPCProbe) DeepCopy() *InterfaceGRPCProbe
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceGRPCProbe.
func (*InterfaceGRPCProbe) DeepCopyInto ¶
func (in *InterfaceGRPCProbe) DeepCopyInto(out *InterfaceGRPCProbe)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InterfaceProbe ¶
type InterfaceProbe struct { Path string `json:"path,omitempty"` TCP bool `json:"tcp,omitempty"` GRPC *InterfaceGRPCProbe `json:"grpc,omitempty"` }
func (*InterfaceProbe) DeepCopy ¶
func (in *InterfaceProbe) DeepCopy() *InterfaceProbe
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceProbe.
func (*InterfaceProbe) DeepCopyInto ¶
func (in *InterfaceProbe) DeepCopyInto(out *InterfaceProbe)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OwnedResource ¶
type OwnedResource struct { Ref *v1.TypedLocalObjectReference `json:"ref"` // +kubebuilder:validation:Enum=created;failed State string `json:"state,omitempty"` Message string `json:"message,omitempty"` }
func (*OwnedResource) DeepCopy ¶
func (in *OwnedResource) DeepCopy() *OwnedResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OwnedResource.
func (*OwnedResource) DeepCopyInto ¶
func (in *OwnedResource) DeepCopyInto(out *OwnedResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceLimits ¶
type ResourceLimits struct { Request *resource.Quantity `json:"request,omitempty"` Limit *resource.Quantity `json:"limit,omitempty"` }
func (*ResourceLimits) DeepCopy ¶
func (in *ResourceLimits) DeepCopy() *ResourceLimits
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceLimits.
func (*ResourceLimits) DeepCopyInto ¶
func (in *ResourceLimits) DeepCopyInto(out *ResourceLimits)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceRequest ¶
func (*ResourceRequest) DeepCopy ¶
func (in *ResourceRequest) DeepCopy() *ResourceRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceRequest.
func (*ResourceRequest) DeepCopyInto ¶
func (in *ResourceRequest) DeepCopyInto(out *ResourceRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VerticalScale ¶
type VerticalScale struct { CPU *ResourceLimits `json:"cpu,omitempty"` Memory *ResourceLimits `json:"memory,omitempty"` GPU *ResourceRequest `json:"gpu,omitempty"` }
func (*VerticalScale) DeepCopy ¶
func (in *VerticalScale) DeepCopy() *VerticalScale
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VerticalScale.
func (*VerticalScale) DeepCopyInto ¶
func (in *VerticalScale) DeepCopyInto(out *VerticalScale)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.