github.com/redhat-appstudio/e2e-tests@v0.0.0-20240520140907-9709f6f59323/pkg/clients/tekton/containers.go (about)

     1  package tekton
     2  
     3  import (
     4  	"context"
     5  	"io"
     6  
     7  	corev1 "k8s.io/api/core/v1"
     8  )
     9  
    10  // fetchContainerLog fetches logs of a given container.
    11  func (t *TektonController) fetchContainerLog(podName, containerName, namespace string) (string, error) {
    12  	podClient := t.KubeInterface().CoreV1().Pods(namespace)
    13  	req := podClient.GetLogs(podName, &corev1.PodLogOptions{Container: containerName})
    14  	readCloser, err := req.Stream(context.Background())
    15  	log := ""
    16  	if err != nil {
    17  		return log, err
    18  	}
    19  	defer readCloser.Close()
    20  	b, err := io.ReadAll(readCloser)
    21  	if err != nil {
    22  		return log, err
    23  	}
    24  	return string(b[:]), nil
    25  }