Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions api/v1/slurmcluster_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -549,6 +549,11 @@ type PopulateJail struct {
// +kubebuilder:default="IfNotPresent"
ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`

// ImagePullSecrets is a list of secret names in the same namespace used for pulling the container's image.
//
// +kubebuilder:validation:Optional
ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

// K8sNodeFilterName defines the Kubernetes node filter name associated with the Slurm node.
// Must correspond to the name of one of [K8sNodeFilter]
//
Expand Down Expand Up @@ -1233,6 +1238,11 @@ type NodeContainer struct {
// +kubebuilder:default="IfNotPresent"
ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`

// ImagePullSecrets is a list of secret names in the same namespace used for pulling the container's image.
//
// +kubebuilder:validation:Optional
ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

// Port defines the port the container exposes
//
// +kubebuilder:validation:Optional
Expand Down
10 changes: 10 additions & 0 deletions api/v1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions api/v1alpha1/activecheck_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,18 @@ type ContainerSpec struct {
// +kubebuilder:validation:Optional
// +kubebuilder:default="unconfined"
AppArmorProfile string `json:"appArmorProfile,omitempty"`

// ImagePullPolicy defines the image pull policy
//
// +kubebuilder:validation:Enum=Always;Never;IfNotPresent
// +kubebuilder:validation:Optional
// +kubebuilder:default="IfNotPresent"
ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`

// ImagePullSecrets is a list of secret names in the same namespace used for pulling the container's image.
//
// +kubebuilder:validation:Optional
ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
}
type K8sJobSpec struct {
JobContainer ContainerSpec `json:"jobContainer,omitempty"`
Expand Down
5 changes: 5 additions & 0 deletions api/v1alpha1/nodeset_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,11 @@ type NodeSetSpec struct {
// +kubebuilder:validation:Optional
CustomInitContainers []corev1.Container `json:"customInitContainers,omitempty"`

// ImagePullSecrets is a list of secret names in the same namespace used for pulling worker pod images.
//
// +kubebuilder:validation:Optional
ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

// endregion Scheduling
}

Expand Down
10 changes: 10 additions & 0 deletions api/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

112 changes: 112 additions & 0 deletions config/crd/bases/slurm.nebius.ai_activechecks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1221,6 +1221,34 @@ spec:
type: array
image:
type: string
imagePullPolicy:
default: IfNotPresent
description: ImagePullPolicy defines the image pull policy
enum:
- Always
- Never
- IfNotPresent
type: string
imagePullSecrets:
description: ImagePullSecrets is a list of secret names in
the same namespace used for pulling the container's image.
items:
description: |-
LocalObjectReference contains enough information to let you locate the
referenced object inside the same namespace.
properties:
name:
default: ""
description: |-
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
type: object
x-kubernetes-map-type: atomic
type: array
volumeMounts:
items:
description: VolumeMount describes a mounting of a Volume
Expand Down Expand Up @@ -3364,6 +3392,34 @@ spec:
type: array
image:
type: string
imagePullPolicy:
default: IfNotPresent
description: ImagePullPolicy defines the image pull policy
enum:
- Always
- Never
- IfNotPresent
type: string
imagePullSecrets:
description: ImagePullSecrets is a list of secret names in
the same namespace used for pulling the container's image.
items:
description: |-
LocalObjectReference contains enough information to let you locate the
referenced object inside the same namespace.
properties:
name:
default: ""
description: |-
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
type: object
x-kubernetes-map-type: atomic
type: array
volumeMounts:
items:
description: VolumeMount describes a mounting of a Volume
Expand Down Expand Up @@ -5547,6 +5603,34 @@ spec:
type: array
image:
type: string
imagePullPolicy:
default: IfNotPresent
description: ImagePullPolicy defines the image pull policy
enum:
- Always
- Never
- IfNotPresent
type: string
imagePullSecrets:
description: ImagePullSecrets is a list of secret names in
the same namespace used for pulling the container's image.
items:
description: |-
LocalObjectReference contains enough information to let you locate the
referenced object inside the same namespace.
properties:
name:
default: ""
description: |-
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
type: object
x-kubernetes-map-type: atomic
type: array
volumeMounts:
items:
description: VolumeMount describes a mounting of a Volume
Expand Down Expand Up @@ -7695,6 +7779,34 @@ spec:
type: array
image:
type: string
imagePullPolicy:
default: IfNotPresent
description: ImagePullPolicy defines the image pull policy
enum:
- Always
- Never
- IfNotPresent
type: string
imagePullSecrets:
description: ImagePullSecrets is a list of secret names in
the same namespace used for pulling the container's image.
items:
description: |-
LocalObjectReference contains enough information to let you locate the
referenced object inside the same namespace.
properties:
name:
default: ""
description: |-
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
type: object
x-kubernetes-map-type: atomic
type: array
volumeMounts:
items:
description: VolumeMount describes a mounting of a Volume
Expand Down
20 changes: 20 additions & 0 deletions config/crd/bases/slurm.nebius.ai_nodesets.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2568,6 +2568,26 @@ spec:
type: boolean
type: object
type: object
imagePullSecrets:
description: ImagePullSecrets is a list of secret names in the same
namespace used for pulling worker pod images.
items:
description: |-
LocalObjectReference contains enough information to let you locate the
referenced object inside the same namespace.
properties:
name:
default: ""
description: |-
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
type: object
x-kubernetes-map-type: atomic
type: array
initialNumberEphemeralNodes:
default: 1
description: |-
Expand Down
Loading
Loading