github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/k8s/pod.go (about)

     1  package k8s
     2  
     3  import (
     4  	"context"
     5  	"io"
     6  	"time"
     7  
     8  	v1 "k8s.io/api/core/v1"
     9  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
    10  
    11  	"github.com/tilt-dev/tilt/internal/container"
    12  )
    13  
    14  func (k *K8sClient) ContainerLogs(ctx context.Context, pID PodID, cName container.Name, n Namespace, startWatchTime time.Time) (io.ReadCloser, error) {
    15  	options := &v1.PodLogOptions{
    16  		Container: cName.String(),
    17  		Follow:    true,
    18  		SinceTime: &metav1.Time{
    19  			Time: startWatchTime,
    20  		},
    21  	}
    22  	req := k.core.Pods(n.String()).GetLogs(pID.String(), options)
    23  	return req.Stream(ctx)
    24  }
    25  
    26  func PodIDFromPod(pod *v1.Pod) PodID {
    27  	return PodID(pod.ObjectMeta.Name)
    28  }