@@ -330,20 +330,37 @@ func (r *KbsConfigReconciler) newKbsDeployment(ctx context.Context) *appsv1.Depl
330330 kbsDeploymentType = confidentialcontainersorgv1alpha1 .DeploymentTypeMicroservices
331331 }
332332
333- // RunAsUser (root) 0
334- runAsUser := int64 (0 )
335-
336333 var volumes []corev1.Volume
337334 var kbsVM []corev1.VolumeMount
338335 var asVM []corev1.VolumeMount
339336 var rvpsVM []corev1.VolumeMount
340337
338+ // The paths /opt/confidential-container and /opt/confidential-container/kbs/repository/default
339+ // are mounted as a RW volume in memory to allow trustee components
340+ // to have full access to the filesystem
341+ // confidential-containers
342+ volume , err := r .createConfidentialContainersVolume (confidentialContainers )
343+ if err != nil {
344+ return nil
345+ }
346+ volumes = append (volumes , * volume )
347+ volumeMount := createVolumeMount (volume .Name , filepath .Join (rootPath , volume .Name ))
348+ kbsVM = append (kbsVM , volumeMount )
349+ // default repo
350+ volume , err = r .createDefaultRepositoryVolume (defaultRepository )
351+ if err != nil {
352+ return nil
353+ }
354+ volumes = append (volumes , * volume )
355+ volumeMount = createVolumeMount (volume .Name , filepath .Join (repositoryPath , volume .Name ))
356+ kbsVM = append (kbsVM , volumeMount )
357+
341358 // kbs-config
342- volume , err : = r .createKbsConfigMapVolume (ctx , "kbs-config" )
359+ volume , err = r .createKbsConfigMapVolume (ctx , "kbs-config" )
343360 if err != nil {
344361 return nil
345362 }
346- volumeMount : = createVolumeMount (volume .Name , filepath .Join (kbsDefaultConfigPath , volume .Name ))
363+ volumeMount = createVolumeMount (volume .Name , filepath .Join (kbsDefaultConfigPath , volume .Name ))
347364 volumes = append (volumes , * volume )
348365 kbsVM = append (kbsVM , volumeMount )
349366
@@ -424,13 +441,13 @@ func (r *KbsConfigReconciler) newKbsDeployment(ctx context.Context) *appsv1.Depl
424441 rvpsVM = append (rvpsVM , volumeMount )
425442 }
426443
427- containers := []corev1.Container {r .buildKbsContainer (kbsVM , runAsUser )}
444+ containers := []corev1.Container {r .buildKbsContainer (kbsVM )}
428445
429446 if kbsDeploymentType == confidentialcontainersorgv1alpha1 .DeploymentTypeMicroservices {
430447 // build AS container
431- containers = append (containers , r .buildAsContainer (asVM , runAsUser ))
448+ containers = append (containers , r .buildAsContainer (asVM ))
432449 // build RVPS container
433- containers = append (containers , r .buildRvpsContainer (rvpsVM , runAsUser ))
450+ containers = append (containers , r .buildRvpsContainer (rvpsVM ))
434451 }
435452
436453 // Create the deployment
@@ -464,7 +481,7 @@ func (r *KbsConfigReconciler) newKbsDeployment(ctx context.Context) *appsv1.Depl
464481 return deployment
465482}
466483
467- func (r * KbsConfigReconciler ) buildAsContainer (volumeMounts []corev1.VolumeMount , runAsUser int64 ) corev1.Container {
484+ func (r * KbsConfigReconciler ) buildAsContainer (volumeMounts []corev1.VolumeMount ) corev1.Container {
468485 asImageName := os .Getenv ("AS_IMAGE_NAME" )
469486 if asImageName == "" {
470487 asImageName = DefaultAsImageName
@@ -490,16 +507,12 @@ func (r *KbsConfigReconciler) buildAsContainer(volumeMounts []corev1.VolumeMount
490507 },
491508 // Add command to start AS
492509 Command : asCommand ,
493- // Add SecurityContext
494- SecurityContext : & corev1.SecurityContext {
495- RunAsUser : & runAsUser ,
496- },
497510 // Add volume mount for config
498511 VolumeMounts : volumeMounts ,
499512 }
500513}
501514
502- func (r * KbsConfigReconciler ) buildRvpsContainer (volumeMounts []corev1.VolumeMount , runAsUser int64 ) corev1.Container {
515+ func (r * KbsConfigReconciler ) buildRvpsContainer (volumeMounts []corev1.VolumeMount ) corev1.Container {
503516 rvpsImageName := os .Getenv ("RVPS_IMAGE_NAME" )
504517 if rvpsImageName == "" {
505518 rvpsImageName = DefaultRvpsImageName
@@ -523,16 +536,12 @@ func (r *KbsConfigReconciler) buildRvpsContainer(volumeMounts []corev1.VolumeMou
523536 },
524537 // Add command to start RVPS
525538 Command : rvpsCommand ,
526- // Add SecurityContext
527- SecurityContext : & corev1.SecurityContext {
528- RunAsUser : & runAsUser ,
529- },
530539 // Add volume mount for config
531540 VolumeMounts : volumeMounts ,
532541 }
533542}
534543
535- func (r * KbsConfigReconciler ) buildKbsContainer (volumeMounts []corev1.VolumeMount , runAsUser int64 ) corev1.Container {
544+ func (r * KbsConfigReconciler ) buildKbsContainer (volumeMounts []corev1.VolumeMount ) corev1.Container {
536545 // Get Image Name from env variable if set
537546 imageName := os .Getenv ("KBS_IMAGE_NAME" )
538547 if imageName == "" {
@@ -557,10 +566,6 @@ func (r *KbsConfigReconciler) buildKbsContainer(volumeMounts []corev1.VolumeMoun
557566 },
558567 // Add command to start KBS
559568 Command : command ,
560- // Add SecurityContext
561- SecurityContext : & corev1.SecurityContext {
562- RunAsUser : & runAsUser ,
563- },
564569 // Add volume mount for KBS config
565570 VolumeMounts : volumeMounts ,
566571 /* TODO commented out because not configurable yet
0 commit comments