package resource import ( corev1 "k8s.io/api/core/v1" ) const ( xdgRuntimeVol = "xdg-runtime" xdgRuntimeDirEnvVar = "XDG_RUNTIME_DIR" xdgRuntimeDir = "/tmp/xdg_runtime" pulseServerEnvVar = "PULSE_SERVER" pulseServerPath = xdgRuntimeDir + "/pa.socket" ) // Adds audio resources to the pod: // - audio.edge.ncr.com/audio-request label // - /tmp/xdg_runtime/ volume // // Adds audio resources to each container that makes an audio request: // - /tmp/xdg_runtime/ volume mount // - XDG_RUNTIME_DIR and PULSE_SERVER environment variables func addAudioRequestResourcesToPod(template corev1.PodTemplateSpec) corev1.PodTemplateSpec { template = addPodResourceRequestLabel(template, AudioRequestResource) template = addPodHostPathVolume(template, xdgRuntimeVol, xdgRuntimeDir) for idx, container := range template.Spec.Containers { for resourceName := range container.Resources.Requests { if resourceName != corev1.ResourceName(AudioRequestResource) { continue } container = addContainerVolumeMount(container, xdgRuntimeVol, xdgRuntimeDir, false) container = addContainerEnvVar(container, xdgRuntimeDirEnvVar, xdgRuntimeDir) container = addContainerEnvVar(container, pulseServerEnvVar, pulseServerPath) template.Spec.Containers[idx] = container } } return template }