...

Source file src/edge-infra.dev/pkg/sds/ien/resource/uirequest.go

Documentation: edge-infra.dev/pkg/sds/ien/resource

     1  package resource
     2  
     3  import (
     4  	corev1 "k8s.io/api/core/v1"
     5  )
     6  
     7  const (
     8  	x11Volume  = "x11"
     9  	x11DirPath = "/tmp/.X11-unix"
    10  
    11  	displayEnvVar = "DISPLAY"
    12  	displayZero   = ":0.0"
    13  )
    14  
    15  // Adds display resources to the pod:
    16  //   - display.edge.ncr.com/ui-request label
    17  //   - /tmp/.X11-unix/ volume
    18  //
    19  // Adds display resources to each container that makes a UI request:
    20  //   - /tmp/.X11-unix/ volume mount
    21  //   - DISPLAY environment variable is set to ":0.0"
    22  func addUIRequestResourcesToPod(template corev1.PodTemplateSpec) corev1.PodTemplateSpec {
    23  	template = addPodResourceRequestLabel(template, UIRequestResource)
    24  	template = addPodHostPathVolume(template, x11Volume, x11DirPath)
    25  
    26  	for idx, container := range template.Spec.Containers {
    27  		for resourceName := range container.Resources.Requests {
    28  			if resourceName != corev1.ResourceName(UIRequestResource) {
    29  				continue
    30  			}
    31  			container = addContainerVolumeMount(container, x11Volume, x11DirPath, false)
    32  			container = addContainerEnvVar(container, displayEnvVar, displayZero)
    33  			template.Spec.Containers[idx] = container
    34  		}
    35  	}
    36  	return template
    37  }
    38  

View as plain text