Logs gathers pod logs
( ctx context.Context, kubeInterface kubernetes.Interface, namespace, podName string, )
| 115 | |
| 116 | // Logs gathers pod logs |
| 117 | func Logs( |
| 118 | ctx context.Context, |
| 119 | kubeInterface kubernetes.Interface, |
| 120 | namespace, podName string, |
| 121 | ) (string, error) { |
| 122 | req := kubeInterface.CoreV1().Pods(namespace).GetLogs(podName, &corev1.PodLogOptions{}) |
| 123 | podLogs, err := req.Stream(ctx) |
| 124 | if err != nil { |
| 125 | return "", err |
| 126 | } |
| 127 | defer func() { |
| 128 | innerErr := podLogs.Close() |
| 129 | if err == nil && innerErr != nil { |
| 130 | err = innerErr |
| 131 | } |
| 132 | }() |
| 133 | |
| 134 | // Create a buffer to hold JSON data |
| 135 | buf := new(bytes.Buffer) |
| 136 | _, err = io.Copy(buf, podLogs) |
| 137 | if err != nil { |
| 138 | return "", err |
| 139 | } |
| 140 | return buf.String(), nil |
| 141 | } |
| 142 | |
| 143 | // Get gets a pod by namespace and name |
| 144 | func Get( |
no test coverage detected