package resource import ( corev1 "k8s.io/api/core/v1" ) const ( x11Volume = "x11" x11DirPath = "/tmp/.X11-unix" displayEnvVar = "DISPLAY" displayZero = ":0.0" ) // Adds display resources to the pod: // - display.edge.ncr.com/ui-request label // - /tmp/.X11-unix/ volume // // Adds display resources to each container that makes a UI request: // - /tmp/.X11-unix/ volume mount // - DISPLAY environment variable is set to ":0.0" func addUIRequestResourcesToPod(template corev1.PodTemplateSpec) corev1.PodTemplateSpec { template = addPodResourceRequestLabel(template, UIRequestResource) template = addPodHostPathVolume(template, x11Volume, x11DirPath) for idx, container := range template.Spec.Containers { for resourceName := range container.Resources.Requests { if resourceName != corev1.ResourceName(UIRequestResource) { continue } container = addContainerVolumeMount(container, x11Volume, x11DirPath, false) container = addContainerEnvVar(container, displayEnvVar, displayZero) template.Spec.Containers[idx] = container } } return template }