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.