v1alpha1

package
v0.0.0-...-fae4276 Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2023 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the v1alpha1 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: "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 Commands

type Commands struct {

	// Init runs before anything in both scripts
	// +optional
	Init string `json:"init,omitempty"`
}

ContainerResources include limits and requests

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 Config

type Config struct {

	// Password for htcondor setup
	// +optional
	Password string `json:"password"`
}

func (*Config) DeepCopy

func (in *Config) DeepCopy() *Config

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

func (*Config) DeepCopyInto

func (in *Config) DeepCopyInto(out *Config)

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

type HTCondor

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

	Spec   HTCondorSpec   `json:"spec,omitempty"`
	Status HTCondorStatus `json:"status,omitempty"`
}

HTCondor is the Schema for the htcondors API

func (*HTCondor) DeepCopy

func (in *HTCondor) DeepCopy() *HTCondor

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

func (*HTCondor) DeepCopyInto

func (in *HTCondor) DeepCopyInto(out *HTCondor)

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

func (*HTCondor) DeepCopyObject

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

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

func (*HTCondor) Validate

func (hq *HTCondor) Validate() bool

Validate the HTCondor

func (*HTCondor) WorkerNodes

func (hq *HTCondor) WorkerNodes() int32

WorkerNodes returns the number of worker nodes At this point we've already validated size is >= 1

type HTCondorList

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

HTCondorList contains a list of HTCondor

func (*HTCondorList) DeepCopy

func (in *HTCondorList) DeepCopy() *HTCondorList

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

func (*HTCondorList) DeepCopyInto

func (in *HTCondorList) DeepCopyInto(out *HTCondorList)

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

func (*HTCondorList) DeepCopyObject

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

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

type HTCondorSpec

type HTCondorSpec struct {
	// Config Manager is the main server to run HTCondor
	//+optional
	Manager Node `json:"manager"`

	// Submission node
	//+optional
	Submit Node `json:"submit"`

	// Name for the cluster service
	//+optional
	ServiceName string `json:"serviceName"`

	// Configuration values
	//+optional
	Config Config `json:"config"`

	// Execute is for an execution worker node
	//+optional
	Execute Node `json:"execute"`

	// Size of the HTCondor (1 server + (N-1) nodes)
	Size int32 `json:"size"`

	// Interactive mode keeps the cluster running
	// +optional
	Interactive bool `json:"interactive"`

	// Time limit for the job
	// Approximately one year. This cannot be zero or job won't start
	// +kubebuilder:default=31500000
	// +default=31500000
	// +optional
	DeadlineSeconds int64 `json:"deadlineSeconds,omitempty"`

	// Resources include limits and requests
	// +optional
	Resources Resource `json:"resources"`

	// Security Context
	// These are applied to all nodes
	// https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
	// +optional
	SecurityContext SecurityContext `json:"securityContext"`
}

HTCondorSpec defines the desired state of HTCondor

func (*HTCondorSpec) DeepCopy

func (in *HTCondorSpec) DeepCopy() *HTCondorSpec

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

func (*HTCondorSpec) DeepCopyInto

func (in *HTCondorSpec) DeepCopyInto(out *HTCondorSpec)

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

type HTCondorStatus

type HTCondorStatus struct{}

HTCondorStatus defines the observed state of HTCondor

func (*HTCondorStatus) DeepCopy

func (in *HTCondorStatus) DeepCopy() *HTCondorStatus

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

func (*HTCondorStatus) DeepCopyInto

func (in *HTCondorStatus) DeepCopyInto(out *HTCondorStatus)

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

type Node

type Node struct {

	// Image to use for HTCondor
	// +optional
	Image string `json:"image"`

	// Resources include limits and requests
	// +optional
	Resources Resources `json:"resources"`

	// PullSecret for the node, if needed
	// +optional
	PullSecret string `json:"pullSecret"`

	// Command will be honored by a server node
	// +optional
	Command string `json:"command,omitempty"`

	// Commands to run around different parts of the hyperqueu setup
	// +optional
	Commands Commands `json:"commands,omitempty"`

	// Working directory
	// +optional
	WorkingDir string `json:"workingDir,omitempty"`

	// PullAlways will always pull the container
	// +optional
	PullAlways bool `json:"pullAlways"`

	// Ports to be exposed to other containers in the cluster
	// We take a single list of integers and map to the same
	// +optional
	// +listType=atomic
	Ports []int32 `json:"ports"`

	// Key/value pairs for the environment
	// +optional
	Environment map[string]string `json:"environment"`
}

Node corresponds to a pod (server or worker)

func (*Node) DeepCopy

func (in *Node) DeepCopy() *Node

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

func (*Node) DeepCopyInto

func (in *Node) DeepCopyInto(out *Node)

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

type Resource

type Resource map[string]intstr.IntOrString

func (Resource) DeepCopy

func (in Resource) DeepCopy() Resource

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

func (Resource) DeepCopyInto

func (in Resource) DeepCopyInto(out *Resource)

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

type Resources

type Resources struct {

	// +optional
	Limits Resource `json:"limits"`

	// +optional
	Requests Resource `json:"requests"`
}

ContainerResources include limits and requests

func (*Resources) DeepCopy

func (in *Resources) DeepCopy() *Resources

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

func (*Resources) DeepCopyInto

func (in *Resources) DeepCopyInto(out *Resources)

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

type SecurityContext

type SecurityContext struct {

	// Privileged container
	// +optional
	Privileged bool `json:"privileged,omitempty"`
}

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