Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=rig.dev
Index ¶
- Variables
- type CPUTarget
- type Capsule
- func (c *Capsule) ConvertFrom(srcRaw conversion.Hub) error
- func (c *Capsule) ConvertTo(dstRaw conversion.Hub) error
- func (in *Capsule) DeepCopy() *Capsule
- func (in *Capsule) DeepCopyInto(out *Capsule)
- func (in *Capsule) DeepCopyObject() runtime.Object
- func (r *Capsule) SetupWebhookWithManager(mgr ctrl.Manager) error
- type CapsuleInterface
- type CapsuleInterfaceIngress
- type CapsuleInterfaceLoadBalancer
- type CapsuleList
- type CapsulePublicInterface
- type CapsuleSpec
- type CapsuleStatus
- type DeploymentStatus
- type Env
- type EnvSource
- type File
- type FileContentRef
- type HorizontalScale
- type OwnedResource
- type Scale
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "rig.dev", 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 CPUTarget ¶
type CPUTarget struct { // AverageUtilizationPercentage sets the utilization which when exceeded // will trigger autoscaling. //+kubebuilder:validation:Minimum=0 //+kubebuilder:validation:Maximum=100 AverageUtilizationPercentage uint32 `json:"averageUtilizationPercentage"` }
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"` // Scale holds metadata for the HorizontalPodAutoscaler Scale Scale `json:"scale,omitempty"` }
Capsule is the Schema for the capsules API
func (*Capsule) ConvertFrom ¶ added in v1.5.0
func (c *Capsule) ConvertFrom(srcRaw conversion.Hub) error
ConvertFrom converts from the Hub version (v1) to this version.
func (*Capsule) ConvertTo ¶ added in v1.5.0
func (c *Capsule) ConvertTo(dstRaw conversion.Hub) error
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.
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"` // Public specifies if and how the interface should be published. 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 specifies the DNS name of the Ingress resource 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 { // Port is the external port on the LoadBalancer //+kubebuilder:validation:Minimum=1 //+kubebuilder:validation:Maximum=65535 Port int32 `json:"port"` // NodePort specifies a NodePort that the Service will use instead of // acting as a LoadBalancer. NodePort int32 `json:"nodePort,omitempty"` }
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 CapsuleSpec ¶
type CapsuleSpec struct { // Replicas specifies how many replicas the Capsule should have. Replicas *int32 `json:"replicas,omitempty"` // 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"` // Env specifies configuration for how the container should obtain // environment variables. Env *Env `json:"env,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"` // Resources describes what resources the Capsule should have access to. Resources *v1.ResourceRequirements `json:"resources,omitempty"` // ImagePullSecret is a reference to a secret holding docker credentials // for the registry of the image. ImagePullSecret *v1.LocalObjectReference `json:"imagePullSecret,omitempty"` // HorizontalScale describes how the Capsule should scale out HorizontalScale HorizontalScale `json:"horizontalScale,omitempty"` // ServiceAccountName specifies the name of an existing ServiceAccount // which the Capsule should run as. ServiceAccountName string `json:"serviceAccountName,omitempty"` // NodeSelector is a selector for what nodes the Capsule should live on. NodeSelector map[string]string `json:"nodeSelector,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 ¶ added in v1.2.5
type DeploymentStatus struct { // +kubebuilder:validation:Enum=created;failed State string `json:"state,omitempty"` Message string `json:"message,omitempty"` }
func (*DeploymentStatus) DeepCopy ¶ added in v1.2.5
func (in *DeploymentStatus) DeepCopy() *DeploymentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentStatus.
func (*DeploymentStatus) DeepCopyInto ¶ added in v1.2.5
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 ¶ added in v1.4.0
type Env struct { // Automatic sets wether the capsule should automatically use existing // secrets and configmaps which share the same name as the capsule as // environment variables. Automatic *bool `json:"automatic,omitempty"` // From holds a list of references to secrets and configmaps which should // be mounted as environment variables. From []EnvSource `json:"from,omitempty"` }
Env defines what secrets and configmaps should be used for environment variables in the capsule.
func (*Env) DeepCopy ¶ added in v1.4.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Env.
func (*Env) DeepCopyInto ¶ added in v1.4.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvSource ¶ added in v1.4.0
type EnvSource struct { // ConfigMapName is the name of a ConfigMap in the same namespace as the Capsule ConfigMapName string `json:"configMapName,omitempty"` // SecretName is the name of a Secret in the same namespace as the Capsule SecretName string `json:"secretName,omitempty"` }
EnvSource holds a reference to either a ConfigMap or a Secret
func (*EnvSource) DeepCopy ¶ added in v1.4.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvSource.
func (*EnvSource) DeepCopyInto ¶ added in v1.4.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type File ¶
type File struct { // Path specifies the full path where the File should be mounted including // the file name. Path string `json:"path"` // ConfigMap specifies that this file is based on a key in a ConfigMap. The // ConfigMap field is mutually exclusive with Secret. ConfigMap *FileContentRef `json:"configMap,omitempty"` // Secret specifies that this file is based on a key in a Secret. The // Secret field is mutually exclusive with ConfigMap. Secret *FileContentRef `json:"secret,omitempty"` }
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 FileContentRef ¶
type FileContentRef struct { // Name specifies the name of the Secret or ConfigMap. Name string `json:"name"` // Key specifies the key holding the file contents. Key string `json:"key"` }
FileContentRef defines the name of a config resource and the key from which to retrieve the contents
func (*FileContentRef) DeepCopy ¶
func (in *FileContentRef) DeepCopy() *FileContentRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileContentRef.
func (*FileContentRef) DeepCopyInto ¶
func (in *FileContentRef) DeepCopyInto(out *FileContentRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HorizontalScale ¶
type HorizontalScale struct { // MinReplicas is the minimum amount of replicas that the Capsule should // have. MinReplicas *uint32 `json:"minReplicas,omitempty"` // MaxReplicas is the maximum amount of replicas that the Capsule should // have. MaxReplicas *uint32 `json:"maxReplicas,omitempty"` // CPUTarget specifies that this Capsule should be scaled using CPU // utilization. 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 OwnedResource ¶ added in v1.2.5
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 ¶ added in v1.2.5
func (in *OwnedResource) DeepCopy() *OwnedResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OwnedResource.
func (*OwnedResource) DeepCopyInto ¶ added in v1.2.5
func (in *OwnedResource) DeepCopyInto(out *OwnedResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Scale ¶
type Scale struct {
Replicas uint32 `json:"replicas"`
}
func (*Scale) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Scale.
func (*Scale) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.