@@ -232,23 +232,41 @@ func (s *server) GetNotebooks(w http.ResponseWriter, r *http.Request) {
232
232
}
233
233
234
234
func (s * server ) handleVolume (ctx context.Context , req volumerequest , notebook * kubeflowv1.Notebook ) error {
235
+ var pvc = corev1.PersistentVolumeClaim {}
235
236
if req .Type == VolumeTypeNew {
236
- // Create the PVC
237
- pvc := corev1.PersistentVolumeClaim {
238
- ObjectMeta : v1.ObjectMeta {
239
- Name : req .Name ,
240
- Namespace : notebook .Namespace ,
241
- },
242
- Spec : corev1.PersistentVolumeClaimSpec {
243
- AccessModes : []corev1.PersistentVolumeAccessMode {req .Mode },
244
- Resources : corev1.ResourceRequirements {
245
- Requests : corev1.ResourceList {
246
- corev1 .ResourceStorage : req .Size ,
237
+ if _ , ok := notebook .Labels ["notebook.statcan.gc.ca/protected-b" ]; ok {
238
+ pvc = corev1.PersistentVolumeClaim {
239
+ ObjectMeta : v1.ObjectMeta {
240
+ Name : req .Name ,
241
+ Namespace : notebook .Namespace ,
242
+ Labels : map [string ]string {"data.statcan.gc.ca/classification" : "protected-b" },
243
+ },
244
+ Spec : corev1.PersistentVolumeClaimSpec {
245
+ AccessModes : []corev1.PersistentVolumeAccessMode {req .Mode },
246
+ Resources : corev1.ResourceRequirements {
247
+ Requests : corev1.ResourceList {
248
+ corev1 .ResourceStorage : req .Size ,
249
+ },
247
250
},
248
251
},
249
- },
252
+ }
253
+ } else {
254
+ // Create the PVC
255
+ pvc = corev1.PersistentVolumeClaim {
256
+ ObjectMeta : v1.ObjectMeta {
257
+ Name : req .Name ,
258
+ Namespace : notebook .Namespace ,
259
+ },
260
+ Spec : corev1.PersistentVolumeClaimSpec {
261
+ AccessModes : []corev1.PersistentVolumeAccessMode {req .Mode },
262
+ Resources : corev1.ResourceRequirements {
263
+ Requests : corev1.ResourceList {
264
+ corev1 .ResourceStorage : req .Size ,
265
+ },
266
+ },
267
+ },
268
+ }
250
269
}
251
-
252
270
// Add the storage class, if set and not set to an "empty" value
253
271
if req .Class != "" && req .Class != "{none}" && req .Class != "{empty}" {
254
272
pvc .Spec .StorageClassName = & req .Class
@@ -478,14 +496,14 @@ func (s *server) NewNotebook(w http.ResponseWriter, r *http.Request) {
478
496
//Add Language
479
497
//Validate that the language format is valid (language[_territory])
480
498
match , err := regexp .MatchString ("^[[:alpha:]]{2}(_[[:alpha:]]{2})?$" , req .Language )
481
- if ( err != nil || ! match ) {
482
- var errLanguageFormat = errors .New ("Error: the value of KF_LANG environment variable ('" + req .Language + "') is not a valid format (e.g 'en', 'en_US', ...)" )
483
- s .error (w , r , errLanguageFormat )
484
- return
485
- }
499
+ if err != nil || ! match {
500
+ var errLanguageFormat = errors .New ("Error: the value of KF_LANG environment variable ('" + req .Language + "') is not a valid format (e.g 'en', 'en_US', ...)" )
501
+ s .error (w , r , errLanguageFormat )
502
+ return
503
+ }
486
504
notebook .Spec .Template .Spec .Containers [0 ].Env = append (notebook .Spec .Template .Spec .Containers [0 ].Env , corev1.EnvVar {
487
- Name : EnvKfLanguage ,
488
- Value : req .Language ,
505
+ Name : EnvKfLanguage ,
506
+ Value : req .Language ,
489
507
})
490
508
491
509
log .Printf ("creating notebook %q for %q" , notebook .ObjectMeta .Name , namespace )
0 commit comments