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 ¶
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 ¶
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 Config ¶
type Config struct { // Password for htcondor setup // +optional Password string `json:"password"` }
func (*Config) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.
func (*Config) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTCondor.
func (*HTCondor) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HTCondor) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HTCondor) WorkerNodes ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Node.
func (*Node) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resource.
func (Resource) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resources.
func (*Resources) DeepCopyInto ¶
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.