add labels for notebook so that gcp credentials will be injected by webhook (kubeflow/kubeflow#2853)
* add labels for gcp cred * kfctl set flag * review comment * review comment
This commit is contained in:
parent
dc69b63667
commit
9f70ca7f10
|
|
@ -18,6 +18,7 @@ package notebook
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
v1alpha1 "github.com/kubeflow/kubeflow/components/notebook-controller/pkg/apis/notebook/v1alpha1"
|
v1alpha1 "github.com/kubeflow/kubeflow/components/notebook-controller/pkg/apis/notebook/v1alpha1"
|
||||||
|
|
@ -283,6 +284,24 @@ func generateStatefulSet(instance *v1alpha1.Notebook) *appsv1.StatefulSet {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Inject GCP credentials
|
||||||
|
if labels := os.Getenv("POD_LABELS"); labels != "" {
|
||||||
|
// labels should be comma separated labels, e.g. "k1=v1,k2=v2"
|
||||||
|
l := &ss.Spec.Template.ObjectMeta.Labels
|
||||||
|
labelList := strings.Split(labels, ",")
|
||||||
|
for _, label := range labelList {
|
||||||
|
// label is something like k1=v1
|
||||||
|
s := strings.Split(label, "=")
|
||||||
|
if len(s) != 2 {
|
||||||
|
log.Info("Invalid env var POD_LABELS, skip..")
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
// s[0] = k1, s[1] = v1
|
||||||
|
(*l)[s[0]] = s[1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
podSpec := &ss.Spec.Template.Spec
|
podSpec := &ss.Spec.Template.Spec
|
||||||
container := &podSpec.Containers[0]
|
container := &podSpec.Containers[0]
|
||||||
if container.WorkingDir == "" {
|
if container.WorkingDir == "" {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue