v1alpha1

package
v0.0.0-...-31bf039 Latest Latest
Warning

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

Go to latest
Published: Oct 23, 2024 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the ensemble v1alpha1 API group +kubebuilder:object:generate=true +groupName=ensemble.flux-framework.org

Index

Constants

This section is empty.

Variables

View Source
var (
	MiniclusterType = "minicluster"
	UnknownType     = "unknown"
)
View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "ensemble.flux-framework.org", 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 Ensemble

type Ensemble struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   EnsembleSpec   `json:"spec,omitempty"`
	Status EnsembleStatus `json:"status,omitempty"`
}

Ensemble is the Schema for the ensembles API

func (*Ensemble) DeepCopy

func (in *Ensemble) DeepCopy() *Ensemble

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

func (*Ensemble) DeepCopyInto

func (in *Ensemble) DeepCopyInto(out *Ensemble)

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

func (*Ensemble) DeepCopyObject

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

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

func (*Ensemble) ServiceName

func (e *Ensemble) ServiceName() string

func (*Ensemble) Validate

func (e *Ensemble) Validate() error

Validate ensures we have data that is needed, and sets defaults if needed

type EnsembleList

type EnsembleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Ensemble `json:"items"`
}

EnsembleList contains a list of Ensemble

func (*EnsembleList) DeepCopy

func (in *EnsembleList) DeepCopy() *EnsembleList

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

func (*EnsembleList) DeepCopyInto

func (in *EnsembleList) DeepCopyInto(out *EnsembleList)

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

func (*EnsembleList) DeepCopyObject

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

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

type EnsembleSpec

type EnsembleSpec struct {
	Members []Member `json:"members"`

	// Definition and customization of the sidecar
	//+optional
	Sidecar Sidecar `json:"sidecar,omitempty"`
}

EnsembleSpec defines the desired state of Ensemble

func (*EnsembleSpec) DeepCopy

func (in *EnsembleSpec) DeepCopy() *EnsembleSpec

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

func (*EnsembleSpec) DeepCopyInto

func (in *EnsembleSpec) DeepCopyInto(out *EnsembleSpec)

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

type EnsembleStatus

type EnsembleStatus struct{}

EnsembleStatus defines the observed state of Ensemble

func (*EnsembleStatus) DeepCopy

func (in *EnsembleStatus) DeepCopy() *EnsembleStatus

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

func (*EnsembleStatus) DeepCopyInto

func (in *EnsembleStatus) DeepCopyInto(out *EnsembleStatus)

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

type Member

type Member struct {

	// MiniCluster is of a type MiniCluster, the base unit of an ensemble.
	// We do this because we install a flux metrics API within each MiniCluster to manage it
	// TODO where should the user define the size? Here or with the member?
	// +optional
	MiniCluster minicluster.MiniCluster `json:"minicluster,omitempty"`

	// Branch
	// Instead of pip, install a specific branch of ensemble python
	// +optional
	Branch string `json:"branch"`

	// Ensemble yaml (configuration file)
	Ensemble string `json:"ensemble"`
}

A member of the ensemble that will run for some number of times, optionally with a maximum or minumum

func (*Member) DeepCopy

func (in *Member) DeepCopy() *Member

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

func (*Member) DeepCopyInto

func (in *Member) DeepCopyInto(out *Member)

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

func (*Member) Size

func (m *Member) Size() int32

Size is a common function to return a member size This should only be used on init, as the size is then stored in status As long as the MiniCluster is not created, the actual spec size won't be used again.

func (*Member) Type

func (m *Member) Type() string

Helper function get member type

type Sidecar

type Sidecar struct {

	// Baseimage for the sidecar that will monitor the queue.
	// Ensure that the operating systems match!
	// +kubebuilder:default="ghcr.io/converged-computing/ensemble-operator-api:rockylinux9"
	// +default="ghcr.io/converged-computing/ensemble-operator-api:rockylinux9"
	// +optional
	Image string `json:"image"`

	// Sidecar image pull policy
	// +optional
	ImagePullPolicy string `json:"imagePullPolicy"`

	// +kubebuilder:default="50051"
	// +default="50051"
	Port string `json:"port"`

	// +kubebuilder:default=10
	// +default=10
	Workers int32 `json:"workers"`
}

func (*Sidecar) DeepCopy

func (in *Sidecar) DeepCopy() *Sidecar

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

func (*Sidecar) DeepCopyInto

func (in *Sidecar) DeepCopyInto(out *Sidecar)

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