-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdefaults.go
33 lines (26 loc) · 1001 Bytes
/
defaults.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package main
import (
"fmt"
kubeflowv1 "github.com/StatCan/kubeflow-controller/pkg/apis/kubeflowcontroller/v1"
kubeflowv1alpha1 "github.com/StatCan/kubeflow-controller/pkg/apis/kubeflowcontroller/v1alpha1"
)
// NewPodDefaultFunc represents the function called to create a new PodDefault.
type NewPodDefaultFunc func(profile *kubeflowv1.Profile) *kubeflowv1alpha1.PodDefault
var (
// PodDefaults contains the map of registered PodDefaults.
PodDefaults = make(map[string]NewPodDefaultFunc)
)
// RegisterPodDefault registers a new PodDefault.
// NOTE: The object name returned MUST match the registered name.
func RegisterPodDefault(name string, callback NewPodDefaultFunc) error {
if _, ok := PodDefaults[name]; ok {
return fmt.Errorf("PodDefault %q is already registered", name)
}
PodDefaults[name] = callback
return nil
}
func init() {
RegisterPodDefault("minio-mounts", func(profile *kubeflowv1.Profile) *kubeflowv1alpha1.PodDefault {
return &kubeflowv1alpha1.PodDefault{}
})
}