1
0
mirror of https://github.com/amir20/dozzle.git synced 2025-12-25 23:03:47 +01:00

feat: adds labels support to k8s (#3642)

This commit is contained in:
Amir Raminfar
2025-02-18 12:15:19 -08:00
committed by GitHub
parent 21fb03c9d0
commit 4022b510e2

View File

@@ -102,7 +102,19 @@ func podToContainers(pod *corev1.Pod) []container.Container {
}
func (k *K8sClient) ListContainers(ctx context.Context, labels container.ContainerLabels) ([]container.Container, error) {
pods, err := k.Clientset.CoreV1().Pods(k.namespace).List(ctx, metav1.ListOptions{})
selector := ""
if labels.Exists() {
for key, values := range labels {
for _, value := range values {
if selector != "" {
selector += ","
}
selector += fmt.Sprintf("%s=%s", key, value)
}
}
log.Debug().Str("selector", selector).Msg("Listing containers with labels")
}
pods, err := k.Clientset.CoreV1().Pods(k.namespace).List(ctx, metav1.ListOptions{LabelSelector: selector})
if err != nil {
return nil, err
}
@@ -158,10 +170,8 @@ func (k *K8sClient) ContainerLogs(ctx context.Context, id string, since time.Tim
stream = "Stdout"
case container.STDERR:
stream = "Stderr"
case container.STDALL:
stream = "All"
default:
return nil, fmt.Errorf("unknown stream type %s", stdType)
}