Documentation ¶
Overview ¶
Package v1alpha2 contains API Schema definitions for the v1alpha2 API group +kubebuilder:object:generate=true +groupName=rig.dev
Index ¶
- Variables
- func MaxAllowedCronJobName(capsuleName string) int
- 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(_ runtime.Object) (admission.Warnings, error)
- type CapsuleInterface
- type CapsuleInterfaceIngress
- type CapsuleInterfaceLoadBalancer
- type CapsuleList
- type CapsulePublicInterface
- type CapsuleScale
- type CapsuleSpec
- type CapsuleStatus
- type CronJob
- type CustomMetric
- type DeploymentStatus
- type Env
- type EnvReference
- type File
- type FileContentReference
- type HTTPPathRoute
- type HorizontalScale
- type HostRoute
- type InstanceMetric
- type Instances
- type InterfaceGRPCProbe
- type InterfaceProbe
- type JobCommand
- type ObjectMetric
- type OwnedResource
- type PathMatchType
- type ResourceLimits
- type ResourceRequest
- type RouteOptions
- type URL
- type UsedResource
- 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 ¶
func MaxAllowedCronJobName ¶ added in v1.5.2
Types ¶
type CPUTarget ¶
type CPUTarget struct { // Utilization specifies the average CPU target. If the average // exceeds this number new instances will be added. //+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 holds the specification of the Capsule. Spec CapsuleSpec `json:"spec,omitempty"` // Status holds the status of the Capsule 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 specifies a descriptive name of the interface. Name string `json:"name"` // Port specifies what port the interface should have. //+kubebuilder:validation:Minimum=1 //+kubebuilder:validation:Maximum=65535 Port int32 `json:"port"` // Liveness specifies that this interface should be used for // liveness probing. Only one of the Capsule interfaces can be // used as liveness probe. Liveness *InterfaceProbe `json:"liveness,omitempty"` // Readiness specifies that this interface should be used for // readiness probing. Only one of the Capsule interfaces can be // used as readiness probe. Readiness *InterfaceProbe `json:"readiness,omitempty"` // Public specifies if and how the interface should be published. Public *CapsulePublicInterface `json:"public,omitempty"` // Host routes that are mapped to this interface. Routes []HostRoute `json:"routes,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 specifies the DNS name of the Ingress resource. Host string `json:"host"` // Paths specifies a list of paths. In order for a request to // hit the ingress at least one of these must match the request. Paths []string `json:"paths,omitempty"` }
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 { // Port is the external port on the LoadBalancer //+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 specifies that this interface should be exposed through an // Ingress resource. The Ingress field is mutually exclusive with the // LoadBalancer field. Ingress *CapsuleInterfaceIngress `json:"ingress,omitempty"` // LoadBalancer specifies that this interface should be exposed through a // LoadBalancer Service. The LoadBalancer field is mutually exclusive with // the Ingress field. 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 specifies the horizontal scaling of the Capsule. Horizontal HorizontalScale `json:"horizontal,omitempty"` // Vertical specifies the vertical scaling of the Capsule. Vertical *VerticalScale `json:"vertical,omitempty"` }
CapsuleScale specifies the horizontal and vertical scaling of the Capsule.
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 specifies what image the Capsule should run. Image string `json:"image"` // Command is run as a command in the shell. If left unspecified, the // container will run using what is specified as ENTRYPOINT in the // Dockerfile. Command string `json:"command,omitempty"` // Args is a list of arguments either passed to the Command or if Command // is left empty the arguments will be passed to the ENTRYPOINT of the // docker image. Args []string `json:"args,omitempty"` // Interfaces specifies the list of interfaces the the container should // have. Specifying interfaces will create the corresponding kubernetes // Services and Ingresses depending on how the interface is configured. Interfaces []CapsuleInterface `json:"interfaces,omitempty"` // Files is a list of files to mount in the container. These can either be // based on ConfigMaps or Secrets. Files []File `json:"files,omitempty"` // Scale specifies the scaling of the Capsule. Scale CapsuleScale `json:"scale,omitempty"` // NodeSelector is a selector for what nodes the Capsule should live on. NodeSelector map[string]string `json:"nodeSelector,omitempty"` // Env specifies configuration for how the container should obtain // environment variables. Env Env `json:"env,omitempty"` CronJobs []CronJob `json:"cronJobs,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"` UsedResources []UsedResource `json:"usedResources,omitempty"` Deployment *DeploymentStatus `json:"deploymentStatus,omitempty"` Errors []string `json:"errors,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 CronJob ¶ added in v1.5.2
type CronJob struct { // +kubebuilder:validation:Required Name string `json:"name"` // +kubebuilder:validation:Required Schedule string `json:"schedule"` URL *URL `json:"url,omitempty"` Command *JobCommand `json:"command,omitempty"` // Defaults to 6 MaxRetries *uint `json:"maxRetries,omitempty"` TimeoutSeconds *uint `json:"timeoutSeconds,omitempty"` }
func (*CronJob) DeepCopy ¶ added in v1.5.2
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CronJob.
func (*CronJob) DeepCopyInto ¶ added in v1.5.2
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CustomMetric ¶
type CustomMetric struct { // InstanceMetric defines a custom instance-based metric (pod-metric in Kubernetes lingo) InstanceMetric *InstanceMetric `json:"instanceMetric,omitempty"` // ObjectMetric defines a custom object-based metric ObjectMetric *ObjectMetric `json:"objectMetric,omitempty"` }
CustomMetric defines a custom metrics emitted by the custom.metrics.k8s.io API which the autoscaler should scale on Exactly one of InstanceMetric and ObjectMetric must be provided
func (*CustomMetric) DeepCopy ¶
func (in *CustomMetric) DeepCopy() *CustomMetric
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomMetric.
func (*CustomMetric) DeepCopyInto ¶
func (in *CustomMetric) DeepCopyInto(out *CustomMetric)
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 specifies a reference to a ConfigMap or Secret key which holds the contents of the file. Ref *FileContentReference `json:"ref,omitempty"` // Path specifies the full path where the File should be mounted including // the file name. 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 of reference. Can be either ConfigMap or Secret. Kind string `json:"kind"` // Name of reference. Name string `json:"name"` // Key in reference which holds file contents. 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 HTTPPathRoute ¶ added in v1.8.0
type HTTPPathRoute struct { // Path of the route. Path string `json:"path"` // The method of matching. By default, `PathPrefix` is used. // +kubebuilder:validation:Enum=PathPrefix;Exact Match PathMatchType `json:"match,omitempty"` }
A HTTP path routing.
func (*HTTPPathRoute) DeepCopy ¶ added in v1.8.0
func (in *HTTPPathRoute) DeepCopy() *HTTPPathRoute
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPPathRoute.
func (*HTTPPathRoute) DeepCopyInto ¶ added in v1.8.0
func (in *HTTPPathRoute) DeepCopyInto(out *HTTPPathRoute)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HorizontalScale ¶
type HorizontalScale struct { // Instances specifies minimum and maximum amount of Capsule // instances. Instances Instances `json:"instances"` // CPUTarget specifies that this Capsule should be scaled using CPU // utilization. CPUTarget *CPUTarget `json:"cpuTarget,omitempty"` // CustomMetrics specifies custom metrics emitted by the custom.metrics.k8s.io API // which the autoscaler should scale on CustomMetrics []CustomMetric `json:"customMetrics,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 HostRoute ¶ added in v1.8.0
type HostRoute struct { // ID of the route. This field is required and cannot be empty, and must be unique for the interface. // If this field is changed, it may result in downtime, as it is used to generate resources. ID string `json:"id"` // Host of the route. This field is required and cannot be empty. Host string `json:"host"` // HTTP paths of the host that maps to the interface. If empty, all paths are // automatically matched. Paths []HTTPPathRoute `json:"paths,omitempty"` // Options for all paths of this host. RouteOptions `json:",inline"` }
HostRoute is the configuration of a route to the network interface it's configured on.
func (*HostRoute) DeepCopy ¶ added in v1.8.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostRoute.
func (*HostRoute) DeepCopyInto ¶ added in v1.8.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstanceMetric ¶
type InstanceMetric struct { // +kubebuilder:validation:Required // MetricName is the name of the metric MetricName string `json:"metricName"` // MatchLabels is a set of key, value pairs which filters the metric series MatchLabels map[string]string `json:"matchLabels,omitempty"` // +kubebuilder:validation:Required // AverageValue defines the average value across all instances which the autoscaler scales towards AverageValue string `json:"averageValue"` }
InstanceMetric defines a custom instance-based metric (pod-metric in Kubernetes lingo)
func (*InstanceMetric) DeepCopy ¶
func (in *InstanceMetric) DeepCopy() *InstanceMetric
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceMetric.
func (*InstanceMetric) DeepCopyInto ¶
func (in *InstanceMetric) DeepCopyInto(out *InstanceMetric)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Instances ¶
type Instances struct { // Min specifies the minimum amount of instances to run. Min uint32 `json:"min"` // Max specifies the maximum amount of instances to run. Omit to // disable autoscaling. Max *uint32 `json:"max,omitempty"` }
Instances specifies the minimum and maximum amount of capsule 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 specifies the GRPC health probe service to probe. This is a // used as service name as per standard GRPC health/v1. Service string `json:"service"` }
InterfaceGRPCProbe specifies a GRPC probe.
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 is the HTTP path of the probe. Path is mutually // exclusive with the TCP and GCRP fields. Path string `json:"path,omitempty"` // TCP specifies that this is a simple TCP listen probe. TCP bool `json:"tcp,omitempty"` // GRPC specifies that this is a GRCP probe. GRPC *InterfaceGRPCProbe `json:"grpc,omitempty"` }
InterfaceProbe specifies an interface probe
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 JobCommand ¶ added in v1.5.2
type JobCommand struct { // +kubebuilder:validation:Required Command string `json:"command"` Args []string `json:"args,omitempty"` }
func (*JobCommand) DeepCopy ¶ added in v1.5.2
func (in *JobCommand) DeepCopy() *JobCommand
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobCommand.
func (*JobCommand) DeepCopyInto ¶ added in v1.5.2
func (in *JobCommand) DeepCopyInto(out *JobCommand)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectMetric ¶
type ObjectMetric struct { // +kubebuilder:validation:Required // MetricName is the name of the metric MetricName string `json:"metricName"` // MatchLabels is a set of key, value pairs which filters the metric series MatchLabels map[string]string `json:"matchLabels,omitempty"` // AverageValue scales the number of instances towards making the value returned by the metric // divided by the number of instances reach AverageValue // Exactly one of 'Value' and 'AverageValue' must be set AverageValue string `json:"averageValue,omitempty"` // Value scales the number of instances towards making the value returned by the metric 'Value' // Exactly one of 'Value' and 'AverageValue' must be set Value string `json:"value,omitempty"` // +kubebuilder:validation:Required // DescribedObject is a reference to the object in the same namespace which is described by the metric DescribedObject autoscalingv2.CrossVersionObjectReference `json:"objectReference"` }
ObjectMetric defines a custom object metric for the autoscaler
func (*ObjectMetric) DeepCopy ¶
func (in *ObjectMetric) DeepCopy() *ObjectMetric
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectMetric.
func (*ObjectMetric) DeepCopyInto ¶
func (in *ObjectMetric) DeepCopyInto(out *ObjectMetric)
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;alreadyExists;unchanged;updated;changePending;deleted 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 PathMatchType ¶ added in v1.8.0
type PathMatchType string
PathMatchType specifies the semantics of how HTTP paths should be compared.
const ( // Exact match type, for when the path should match exactly. Exact PathMatchType = "Exact" // Path prefix, for when only the prefix needs to match. PathPrefix PathMatchType = "PathPrefix" )
type ResourceLimits ¶
type ResourceLimits struct { // Request specifies the resource request. Request *resource.Quantity `json:"request,omitempty"` // Limit specifies the resource limit. Limit *resource.Quantity `json:"limit,omitempty"` }
ResourceLimits specifies the request and limit of a resource.
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 ¶
type ResourceRequest struct { // Request specifies the request of a resource. Request resource.Quantity `json:"request,omitempty"` }
ResourceRequest specifies the request of a resource.
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 RouteOptions ¶ added in v1.8.0
type RouteOptions struct { // Annotations of the route option. This can be plugin-specific configuration // that allows custom plugins to add non-standard behavior. Annotations map[string]string `json:"annotations,omitempty"` }
Route options.
func (*RouteOptions) DeepCopy ¶ added in v1.8.0
func (in *RouteOptions) DeepCopy() *RouteOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteOptions.
func (*RouteOptions) DeepCopyInto ¶ added in v1.8.0
func (in *RouteOptions) DeepCopyInto(out *RouteOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type URL ¶ added in v1.5.2
type URL struct { // +kubebuilder:validation:Required Port uint16 `json:"port"` // +kubebuilder:validation:Required Path string `json:"path"` QueryParameters map[string]string `json:"queryParameters,omitempty"` }
func (*URL) DeepCopy ¶ added in v1.5.2
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URL.
func (*URL) DeepCopyInto ¶ added in v1.5.2
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UsedResource ¶
type UsedResource struct { Ref *v1.TypedLocalObjectReference `json:"ref"` // +kubebuilder:validation:Enum=found;missing;error State string `json:"state,omitempty"` Message string `json:"message,omitempty"` }
func (*UsedResource) DeepCopy ¶
func (in *UsedResource) DeepCopy() *UsedResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UsedResource.
func (*UsedResource) DeepCopyInto ¶
func (in *UsedResource) DeepCopyInto(out *UsedResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VerticalScale ¶
type VerticalScale struct { // CPU specifies the CPU resource request and limit CPU *ResourceLimits `json:"cpu,omitempty"` // Memory specifies the Memory resource request and limit Memory *ResourceLimits `json:"memory,omitempty"` // GPU specifies the GPU resource request and limit GPU *ResourceRequest `json:"gpu,omitempty"` }
VerticalScale specifies the vertical scaling of the Capsule.
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.