v1alpha2

package
v0.1.13-1 Latest Latest
Warning

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

Go to latest
Published: Nov 27, 2023 License: MIT Imports: 6 Imported by: 0

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

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

func (in *Commands) DeepCopy() *Commands

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

func (*Commands) DeepCopyInto

func (in *Commands) DeepCopyInto(out *Commands)

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

func (in *Logging) DeepCopy() *Logging

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

func (*Logging) DeepCopyInto

func (in *Logging) DeepCopyInto(out *Logging)

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

func (in *Metric) DeepCopy() *Metric

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

func (*Metric) DeepCopyInto

func (in *Metric) DeepCopyInto(out *Metric)

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

func (in *MetricSet) DeepCopy() *MetricSet

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

func (*MetricSet) DeepCopyInto

func (in *MetricSet) DeepCopyInto(out *MetricSet)

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

func (*MetricSet) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*MetricSet) GetPodLabels

func (m *MetricSet) GetPodLabels() map[string]string

Get pod labels for a metric set

func (*MetricSet) Validate

func (m *MetricSet) Validate() bool

Validate a requested metricset

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

func (in *Pod) DeepCopy() *Pod

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

func (*Pod) DeepCopyInto

func (in *Pod) DeepCopyInto(out *Pod)

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.

Jump to

Keyboard shortcuts

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