v1alpha2

package
v1.8.0 Latest Latest
Warning

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

Go to latest
Published: Mar 27, 2024 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Overview

Package v1alpha2 contains API Schema definitions for the v1alpha2 API group +kubebuilder:object:generate=true +groupName=rig.dev

Index

Constants

This section is empty.

Variables

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

func MaxAllowedCronJobName(capsuleName string) int

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

func (in *CPUTarget) DeepCopy() *CPUTarget

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

func (*CPUTarget) DeepCopyInto

func (in *CPUTarget) DeepCopyInto(out *CPUTarget)

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

func (in *Capsule) DeepCopy() *Capsule

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

func (*Capsule) DeepCopyInto

func (in *Capsule) DeepCopyInto(out *Capsule)

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

func (*Capsule) DeepCopyObject

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

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) Hub

func (c *Capsule) Hub()

func (*Capsule) SetupWebhookWithManager

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

func (*Capsule) ValidateCreate

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

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

func (*Capsule) ValidateDelete

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

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

func (*Capsule) ValidateUpdate

func (r *Capsule) ValidateUpdate(_ runtime.Object) (admission.Warnings, error)

ValidateUpdate 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

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

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

func (*CapsuleInterfaceLoadBalancer) DeepCopyInto

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

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

func (in *CronJob) DeepCopy() *CronJob

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

func (*CronJob) DeepCopyInto added in v1.5.2

func (in *CronJob) DeepCopyInto(out *CronJob)

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

func (in *Env) DeepCopy() *Env

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

func (*Env) DeepCopyInto

func (in *Env) DeepCopyInto(out *Env)

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

func (in *File) DeepCopy() *File

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

func (*File) DeepCopyInto

func (in *File) DeepCopyInto(out *File)

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

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

func (in *HostRoute) DeepCopy() *HostRoute

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

func (*HostRoute) DeepCopyInto added in v1.8.0

func (in *HostRoute) DeepCopyInto(out *HostRoute)

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

func (in *Instances) DeepCopy() *Instances

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

func (*Instances) DeepCopyInto

func (in *Instances) DeepCopyInto(out *Instances)

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

func (in *URL) DeepCopy() *URL

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

func (*URL) DeepCopyInto added in v1.5.2

func (in *URL) DeepCopyInto(out *URL)

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.

Jump to

Keyboard shortcuts

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