Documentation
¶
Overview ¶
Package v1alpha2 contains API Schema definitions for the v1alpha2 API group +kubebuilder:object:generate=true +groupName=flux-framework.org
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "flux-framework.org", Version: "v1alpha2"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type Commands ¶
type Commands struct {
// pre command happens at start (before anything else)
// +optional
Pre string `json:"pre"`
// Command prefix to put in front of a metric main command (not applicable for all)
//+optional
Prefix string `json:"prefix"`
// post happens at end (after collection end)
// +optional
Post string `json:"post"`
}
func (*Commands) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Commands.
func (*Commands) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerResource ¶
type ContainerResource map[string]intstr.IntOrString
func (ContainerResource) DeepCopy ¶
func (in ContainerResource) DeepCopy() ContainerResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerResource.
func (ContainerResource) DeepCopyInto ¶
func (in ContainerResource) DeepCopyInto(out *ContainerResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerResources ¶
type ContainerResources struct {
// +optional
Limits ContainerResource `json:"limits"`
// +optional
Requests ContainerResource `json:"requests"`
}
ContainerResources include limits and requests
func (*ContainerResources) DeepCopy ¶
func (in *ContainerResources) DeepCopy() *ContainerResources
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerResources.
func (*ContainerResources) DeepCopyInto ¶
func (in *ContainerResources) DeepCopyInto(out *ContainerResources)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerSpec ¶
type ContainerSpec struct {
// Security context for the pod
//+optional
SecurityContext SecurityContext `json:"securityContext"`
}
A container spec can belong to a metric or application
func (*ContainerSpec) DeepCopy ¶
func (in *ContainerSpec) DeepCopy() *ContainerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerSpec.
func (*ContainerSpec) DeepCopyInto ¶
func (in *ContainerSpec) DeepCopyInto(out *ContainerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Logging ¶
type Logging struct {
// Don't allow the application, metric, or storage test to finish
// This adds sleep infinity at the end to allow for interactive mode.
// +optional
Interactive bool `json:"interactive"`
}
func (*Logging) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Logging.
func (*Logging) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Metric ¶
type Metric struct {
Name string `json:"name"`
// Metric Options
// Metric specific options
// +optional
Options map[string]intstr.IntOrString `json:"options"`
// Use a custom container image (advanced users only)
// +optional
Image string `json:"image,omitempty"`
// A Metric addon can be storage (volume) or an application,
// It's an additional entity that can customize a replicated job,
// either adding assets / features or entire containers to the pod
//+optional
Addons []MetricAddon `json:"addons"`
// Metric List Options
// Metric specific options
// +optional
ListOptions map[string][]intstr.IntOrString `json:"listOptions"`
// Metric Map Options
// +optional
MapOptions map[string]map[string]intstr.IntOrString `json:"mapOptions"`
// Container Spec has attributes for the container
//+optional
Attributes ContainerSpec `json:"attributes"`
// Resources include limits and requests for the metric container
// +optional
Resources ContainerResources `json:"resources"`
}
func (*Metric) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metric.
func (*Metric) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetricAddon ¶
type MetricAddon struct {
Name string `json:"name"`
// Metric Addon Options
// +optional
Options map[string]intstr.IntOrString `json:"options"`
// Addon List Options
// +optional
ListOptions map[string][]intstr.IntOrString `json:"listOptions"`
// Addon Map Options
// +optional
MapOptions map[string]map[string]intstr.IntOrString `json:"mapOptions"`
}
A Metric addon is an interface that exposes extra volumes for a metric. Examples include: A storage volume to be mounted on one or more of the replicated jobs A single application container.
func (*MetricAddon) DeepCopy ¶
func (in *MetricAddon) DeepCopy() *MetricAddon
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricAddon.
func (*MetricAddon) DeepCopyInto ¶
func (in *MetricAddon) DeepCopyInto(out *MetricAddon)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetricSet ¶
type MetricSet struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec MetricSetSpec `json:"spec,omitempty"`
Status MetricSetStatus `json:"status,omitempty"`
}
MetricSet is the Schema for the metrics API
func (*MetricSet) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricSet.
func (*MetricSet) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MetricSet) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*MetricSet) GetPodLabels ¶
Get pod labels for a metric set
type MetricSetList ¶
type MetricSetList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []MetricSet `json:"items"`
}
MetricSetList contains a list of MetricSet
func (*MetricSetList) DeepCopy ¶
func (in *MetricSetList) DeepCopy() *MetricSetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricSetList.
func (*MetricSetList) DeepCopyInto ¶
func (in *MetricSetList) DeepCopyInto(out *MetricSetList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MetricSetList) DeepCopyObject ¶
func (in *MetricSetList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MetricSetSpec ¶
type MetricSetSpec struct {
// The name of the metric (that will be associated with a flavor like storage)
// +optional
Metrics []Metric `json:"metrics"`
// Don't set JobSet FQDN
// +optional
DontSetFQDN bool `json:"dontSetFQDN"`
// Service name for the JobSet (MetricsSet) cluster network
// +kubebuilder:default="ms"
// +default="ms"
// +optional
ServiceName string `json:"serviceName"`
// Should the job be limited to a particular number of seconds?
// Approximately one year. This cannot be zero or job won't start
// +kubebuilder:default=31500000
// +default=31500000
// +optional
DeadlineSeconds int64 `json:"deadlineSeconds,omitempty"`
// Pod spec for the application, standalone, or storage metrics
//+optional
Pod Pod `json:"pod"`
// Parallelism (e.g., pods)
// +kubebuilder:default=1
// +default=1
// +optional
Pods int32 `json:"pods"`
// Resources include limits and requests for each pod (that include a JobSet)
// +optional
Resources ContainerResource `json:"resources"`
// Logging spec, preparing for other kinds of logging
// Right now we just include an interactive option
//+optional
Logging Logging `json:"logging"`
}
MetricSpec defines the desired state of Metric
func (*MetricSetSpec) DeepCopy ¶
func (in *MetricSetSpec) DeepCopy() *MetricSetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricSetSpec.
func (*MetricSetSpec) DeepCopyInto ¶
func (in *MetricSetSpec) DeepCopyInto(out *MetricSetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetricSetStatus ¶
type MetricSetStatus struct{}
MetricStatus defines the observed state of Metric
func (*MetricSetStatus) DeepCopy ¶
func (in *MetricSetStatus) DeepCopy() *MetricSetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricSetStatus.
func (*MetricSetStatus) DeepCopyInto ¶
func (in *MetricSetStatus) DeepCopyInto(out *MetricSetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Pod ¶
type Pod struct {
// Annotations to add to the pod
//+optional
Annotations map[string]string `json:"annotations"`
// Labels to add to the pod
//+optional
Labels map[string]string `json:"labels"`
// name of service account to associate with pod
//+optional
ServiceAccountName string `json:"serviceAccountName"`
// NodeSelector labels
//+optional
NodeSelector map[string]string `json:"nodeSelector"`
}
Pod attributes that can be given to an application or metric
func (*Pod) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pod.
func (*Pod) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecurityContext ¶
type SecurityContext struct {
//+optional
Privileged bool `json:"privileged"`
//+optional
AllowPtrace bool `json:"allowPtrace"`
//+optional
AllowAdmin bool `json:"allowAdmin"`
}
func (*SecurityContext) DeepCopy ¶
func (in *SecurityContext) DeepCopy() *SecurityContext
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityContext.
func (*SecurityContext) DeepCopyInto ¶
func (in *SecurityContext) DeepCopyInto(out *SecurityContext)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.