in internal/task/run_job.go [114:140]
func (tr *taskRunner) followJobLogs(
ctx context.Context,
job *k8sbatchv1.Job,
) error {
selector, err := k8smetav1.LabelSelectorAsSelector(job.Spec.Selector)
if err != nil {
return fmt.Errorf("invalid job selector: %w", err)
}
addPrefix := false
if stdlib.ValOrZero(job.Spec.Parallelism) > 1 {
// there might be multiple pods, add prefix to distinguish them
addPrefix = true
}
return kubelib.FollowLogs(
ctx,
tr.kubeClient,
&kubelib.FollowLogsParams{
Namespace: job.Namespace,
Selector: selector,
Container: containerNameRunner,
AddPrefix: addPrefix,
Output: os.Stderr,
},
)
}