Documentation
¶
Index ¶
- Constants
- func ConfiglessArgs(controller *slinkyv1beta1.Controller) []string
- func DefaultPort(port, def int32) int32
- func EtcSlurmVolume() corev1.Volume
- func JwksConfigProjection(configMap *corev1.ConfigMapKeySelector, path string) corev1.ConfigMapProjection
- func JwtSecretProjection(secret *corev1.SecretKeySelector, path string) corev1.SecretProjection
- func LogFileVolume() corev1.Volume
- func MergeEnvVar(envVarList1, envVarList2 []corev1.EnvVar, sep string) []corev1.EnvVar
- func PidfileVolume() corev1.Volume
- func SlurmClusterWorkerPodDisruptionBudgetName(controllerName string) string
- func SlurmClusterWorkerService(controllerName, namespace string) string
- func SlurmClusterWorkerServiceName(controllerName string) string
- type CommonBuilder
- func (b *CommonBuilder) BuildConfigMap(opts ConfigMapOpts, owner metav1.Object) (*corev1.ConfigMap, error)
- func (b *CommonBuilder) BuildContainer(opts ContainerOpts) corev1.Container
- func (b *CommonBuilder) BuildPodDisruptionBudget(opts PodDisruptionBudgetOpts, owner metav1.Object) (*policyv1.PodDisruptionBudget, error)
- func (b *CommonBuilder) BuildPodTemplate(opts PodTemplateOpts) corev1.PodTemplateSpec
- func (b *CommonBuilder) BuildSecret(opts SecretOpts, owner metav1.Object) (*corev1.Secret, error)
- func (b *CommonBuilder) BuildService(opts ServiceOpts, owner metav1.Object) (*corev1.Service, error)
- func (b *CommonBuilder) BuildTokenSecret(token *slinkyv1beta1.Token) (*corev1.Secret, error)
- func (b *CommonBuilder) GetContainerResourceLimits(container corev1.Container) (int64, int64)
- func (b *CommonBuilder) GetPodResourceLimits(pod corev1.PodSpec) (int64, int64)
- func (b *CommonBuilder) InitconfContainer(container slinkyv1beta1.ContainerWrapper) corev1.Container
- func (b *CommonBuilder) LogfileContainer(container slinkyv1beta1.ContainerWrapper, logfilePath string) corev1.Container
- type ConfigMapOpts
- type ContainerOpts
- type PodDisruptionBudgetOpts
- type PodTemplateOpts
- type SecretOpts
- type ServiceOpts
Constants ¶
View Source
const ( SlurmUser = "slurm" SlurmUserUid = int64(401) SlurmUserGid = SlurmUserUid SlurmConfigVolume = "slurm-config" SlurmConfigDir = "/mnt/slurm" SlurmEtcVolume = "slurm-etc" SlurmEtcMountDir = "/mnt/etc/slurm" SlurmEtcDir = "/etc/slurm" SlurmPidFileVolume = "run" SlurmPidFileDir = "/run" SlurmLogFileVolume = "slurm-logfile" SlurmLogFileDir = "/var/log/slurm" SlurmKeyFile = "slurm.key" AuthType = "auth/slurm" CredType = "cred/slurm" // #nosec G101 AuthInfo = "use_client_ids" AuthAltTypes = "auth/jwt" JwtKeyFile = "jwt.key" JwtKeyPath = SlurmEtcDir + "/" + JwtKeyFile JwtAuthAltParameters = "jwt_key=" + JwtKeyPath JwksKeyFile = "jwks.json" JwksKeyPath = SlurmEtcDir + "/" + JwksKeyFile JwksAuthAltParameters = "jwks=" + JwksKeyPath LogTimeFormat = "iso8601,format_stderr" DevNull = "/dev/null" SlurmLivez = "/livez" SlurmReadyz = "/readyz" )
View Source
const ( SlurmdPort = 6818 SshPort = 22 SlurmdUser = "root" SlurmdLogFile = "slurmd.log" SlurmdLogFilePath = SlurmLogFileDir + "/" + SlurmdLogFile SlurmdSpoolDir = "/var/spool/slurmd" )
Worker
View Source
const ( SlurmctldPort = 6817 SlurmctldLogFile = "slurmctld.log" SlurmctldLogFilePath = SlurmLogFileDir + "/" + SlurmctldLogFile SlurmAuthSocketVolume = "slurm-authsocket" SlurmctldAuthSocketDir = "/run/slurmctld" SlurmctldStateSaveVolume = "statesave" SlurmctldSpoolDir = "/var/spool/slurmctld" )
Controller
View Source
const ( SlurmdbdPort = 6819 SlurmdbdConfFile = "slurmdbd.conf" )
Accounting
View Source
const ( AnnotationAuthSlurmKeyHash = slinkyv1beta1.SlinkyPrefix + "slurm-key-hash" AnnotationAuthJwtKeyHash = slinkyv1beta1.SlinkyPrefix + "jwt-key-hash" )
View Source
const ( AnnotationSshdConfHash = slinkyv1beta1.SlinkyPrefix + "sshd-conf-hash" AnnotationSssdConfHash = slinkyv1beta1.SlinkyPrefix + "sssd-conf-hash" AnnotationSshHostKeysHash = slinkyv1beta1.SlinkyPrefix + "ssh-host-keys-hash" )
View Source
const (
AnnotationDefaultContainer = "kubectl.kubernetes.io/default-container"
)
Variables ¶
This section is empty.
Functions ¶
func ConfiglessArgs ¶
func ConfiglessArgs(controller *slinkyv1beta1.Controller) []string
func DefaultPort ¶
func EtcSlurmVolume ¶
func JwksConfigProjection ¶
func JwksConfigProjection(configMap *corev1.ConfigMapKeySelector, path string) corev1.ConfigMapProjection
func JwtSecretProjection ¶
func JwtSecretProjection(secret *corev1.SecretKeySelector, path string) corev1.SecretProjection
func LogFileVolume ¶
func MergeEnvVar ¶
func PidfileVolume ¶
func SlurmClusterWorkerPodDisruptionBudgetName ¶
slurmClusterWorkerPodDisruptionBudgetName returns the PDB name for all worker nodes in a Slurm cluster Format: "slurm-workers-pdb-{controller-name}"
func SlurmClusterWorkerServiceName ¶
slurmClusterWorkerServiceName returns the service name for all worker nodes in a Slurm cluster Format: "slurm-workers-{controller-name}"
Types ¶
type CommonBuilder ¶
type CommonBuilder struct {
// contains filtered or unexported fields
}
func New ¶
func New(c client.Client) *CommonBuilder
func (*CommonBuilder) BuildConfigMap ¶
func (b *CommonBuilder) BuildConfigMap(opts ConfigMapOpts, owner metav1.Object) (*corev1.ConfigMap, error)
func (*CommonBuilder) BuildContainer ¶
func (b *CommonBuilder) BuildContainer(opts ContainerOpts) corev1.Container
func (*CommonBuilder) BuildPodDisruptionBudget ¶
func (b *CommonBuilder) BuildPodDisruptionBudget(opts PodDisruptionBudgetOpts, owner metav1.Object) (*policyv1.PodDisruptionBudget, error)
func (*CommonBuilder) BuildPodTemplate ¶
func (b *CommonBuilder) BuildPodTemplate(opts PodTemplateOpts) corev1.PodTemplateSpec
func (*CommonBuilder) BuildSecret ¶
func (b *CommonBuilder) BuildSecret(opts SecretOpts, owner metav1.Object) (*corev1.Secret, error)
func (*CommonBuilder) BuildService ¶
func (b *CommonBuilder) BuildService(opts ServiceOpts, owner metav1.Object) (*corev1.Service, error)
func (*CommonBuilder) BuildTokenSecret ¶
func (b *CommonBuilder) BuildTokenSecret(token *slinkyv1beta1.Token) (*corev1.Secret, error)
func (*CommonBuilder) GetContainerResourceLimits ¶
func (b *CommonBuilder) GetContainerResourceLimits(container corev1.Container) (int64, int64)
func (*CommonBuilder) GetPodResourceLimits ¶
func (b *CommonBuilder) GetPodResourceLimits(pod corev1.PodSpec) (int64, int64)
func (*CommonBuilder) InitconfContainer ¶
func (b *CommonBuilder) InitconfContainer(container slinkyv1beta1.ContainerWrapper) corev1.Container
func (*CommonBuilder) LogfileContainer ¶
func (b *CommonBuilder) LogfileContainer(container slinkyv1beta1.ContainerWrapper, logfilePath string) corev1.Container
type ConfigMapOpts ¶
type ConfigMapOpts struct {
Key types.NamespacedName
Metadata slinkyv1beta1.Metadata
Data map[string]string
BinaryData map[string][]byte
Immutable bool
}
type PodDisruptionBudgetOpts ¶
type PodDisruptionBudgetOpts struct {
Key types.NamespacedName
Metadata slinkyv1beta1.Metadata
policyv1.PodDisruptionBudgetSpec
}
type PodTemplateOpts ¶
type PodTemplateOpts struct {
Key types.NamespacedName
Metadata slinkyv1beta1.Metadata
Base corev1.PodSpec
Merge corev1.PodSpec
}
type SecretOpts ¶
type SecretOpts struct {
Key types.NamespacedName
Metadata slinkyv1beta1.Metadata
Data map[string][]byte
StringData map[string]string
Immutable bool
}
type ServiceOpts ¶
type ServiceOpts struct {
Key types.NamespacedName
Metadata slinkyv1beta1.Metadata
corev1.ServiceSpec
Selector map[string]string
Headless bool
}
Click to show internal directories.
Click to hide internal directories.